maint: avoid spurious "make sc_maint" failure
[gnulib.git] / ChangeLog
1 2012-04-16  Jim Meyering  <meyering@redhat.com>
2
3         maint: avoid spurious "make sc_maint" failure
4         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
5         exempt all *.class file names, for lib/javaversion.class.
6
7 2012-04-15  Bruno Haible  <bruno@clisp.org>
8
9         lseek: Make configure test independent of environment.
10         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
11         Windows, we know that lseek() on pipes is broken; skip the runtime
12         test.
13
14 2012-04-14  Bruno Haible  <bruno@clisp.org>
15
16         stat: Bypass buggy override in mingw64.
17         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
18         * lib/stat.c (stat) [mingw64]: Define to _stat.
19         * doc/posix-functions/stat.texi: Mention mingw64 bug.
20
21 2012-04-14  Bruno Haible  <bruno@clisp.org>
22
23         pathmax: Fix compilation error on MSVC 9.
24         * modules/pathmax (Depends-on): Add unistd.
25
26 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
27
28         README: document pointer comparison assumption
29         * README (Portability guidelines): Document assumption about
30         pointer comparisons, in response to a recent bug-gnulib comment by
31         Jeffrey Kegler.
32
33 2012-04-12  Bruno Haible  <bruno@clisp.org>
34
35         Tests for module 'getrusage'.
36         * modules/getrusage-tests: New file.
37         * tests/test-getrusage.c: New file.
38
39         New module 'getrusage'.
40         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
41         warn-on-use.h.
42         (getrusage): New declaration.
43         * lib/getrusage.c: New file.
44         * m4/getrusage.m4: New file.
45         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
46         is declared.
47         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
48         HAVE_GETRUSAGE.
49         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
50         snippet/c++defs, snippet/warn-on-use.
51         (Makefile.am): Update generation of sys/resource.h. Substitute
52         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
53         * modules/getrusage: New file.
54         * doc/posix-functions/getrusage.texi: Mention the new module.
55
56 2012-04-12  Bruno Haible  <bruno@clisp.org>
57
58         Tests for module 'sys_resource'.
59         * modules/sys_resource-tests: New file.
60         * tests/test-sys_resource.c: New file.
61
62         New module 'sys_resource'.
63         * lib/sys_resource.in.h: New file.
64         * m4/sys_resource_h.m4: New file.
65         * modules/sys_resource: New file.
66         * doc/posix-headers/sys_resource.texi: Mention the new module.
67
68 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
69
70         ioctl: Fix compilation error on mingw.
71         * lib/ioctl.c: Include <windows.h>.
72         Also reported by Ray Satiro <raysatiro@yahoo.com>.
73
74 2012-04-04  Jim Meyering  <meyering@redhat.com>
75
76         regex: correct #pragma guard expression
77         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
78         not 4.3.  Correct its cpp guard expression.
79
80 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
81
82         regex: remove unnecessary type punning
83         Problem reported by Vladimir Serbinenko in
84         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00006.html>.
85         * lib/regex.h (struct re_pattern_buffer): Change the type of
86         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
87         Fix comment to match code.
88         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
89         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
90         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
91         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
92         (set_regs):
93         Omit no-longer-necessary casts.
94
95 2012-04-03  Bruno Haible  <bruno@clisp.org>
96
97         Tests for module 'ilogbl'.
98         * modules/ilogbl-tests: New file.
99         * tests/test-ilogbl.c: New file.
100
101         New module 'ilogbl'.
102         * lib/math.in.h (ilogbl): New declaration.
103         * lib/ilogbl.c: New file.
104         * m4/ilogbl.m4: New file.
105         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
106         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
107         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
108         Split sed invocation, to avoid the limit of 100 substitutions of
109         HP-UX 'sed'.
110         * modules/ilogbl: New file.
111         * tests/test-math-c++.cc: Check the declaration of ilogbl.
112         * doc/posix-functions/ilogbl.texi: Mention the new module.
113
114 2012-04-03  Bruno Haible  <bruno@clisp.org>
115
116         Tests for module 'ilogbf'.
117         * modules/ilogbf-tests: New file.
118         * tests/test-ilogbf.c: New file.
119
120         New module 'ilogbf'.
121         * lib/math.in.h (ilogbf): New declaration.
122         * lib/ilogbf.c: New file.
123         * m4/ilogbf.m4: New file.
124         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
125         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
126         REPLACE_ILOGBF.
127         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
128         REPLACE_ILOGBF.
129         * modules/ilogbf: New file.
130         * tests/test-math-c++.cc: Check the declaration of ilogbf.
131         * doc/posix-functions/ilogbf.texi: Mention the new module.
132
133 2012-04-03  Bruno Haible  <bruno@clisp.org>
134
135         Tests for module 'ilogb'.
136         * modules/ilogb-tests: New file.
137         * tests/test-ilogb.c: New file.
138         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
139         tests/test-logb-ieee.h.
140
141         New module 'ilogb'.
142         * lib/math.in.h (ilogb): New declaration.
143         * lib/ilogb.c: New file.
144         * m4/ilogb.m4: New file.
145         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
146         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
147         REPLACE_ILOGB.
148         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
149         REPLACE_ILOGB.
150         * modules/ilogb: New file.
151         * tests/test-math-c++.cc: Check the declaration of ilogb.
152         * doc/posix-functions/ilogb.texi: Mention the new module.
153
154 2012-04-03  Bruno Haible  <bruno@clisp.org>
155
156         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
157         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
158         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
159         (main): Check their values.
160         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
161         problem.
162
163 2012-04-03  Bruno Haible  <bruno@clisp.org>
164
165         Tests for module 'logbl-ieee'.
166         * modules/logbl-ieee-tests: New file.
167         * tests/test-logbl-ieee.c: New file.
168
169         New module 'logbl-ieee'.
170         * modules/logbl-ieee: New file.
171
172         Tests for module 'logb-ieee'.
173         * modules/logb-ieee-tests: New file.
174         * tests/test-logb-ieee.c: New file.
175
176         New module 'logb-ieee'.
177         * modules/logb-ieee: New file.
178
179         Tests for module 'logbf-ieee'.
180         * modules/logbf-ieee-tests: New file.
181         * tests/test-logbf-ieee.c: New file.
182         * tests/test-logb-ieee.h: New file.
183
184         New module 'logbf-ieee'.
185         * modules/logbf-ieee: New file.
186
187 2012-04-03  Bruno Haible  <bruno@clisp.org>
188
189         Tests for module 'logbl'.
190         * modules/logbl-tests: New file.
191         * tests/test-logbl.c: New file.
192
193         New module 'logbl'.
194         * lib/math.in.h (logbl): New declaration.
195         * lib/logbl.c: New file.
196         * m4/logbl.m4: New file.
197         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
198         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
199         REPLACE_LOGBL.
200         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
201         REPLACE_LOGBL.
202         * modules/logbl: New file.
203         * tests/test-math-c++.cc: Check the declaration of logbl.
204         * doc/posix-functions/logbl.texi: Mention the new module.
205
206 2012-04-02  Bruno Haible  <bruno@clisp.org>
207
208         Tests for module 'logbf'.
209         * modules/logbf-tests: New file.
210         * tests/test-logbf.c: New file.
211
212         New module 'logbf'.
213         * lib/math.in.h (logbf): New declaration.
214         * lib/logbf.c: New file.
215         * m4/logbf.m4: New file.
216         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
217         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
218         REPLACE_LOGBF.
219         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
220         REPLACE_LOGBF.
221         * modules/logbf: New file.
222         * tests/test-math-c++.cc: Check the declaration of logbf.
223         * doc/posix-functions/logbf.texi: Mention the new module.
224
225 2012-04-02  Bruno Haible  <bruno@clisp.org>
226
227         logb tests: More tests.
228         * tests/test-logb.h: New file, based on tests/test-logb.c and
229         tests/test-frexp.h.
230         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
231         (main): Just invoke test_function.
232         * modules/logb-tests (Files): Add tests/test-logb.h,
233         tests/minus-zero.h, tests/randomd.c.
234         (Makefile.am): Add randomd.c to test_logb_SOURCES.
235
236         logb: Provide replacement and workarounds.
237         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
238         is 1.
239         * lib/logb.c: New file.
240         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
241         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
242         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
243         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
244         * modules/logb (Files): Add lib/logb.c.
245         (Depends-on): Add isfinite, frexp, isnand.
246         (configure.ac): Compile the replacement code logb.c if needed.
247         * tests/test-math-c++.cc: Check the declaration of logb.
248         * doc/posix-functions/logb.texi: Mention the replacement and the bug
249         with subnormal numbers.
250
251 2012-04-02  Bruno Haible  <bruno@clisp.org>
252
253         log10* tests: Speed up.
254         * tests/test-log10.h (test_function): Reduce amount of random numbers
255         to test.
256
257 2012-04-01  Bruno Haible  <bruno@clisp.org>
258
259         logf-ieee: Fix test whether logf works.
260         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
261
262 2012-04-01  Bruno Haible  <bruno@clisp.org>
263
264         log10l: Work around log10l-ieee test failure on IRIX 6.5.
265         * lib/log10l.c: Include <float.h>
266         (log10l): On IRIX, normalize the +Infinity value.
267         * modules/log10l (Depends-on): Add 'float'.
268         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
269         +Infinity.
270
271         log10f-ieee: Work around test failure on NetBSD 5.1.
272         * m4/log10f-ieee.m4: New file.
273         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
274         test whether log10f works with a negative argument. Replace it if not.
275         * lib/log10f.c (log10f): For negative arguments, return NaN.
276         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
277         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
278         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
279
280         log10f-ieee: Work around test failure on Solaris 9.
281         * modules/log10f-ieee (Depends-on): Add log10-ieee.
282         (configure.ac): Require gl_FUNC_LOG10F.
283
284         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
285         * m4/log10-ieee.m4: New file.
286         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
287         whether log10 works with a negative argument. Replace it if not.
288         * lib/log10.c (log10): For negative arguments, return NaN.
289         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
290         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
291         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
292
293         Tests for module 'log10l-ieee'.
294         * modules/log10l-ieee-tests: New file.
295         * tests/test-log10l-ieee.c: New file.
296
297         New module 'log10l-ieee'.
298         * modules/log10l-ieee: New file.
299
300         Tests for module 'log10-ieee'.
301         * modules/log10-ieee-tests: New file.
302         * tests/test-log10-ieee.c: New file.
303
304         New module 'log10-ieee'.
305         * modules/log10-ieee: New file.
306
307         Tests for module 'log10f-ieee'.
308         * modules/log10f-ieee-tests: New file.
309         * tests/test-log10f-ieee.c: New file.
310         * tests/test-log10-ieee.h: New file.
311
312         New module 'log10f-ieee'.
313         * modules/log10f-ieee: New file.
314
315 2012-04-01  Bruno Haible  <bruno@clisp.org>
316
317         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
318         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
319         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
320         workaround.
321         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
322         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
323         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
324         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
325         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
326         (Depends-on): Update conditions.
327         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
328         IRIX 6.5, OSF/1 5.1 problems.
329
330 2012-04-01  Bruno Haible  <bruno@clisp.org>
331
332         log10f: Work around OSF/1 5.1 bug.
333         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
334         * lib/log10f.c (log10f): If logf exists, use it and provide just the
335         workaround.
336         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
337         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
338         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
339         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
340         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
341         (Depends-on): Update conditions.
342         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
343
344 2012-04-01  Bruno Haible  <bruno@clisp.org>
345
346         log10: Work around OSF/1 5.1 bug.
347         * lib/math.in.h (log10): New declaration.
348         * lib/log10.c: New file.
349         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
350         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
351         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
352         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
353         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
354         * modules/log10 (Files): Add lib/log10.c.
355         (Depends-on): Add math.
356         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
357         * tests/test-math-c++.cc: Check the declaration of log10.
358         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
359
360 2012-03-31  Bruno Haible  <bruno@clisp.org>
361
362         log10l tests: More tests.
363         * modules/log10l-tests (Files): Add tests/test-log10l.h,
364         tests/minus-zero.h, tests/randoml.c.
365         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
366         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
367         (main): Invoke test_function.
368
369         log10f tests: More tests.
370         * modules/log10f-tests (Files): Add tests/test-log10.h,
371         tests/minus-zero.h, tests/randomf.c.
372         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
373         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
374         (main): Invoke test_function.
375
376         log10 tests: More tests.
377         * tests/test-log10.h: New file.
378         * modules/log10-tests (Files): Add tests/test-log10.h,
379         tests/minus-zero.h, tests/randomd.c.
380         (Makefile.am): Add randomd.c to test_log10_SOURCES.
381         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
382         (main): Invoke test_function.
383
384 2012-03-31  Simon Josefsson  <simon@josefsson.org>
385
386         fflush: Fix syntax error.
387         * lib/fflush.c: Include unused-parameter.h, needed for
388         _GL_UNUSED_PARAMETER.
389         * modules/fflush (Depends-on): Add snippet/unused-parameter.
390
391 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
392
393         regex: pacify GCC when compiling GRUB
394         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
395         a diagnostic.  Reported by Vladimir Serbinenko in
396         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00163.html>.
397
398 2012-03-29  Eric Blake  <eblake@redhat.com>
399
400         stdio: don't assume gets any more
401         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
402         support.
403         * modules/stdio (Makefile.am): Likewise.
404         * lib/stdio-read.c (gets): Likewise.
405         * tests/test-stdio-c++.cc: Likewise.
406         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
407         * lib/stdio.in.h (gets): Make warning occur in more places.
408         * doc/posix-functions/gets.texi (gets): Update documentation.
409         Reported by Christer Solskogen.
410
411         maint.mk: fix syntax checks without exclusions
412         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
413         Reported by Daniel P. Berrange.
414
415         strerror_r: avoid compiler warning
416         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
417         level.
418
419         fflush: avoid compiler warning
420         * lib/fflush.c (update_fpos_cache): Mark variables that are
421         potentially unused.
422
423 2012-03-25  Bruno Haible  <bruno@clisp.org>
424
425         Tests for module 'localeconv'.
426         * modules/localeconv-tests: New file.
427         * tests/test-localeconv.c: New file.
428
429         New module 'localeconv'.
430         * lib/locale.in.h (localeconv): New declaration.
431         * lib/localeconv.c: New file.
432         * m4/localeconv.m4: New file.
433         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
434         REPLACE_LOCALECONV.
435         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
436         REPLACE_LOCALECONV.
437         * modules/localeconv: New file.
438         * modules/nl_langinfo (Depends-on): Add localeconv.
439         * modules/human (Depends-on): Likewise.
440         * doc/posix-functions/localeconv.texi: Mention the new module.
441
442 2012-03-25  Bruno Haible  <bruno@clisp.org>
443
444         locale: Provide a complete 'struct lconv'.
445         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
446         'struct lconv' does not contain int_p_cs_precedes.
447         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
448         * doc/posix-headers/locale.texi: Update.
449
450         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
451         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
452         * doc/posix-headers/locale.texi: Update.
453
454         locale: Provide a working 'struct lconv'.
455         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
456         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
457         'struct lconv' does not even contain decimal_point.
458         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
459         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
460         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
461         * doc/posix-headers/locale.texi: Mention the problems with
462         'struct lconv'.
463         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
464
465 2012-03-24  Bruno Haible  <bruno@clisp.org>
466
467         Enable common subexpression optimization in GCC.
468         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
469         macros.
470         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
471         GCC attribute 'const'.
472         (uc_locale_language): Declare with GCC attribute 'pure'.
473         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
474         with GCC attribute 'const'.
475         * lib/unictype.in.h (uc_is_general_category_withtable,
476         uc_combining_class, uc_combining_class_name,
477         uc_combining_class_long_name, uc_bidi_class_name,
478         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
479         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
480         uc_decimal_value, uc_digit_value, uc_numeric_value,
481         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
482         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
483         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
484         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
485         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
486         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
487         Declare with GCC attribute 'const'.
488         (uc_general_category_name, uc_general_category_long_name,
489         uc_general_category_byname, uc_general_category,
490         uc_is_general_category, uc_combining_class_byname,
491         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
492         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
493         Declare with GCC attribute 'pure'.
494         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
495         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
496         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
497         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
498         with GCC attribute 'pure'.
499         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
500         'const'.
501         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
502         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
503         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
504         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
505         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
506         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
507         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
508         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
509         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
510         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
511         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
512         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
513         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
514         GCC attribute 'pure'.
515         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
516         'const'.
517         * lib/uniwidth.in.h (uc_width): Simplify declaration.
518         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
519         u32_strwidth): Declare with GCC attribute 'pure'.
520
521         Enable common subexpression optimization in GCC.
522         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
523         (alphasort): Declare with GCC attribute 'pure'.
524         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
525         (atoll): Declare with GCC attribute 'pure'.
526         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
527         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
528         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
529         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
530         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
531         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
532         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
533
534 2012-03-24  Bruno Haible  <bruno@clisp.org>
535
536         gnulib-tool: Avoid unintended error output from 'cmp'.
537         * gnulib-tool (func_add_file, func_update_file, func_import): Use
538         "cmp -s", not "cmp > /dev/null".
539
540 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
541
542         gnulib-tool: fix imprecise comments w.r.t. an automake bug
543
544         It's not just Automake versions < 1.9b that creates an empty
545         pkgdatadir at installation time if pkgdata_DATA is specified
546         to empty; modern automake versions do this as well, at least
547         until automake 1.11.4 (not yet released at the moment of writing,
548         but soon to appear).  That behaviour was generally considered a
549         feature rather than a bug, at least until this discussion:
550         <http://lists.gnu.org/archive/html/automake/2012-03/msg00014.html>
551
552         See also automake bugs #10997 and #11030.
553
554         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
555         reference to relevant automake bug numbers.
556         (func_emit_tests_Makefile_am): Likewise.
557
558 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
559
560         announce-gen: use Digest::SHA when possible
561         * build-aux/announce-gen: Use Digest::SHA when possible, falling
562         back to Digest::SHA1 if necessary.
563
564 2012-03-20  Jim Meyering  <meyering@redhat.com>
565
566         tests: avoid gcc warnings about argv vs. const initializers
567         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
568         warnings about discarding 'const' qualifier from pointer target type.
569         * tests/test-posix_spawn2.c (main): Likewise.
570
571 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
572
573         README-release: simplify slightly
574         * top/README-release: Run "git checkout master" only once.
575
576 2012-03-15  Mark Wielaard  <mark@klomp.org>
577
578         git-merge-changelog: add specific example on how to use with hg.
579         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
580
581 2012-03-18  Mark Wielaard  <mark@klomp.org>
582
583         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
584
585 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
586
587         git-version-gen: don't let "prefix" envvar cause trouble
588         * build-aux/git-version-gen (prefix): Initialize properly,
589         so as not to use a value specified via the environment.
590         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
591
592 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
593
594         regex: diagnose too-large repeat counts in EREs
595         Previously, the code did not diagnose the too-large repeat count
596         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
597         as if it were 'b\{1000000000}', which is unexpected.
598         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
599         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
600         is a reasonable one for this problem.  Another option would be to
601         create a new REG_OVERFLOW error for repeat counts that are too large.
602         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
603         count is too large, so that the caller can distinguish the two cases.
604         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
605         "Too large" return code, and that repeat counts are one example of this.
606
607 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
608
609         doc: some glibc x32 integer width issues
610         * doc/posix-headers/sys_types.texi (sys/types.h):
611         * doc/posix-headers/time.texi (time.h):
612         Mention that glibc x32 does not conform to POSIX in a couple of
613         areas related to integer widths.
614
615 2012-03-15  Bruno Haible  <bruno@clisp.org>
616
617         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
618         * lib/fma.c (VOLATILE): New macro.
619         (FUNC): Use it to work around a GCC compiler bug.
620
621 2012-03-13  Bruno Haible  <bruno@clisp.org>
622
623         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
624         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
625         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
626         REPLACE_HYPOTL to 1.
627         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
628
629 2012-03-13  Bruno Haible  <bruno@clisp.org>
630
631         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
632         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
633         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
634         REPLACE_REMAINDERL to 1.
635         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
636         bug.
637
638 2012-03-13  Bruno Haible  <bruno@clisp.org>
639
640         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
641         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
642         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
643         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
644         too big rounding errors.
645         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
646         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
647         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
648         (Depends-on): Update conditions.
649         * tests/test-sqrtl.c (my_ldexpl): New function.
650         (main): Add test of a particular value.
651         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
652
653 2012-03-13  Pádraig Brady  <P@draigBrady.com>
654
655         doc: Update timer_* platform portability notes.
656         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
657         that always return ENOSYS.
658         * doc/posix-functions/timer_delete.texi: Likewise.
659         * doc/posix-functions/timer_gettime.texi: Likewise.
660         * doc/posix-functions/timer_settime.texi: Likewise.
661
662 2012-03-13  Bruno Haible  <bruno@clisp.org>
663
664         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
665         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
666         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
667         REPLACE_CBRTL to 1.
668         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
669
670 2012-03-13  Bruno Haible  <bruno@clisp.org>
671
672         remainderl: Avoid compilation error on AIX >= 5.2.
673         * lib/math.in.h (remainderl): Undefine macro from the system header.
674
675 2012-03-13  Bruno Haible  <bruno@clisp.org>
676
677         Avoid compilation errors with MSVC option -fp:strict.
678         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
679         * lib/cbrtf.c: Likewise.
680         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
681
682 2012-03-12  Bruno Haible  <bruno@clisp.org>
683
684         uninorm: Don't crash in out-of-memory conditions.
685         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
686         gracefully.
687         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
688         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
689
690 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
691
692         quote: fix syntax-check
693         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
694         also exports quote_quoting_options.
695
696 2012-03-12  Simon Josefsson  <simon@josefsson.org>
697
698         Collapse list of copyright years to ranges.  See
699         <https://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00051.html>.
700         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
701         build-aux/csharpexec.sh.in, build-aux/gnupload,
702         build-aux/install-reloc, build-aux/javacomp.sh.in,
703         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
704         build-aux/move-if-change, build-aux/reloc-ldflags,
705         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
706
707 2012-03-11  Bruno Haible  <bruno@clisp.org>
708
709         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
710         * m4/log2f-ieee.m4: New file.
711         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
712         whether log2f works with a minus zero argument. Replace it if not.
713         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
714         (Depends-on): Add log2-ieee.
715         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
716         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
717
718         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
719         * m4/log2-ieee.m4: New file.
720         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
721         whether log2 works with a minus zero argument. Replace it if not.
722         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
723         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
724         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
725
726         Tests for module 'log2l-ieee'.
727         * modules/log2l-ieee-tests: New file.
728         * tests/test-log2l-ieee.c: New file.
729
730         New module 'log2l-ieee'.
731         * modules/log2l-ieee: New file.
732
733         Tests for module 'log2-ieee'.
734         * modules/log2-ieee-tests: New file.
735         * tests/test-log2-ieee.c: New file.
736
737         New module 'log2-ieee'.
738         * modules/log2-ieee: New file.
739
740         Tests for module 'log2f-ieee'.
741         * modules/log2f-ieee-tests: New file.
742         * tests/test-log2f-ieee.c: New file.
743         * tests/test-log2-ieee.h: New file.
744
745         New module 'log2f-ieee'.
746         * modules/log2f-ieee: New file.
747
748 2012-03-11  Bruno Haible  <bruno@clisp.org>
749
750         Tests for module 'log2l'.
751         * modules/log2l-tests: New file.
752         * tests/test-log2l.c: New file.
753
754         New module 'log2l'.
755         * lib/math.in.h (log2l): New declaration.
756         * lib/log2l.c: New file.
757         * m4/log2l.m4: New file.
758         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
759         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
760         REPLACE_LOG2L.
761         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
762         REPLACE_LOG2L.
763         * modules/log2l: New file.
764         * tests/test-math-c++.cc: Check the declaration of log2l.
765         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
766         and OSF/1 problems.
767
768 2012-03-11  Bruno Haible  <bruno@clisp.org>
769
770         Tests for module 'log2f'.
771         * modules/log2f-tests: New file.
772         * tests/test-log2f.c: New file.
773
774         New module 'log2f'.
775         * lib/math.in.h (log2f): New declaration.
776         * lib/log2f.c: New file.
777         * m4/log2f.m4: New file.
778         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
779         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
780         REPLACE_LOG2F.
781         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
782         REPLACE_LOG2F.
783         * modules/log2f: New file.
784         * tests/test-math-c++.cc: Check the declaration of log2f.
785         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
786         and OSF/1 and Cygwin problems.
787
788 2012-03-11  Bruno Haible  <bruno@clisp.org>
789
790         Tests for module 'log2'.
791         * modules/log2-tests: New file.
792         * tests/test-log2.c: New file.
793         * tests/test-log2.h: New file.
794
795         New module 'log2'.
796         * lib/math.in.h (log2): New declaration.
797         * lib/log2.c: New file.
798         * m4/log2.m4: New file.
799         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
800         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
801         REPLACE_LOG2.
802         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
803         REPLACE_LOG2.
804         * modules/log2: New file.
805         * tests/test-math-c++.cc: Check the declaration of log2.
806         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
807         and OSF/1 and Cygwin problems.
808
809 2012-03-11  Bruno Haible  <bruno@clisp.org>
810
811         exp2* tests: More tests.
812         * tests/test-exp2.h (test_function): Test all integral arguments that
813         don't need to overflow or denormalized numbers.
814         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
815         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
816         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
817
818 2012-03-10  Bruno Haible  <bruno@clisp.org>
819
820         log1pl-ieee: Work around test failure on AIX 7.1.
821         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
822
823         log1pl-ieee: Work around test failure on IRIX 6.5.
824         * m4/log1pl-ieee.m4: New file.
825         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
826         test whether log1pl works with a minus zero argument. Replace it if
827         not.
828         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
829         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
830         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
831         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
832         (Depends-on): Update conditions.
833         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
834         m4/signbit.m4.
835         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
836         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
837
838         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
839         * m4/log1pf-ieee.m4: New file.
840         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
841         test whether log1pf works with a minus zero argument. Replace it if
842         not.
843         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
844         m4/signbit.m4.
845         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
846         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
847
848         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
849         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
850         (configure.ac): Require gl_FUNC_LOG1PF.
851
852         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
853         * m4/log1p-ieee.m4: New file.
854         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
855         whether log1p works with a minus zero argument. Replace it if not.
856         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
857         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
858         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
859         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
860         (Depends-on): Update conditions.
861         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
862         m4/signbit.m4.
863         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
864         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
865
866         Tests for module 'log1pl-ieee'.
867         * modules/log1pl-ieee-tests: New file.
868         * tests/test-log1pl-ieee.c: New file.
869
870         New module 'log1pl-ieee'.
871         * modules/log1pl-ieee: New file.
872
873         Tests for module 'log1p-ieee'.
874         * modules/log1p-ieee-tests: New file.
875         * tests/test-log1p-ieee.c: New file.
876
877         New module 'log1p-ieee'.
878         * modules/log1p-ieee: New file.
879
880         Tests for module 'log1pf-ieee'.
881         * modules/log1pf-ieee-tests: New file.
882         * tests/test-log1pf-ieee.c: New file.
883         * tests/test-log1p-ieee.h: New file.
884
885         New module 'log1pf-ieee'.
886         * modules/log1pf-ieee: New file.
887
888 2012-03-10  Bruno Haible  <bruno@clisp.org>
889
890         Tests for module 'log1pl'.
891         * modules/log1pl-tests: New file.
892         * tests/test-log1pl.c: New file.
893
894         New module 'log1pl'.
895         * lib/math.in.h (log1pl): New declaration.
896         * lib/log1pl.c: New file.
897         * m4/log1pl.m4: New file.
898         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
899         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
900         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
901         * modules/log1pl: New file.
902         * tests/test-math-c++.cc: Check the declaration of log1pl.
903         * doc/posix-functions/log1pl.texi: Mention the new module.
904
905 2012-03-10  Bruno Haible  <bruno@clisp.org>
906
907         Tests for module 'log1pf'.
908         * modules/log1pf-tests: New file.
909         * tests/test-log1pf.c: New file.
910
911         New module 'log1pf'.
912         * lib/math.in.h (log1pf): New declaration.
913         * lib/log1pf.c: New file.
914         * m4/log1pf.m4: New file.
915         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
916         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
917         REPLACE_LOG1PF.
918         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
919         REPLACE_LOG1PF.
920         * modules/log1pf: New file.
921         * tests/test-math-c++.cc: Check the declaration of log1pf.
922         * doc/posix-functions/log1pf.texi: Mention the new module.
923
924 2012-03-10  Bruno Haible  <bruno@clisp.org>
925
926         log1p tests: More tests.
927         * tests/test-log1p.h: New file.
928         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
929         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
930         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
931         (main): Invoke test_function.
932
933         log1p: Provide replacement for Minix and MSVC.
934         * lib/math.in.h (log1p): New declaration.
935         * lib/log1p.c: New file.
936         * m4/log1p.m4: New file.
937         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
938         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
939         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
940         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
941         (Depends-on): Add math, isnand, log, round.
942         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
943         HAVE_LOG1P is 0.
944         * tests/test-math-c++.cc: Check the declaration of log1p.
945         * doc/posix-functions/log1p.texi: Mention the replacement.
946
947 2012-03-10  Bruno Haible  <bruno@clisp.org>
948
949         math tests: Small simplification.
950         * tests/test-exp.h (test_function): Use the same err_bound for
951         'double' on platforms with sizeof (long double) == sizeof (double)
952         than on platforms with sizeof (long double) > sizeof (double).
953         * tests/test-exp2.h (test_function): Likewise.
954         * tests/test-expm1.h (test_function): Likewise.
955         * tests/test-log.h (test_function): Likewise.
956
957 2012-03-10  Bruno Haible  <bruno@clisp.org>
958
959         Fix some comments.
960         * lib/expl.c: Fix an ambiguous comment.
961         * lib/expm1.c: Likewise.
962         * lib/expm1l.c: Likewise.
963         * lib/exp2.c: Likewise.
964         * lib/exp2l.c: Likewise.
965
966 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
967
968         regex: allow inclusion of <regex.h> before <limits.h>
969         Without this patch, portable programs had to include <limits.h> before
970         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
971         I ran into this problem with a test version of GNU grep on Solaris 8.
972         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
973         This is done conditionally so that this change can be merged
974         back to glibc.
975         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
976         using the included regex.
977
978         fts: depend on fdopendir
979         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
980         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
981         problem was introduced when fdopendir was split out.
982
983 2012-03-10  Bruno Haible  <bruno@clisp.org>
984
985         Remove unused variables.
986         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
987         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
988
989 2012-03-10  Bruno Haible  <bruno@clisp.org>
990
991         isnanf-nolibm: Fix last commit.
992         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
993
994         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
995         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
996
997 2012-03-10  Bruno Haible  <bruno@clisp.org>
998
999         logf-ieee: Work around test failure on NetBSD 5.1.
1000         * m4/logf-ieee.m4: New file.
1001         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
1002         whether logf works with a negative argument. Replace it if not.
1003         * lib/logf.c (logf): For negative arguments, return NaN.
1004         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
1005         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
1006         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
1007
1008         logf-ieee: Work around test failure on Solaris 9.
1009         * modules/logf-ieee (Depends-on): Add log-ieee.
1010         (configure.ac): Require gl_FUNC_LOGF.
1011
1012         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
1013         * m4/log-ieee.m4: New file.
1014         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
1015         log works with a negative argument. Replace it if not.
1016         * lib/log.c (log): For negative arguments, return NaN.
1017         * modules/log-ieee (Files): Add m4/log-ieee.m4.
1018         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
1019         * doc/posix-functions/log.texi: Mention the log-ieee module.
1020
1021         Tests for module 'logl-ieee'.
1022         * modules/logl-ieee-tests: New file.
1023         * tests/test-logl-ieee.c: New file.
1024
1025         New module 'logl-ieee'.
1026         * modules/logl-ieee: New file.
1027
1028         Tests for module 'log-ieee'.
1029         * modules/log-ieee-tests: New file.
1030         * tests/test-log-ieee.c: New file.
1031
1032         New module 'log-ieee'.
1033         * modules/log-ieee: New file.
1034
1035         Tests for module 'logf-ieee'.
1036         * modules/logf-ieee-tests: New file.
1037         * tests/test-logf-ieee.c: New file.
1038         * tests/test-log-ieee.h: New file.
1039
1040         New module 'logf-ieee'.
1041         * modules/logf-ieee: New file.
1042
1043 2012-03-10  Bruno Haible  <bruno@clisp.org>
1044
1045         log: Fix bug introduced on 2012-03-09.
1046         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
1047
1048 2012-03-10  Pádraig Brady  <P@draigBrady.com>
1049
1050         timer-time: link explicitly with pthreads on glibc
1051         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
1052         to support static linking, when newer glibc is
1053         detected, as that contains pthread emulation of
1054         POSIX timer functions where required.
1055         * modules/timer-time: Depend on threadlib to
1056         pull in the appropriate library to link.
1057
1058 2012-03-10  Bruno Haible  <bruno@clisp.org>
1059
1060         log* tests: More tests.
1061         * tests/test-log.h: New file.
1062         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
1063         (main): Invoke test_function.
1064         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
1065         (main): Invoke test_function.
1066         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
1067         (main): Invoke test_function.
1068         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
1069         tests/randomd.c.
1070         (Makefile.am): Add randomd.c to test_log_SOURCES.
1071         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
1072         tests/randomf.c.
1073         (Makefile.am): Add randomf.c to test_logf_SOURCES.
1074         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
1075         tests/randoml.c.
1076         (Depends-on): Add 'float'.
1077         (Makefile.am): Add randoml.c to test_logl_SOURCES.
1078
1079 2012-03-09  Bruno Haible  <bruno@clisp.org>
1080
1081         logl: Work around OSF/1 5.1 bug.
1082         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
1083         * lib/logl.c (logl): If logl exists, use it and provide just the
1084         workaround.
1085         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
1086         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
1087         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
1088         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
1089         * modules/logl (configure.ac): Consider REPLACE_LOGL.
1090         (Depends-on): Update conditions.
1091         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
1092
1093 2012-03-09  Bruno Haible  <bruno@clisp.org>
1094
1095         logf: Work around OSF/1 5.1 bug.
1096         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
1097         * lib/logf.c (logf): If logf exists, use it and provide just the
1098         workaround.
1099         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
1100         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
1101         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
1102         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
1103         * modules/logf (configure.ac): Consider REPLACE_LOGF.
1104         (Depends-on): Update conditions.
1105         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
1106
1107 2012-03-09  Bruno Haible  <bruno@clisp.org>
1108
1109         log: Work around OSF/1 5.1 bug.
1110         * lib/math.in.h (log): New declaration.
1111         * lib/log.c: New file.
1112         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
1113         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
1114         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
1115         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
1116         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
1117         * modules/log (Files): Add lib/log.c.
1118         (Depends-on): Add math.
1119         (configure.ac): If REPLACE_LOG is 1, compile an override.
1120         * tests/test-math-c++.cc: Check the declaration of log.
1121         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
1122
1123 2012-03-09  Jim Meyering  <meyering@redhat.com>
1124
1125         readtokens.c: adjust wording in a comment
1126         * lib/readtokens.c: Insert omitted "that" in a comment.
1127
1128 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
1129
1130         modechange: add notations +40, 00440, etc.
1131         * lib/modechange.c (mode_compile): Support new notations
1132         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
1133
1134 2012-03-08  Bruno Haible  <bruno@clisp.org>
1135
1136         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
1137         * m4/exp2l-ieee.m4: New file.
1138         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
1139         test whether exp2l works with a NaN argument and with a negative
1140         infinity argument. Replace it if not.
1141         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
1142         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
1143         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
1144         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
1145         (Depends-on): Update conditions.
1146         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
1147         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
1148         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
1149
1150         Tests for module 'exp2l-ieee'.
1151         * modules/exp2l-ieee-tests: New file.
1152         * tests/test-exp2l-ieee.c: New file.
1153
1154         New module 'exp2l-ieee'.
1155         * modules/exp2l-ieee: New file.
1156
1157         Tests for module 'exp2-ieee'.
1158         * modules/exp2-ieee-tests: New file.
1159         * tests/test-exp2-ieee.c: New file.
1160
1161         New module 'exp2-ieee'.
1162         * modules/exp2-ieee: New file.
1163
1164         Tests for module 'exp2f-ieee'.
1165         * modules/exp2f-ieee-tests: New file.
1166         * tests/test-exp2f-ieee.c: New file.
1167         * tests/test-exp2-ieee.h: New file.
1168
1169         New module 'exp2f-ieee'.
1170         * modules/exp2f-ieee: New file.
1171
1172 2012-03-08  Bruno Haible  <bruno@clisp.org>
1173
1174         Tests for module 'exp2l'.
1175         * modules/exp2l-tests: New file.
1176         * tests/test-exp2l.c: New file.
1177
1178         New module 'exp2l'.
1179         * lib/math.in.h (exp2l): New declaration.
1180         * lib/exp2l.c: New file.
1181         * lib/expl-table.c: New file, extracted from lib/expl.c.
1182         * lib/expl.c (gl_expl_table): New declaration.
1183         (expl): Remove expl_table. Update reference.
1184         * m4/exp2l.m4: New file.
1185         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
1186         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
1187         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
1188         * modules/exp2l: New file.
1189         * modules/expl (Files): Add lib/expl-table.c.
1190         (configure.ac): Compile also expl-table.c.
1191         * tests/test-math-c++.cc: Check the declaration of exp2l.
1192         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
1193         problem.
1194
1195 2012-03-08  Bruno Haible  <bruno@clisp.org>
1196
1197         Tests for module 'exp2f'.
1198         * modules/exp2f-tests: New file.
1199         * tests/test-exp2f.c: New file.
1200
1201         New module 'exp2f'.
1202         * lib/math.in.h (exp2f): New declaration.
1203         * lib/exp2f.c: New file.
1204         * m4/exp2f.m4: New file.
1205         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
1206         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
1207         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
1208         * modules/exp2f: New file.
1209         * tests/test-math-c++.cc: Check the declaration of exp2f.
1210         * doc/posix-functions/exp2f.texi: Mention the new module and the
1211         IRIX problem.
1212
1213 2012-03-08  Bruno Haible  <bruno@clisp.org>
1214
1215         Tests for module 'exp2'.
1216         * modules/exp2-tests: New file.
1217         * tests/test-exp2.c: New file.
1218         * tests/test-exp2.h: New file.
1219
1220         New module 'exp2'.
1221         * lib/math.in.h (exp2): New declaration.
1222         * lib/exp2.c: New file.
1223         * m4/exp2.m4: New file.
1224         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
1225         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
1226         REPLACE_EXP2.
1227         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
1228         REPLACE_EXP2.
1229         * modules/exp2: New file.
1230         * tests/test-math-c++.cc: Check the declaration of exp2.
1231         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
1232         and OpenBSD problems.
1233
1234 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
1235
1236         savedir: fix comment typo
1237         * lib/savedir.c (savedirstream): Fix typo in comment.
1238
1239 2012-03-08  Bruno Haible  <bruno@clisp.org>
1240
1241         test-readtokens.c: use const; remove unwarranted cast
1242         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
1243
1244 2012-03-08  Bruno Haible  <bruno@clisp.org>
1245
1246         fmal: Avoid compilation error on AIX.
1247         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
1248         AIX 5.2..7.1.
1249
1250 2012-03-08  Bruno Haible  <bruno@clisp.org>
1251
1252         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
1253         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
1254         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
1255         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
1256         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
1257         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
1258         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
1259
1260 2012-03-08  Bruno Haible  <bruno@clisp.org>
1261
1262         remainderf: Override buggy system function on IRIX 6.5.
1263         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
1264         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
1265         when it exists.
1266         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
1267
1268 2012-03-08  Jim Meyering  <meyering@redhat.com>
1269
1270         test-readtokens.c: avoid const-related compilation warnings
1271         * tests/test-readtokens.c: Avoid const-related compilation warnings.
1272
1273 2012-03-07  Jim Meyering  <meyering@redhat.com>
1274             Bruno Haible  <bruno@clisp.org>
1275
1276         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
1277         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
1278         tests/randomd.c.
1279         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
1280         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
1281         tests/randoml.c.
1282         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
1283
1284 2012-03-07  Bruno Haible  <bruno@clisp.org>
1285
1286         expm1l: Avoid compilation error on AIX.
1287         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
1288         AIX 5.2..7.1.
1289
1290 2012-03-07  Bruno Haible  <bruno@clisp.org>
1291
1292         expm1l: Don't override undeclared system function on IRIX 6.5.
1293         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
1294         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
1295         it exists. Set HAVE_DECL_EXPM1L.
1296         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
1297         HAVE_EXPM1L.
1298         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
1299         HAVE_EXPM1L.
1300         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
1301
1302 2012-03-07  Bruno Haible  <bruno@clisp.org>
1303
1304         remainderl: Don't override undeclared system function on IRIX 6.5.
1305         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
1306         HAVE_REMAINDERL.
1307         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
1308         declared when it exists. Set HAVE_DECL_REMAINDERL.
1309         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
1310         not HAVE_REMAINDERL.
1311         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
1312         HAVE_REMAINDERL.
1313         * doc/posix-functions/remainderl.texi: Mention missing declaration
1314         problem.
1315
1316 2012-03-07  Bruno Haible  <bruno@clisp.org>
1317
1318         rintf: Don't override undeclared system function on IRIX 6.5.
1319         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
1320         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
1321         exists. Set HAVE_DECL_RINTF.
1322         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
1323         HAVE_RINTF.
1324         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
1325         HAVE_RINTF.
1326         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
1327
1328 2012-03-07  Bruno Haible  <bruno@clisp.org>
1329
1330         roundl: Avoid compilation error on AIX.
1331         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
1332         AIX 5.2..7.1.
1333
1334 2012-03-07  Bruno Haible  <bruno@clisp.org>
1335
1336         roundl: Don't override undeclared system function on IRIX 6.5.
1337         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
1338         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
1339         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
1340         * modules/roundl (configure.ac): For replacement code, test
1341         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
1342         (Depends-on): Update conditions.
1343         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
1344
1345 2012-03-07  Bruno Haible  <bruno@clisp.org>
1346
1347         roundf: Don't override undeclared system function on IRIX 6.5.
1348         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
1349         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
1350         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
1351         * modules/roundf (configure.ac): For replacement code, test
1352         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
1353         (Depends-on): Update conditions.
1354         * modules/roundf-ieee (Depends-on): Update conditions.
1355         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
1356
1357 2012-03-07  Bruno Haible  <bruno@clisp.org>
1358
1359         round: Don't override undeclared system function on IRIX 6.5.
1360         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
1361         argument.
1362         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
1363         also when it is not declared. Set HAVE_ROUND. For replacement code,
1364         test HAVE_ROUND, not HAVE_DECL_ROUND.
1365         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
1366         not HAVE_DECL_ROUND.
1367         (Depends-on): Update conditions.
1368         * modules/round-ieee (Depends-on): Update conditions.
1369         * doc/posix-functions/round.texi: Mention the IRIX problem.
1370
1371 2012-03-07  Bruno Haible  <bruno@clisp.org>
1372
1373         copysignf: Don't override undeclared system function on IRIX 6.5.
1374         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
1375         HAVE_COPYSIGNF.
1376         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
1377         declared when it exists. Set HAVE_DECL_COPYSIGNF.
1378         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
1379         not HAVE_COPYSIGNF.
1380         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
1381         HAVE_COPYSIGNF.
1382         * doc/posix-functions/copysignf.texi: Mention missing declaration
1383         problem.
1384
1385 2012-03-07  Jim Meyering  <meyering@redhat.com>
1386
1387         readtokens: add tests
1388         * modules/readtokens-tests: New file.
1389         * tests/test-readtokens.c: New file.
1390
1391 2012-03-07  Jim Meyering  <meyering@redhat.com>
1392
1393         quotearg: the module must now include quote.h
1394         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
1395         So must the module.
1396         * modules/quotearg (Files): Add quote.h.
1397
1398 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
1399
1400         readtokens: avoid core dumps with unusual calling patterns
1401         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
1402         * lib/readtokens.c: Include limits.h.
1403         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
1404         (readtoken): Don't cache the delimiters; the cache code was buggy
1405         if !delim && saved_delim, or if the new n_delim differs from the old.
1406         Also, it wasn't thread-safe.
1407
1408 2012-03-07  Bruno Haible  <bruno@clisp.org>
1409
1410         quote: Adhere to common module description layout.
1411         * modules/quote (Makefile.am): Add back empty section.
1412
1413 2012-03-06  Akim Demaille  <demaille@gostai.com>
1414
1415         quote: fuse into quotearg
1416         This patch is made for the benefit of Bison.
1417         quote does not leave the choice of the quoting style to the user.
1418         quoting_style provides poor customizability, yet quoting_options,
1419         which is very rich, is hidden inside quotearg.c.  So in order to
1420         allow quote customization, move its implementation to quotearg.c.
1421         * lib/quote.c: Remove.
1422         * modules/quote: Adjust.
1423         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
1424         warning: provide all the members of literal structs.
1425         (quote_quoting_options): New.
1426         (quote, quote_n): Import implementation from quote.c.
1427         * lib/quote.h: Import the comments from quote.c.
1428         (quote_quoting_options): New.
1429
1430 2012-03-06  Bruno Haible  <bruno@clisp.org>
1431
1432         Tests for module 'expm1l-ieee'.
1433         * modules/expm1l-ieee-tests: New file.
1434         * tests/test-expm1l-ieee.c: New file.
1435
1436         New module 'expm1l-ieee'.
1437         * modules/expm1l-ieee: New file.
1438
1439         Tests for module 'expm1f-ieee'.
1440         * modules/expm1f-ieee-tests: New file.
1441         * tests/test-expm1f-ieee.c: New file.
1442
1443         New module 'expm1f-ieee'.
1444         * modules/expm1f-ieee: New file.
1445
1446         Tests for module 'expm1-ieee'.
1447         * modules/expm1-ieee-tests: New file.
1448         * tests/test-expm1-ieee.c: New file.
1449         * tests/test-expm1-ieee.h: New file.
1450
1451         New module 'expm1-ieee'.
1452         * modules/expm1-ieee: New file.
1453         * m4/expm1-ieee.m4: New file.
1454         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
1455         whether expm1 works with a minus zero argument. Replace it if not.
1456         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
1457         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
1458         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
1459         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
1460         (Depends-on): Update conditions.
1461         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
1462         AIX problem.
1463
1464 2012-03-06  Bruno Haible  <bruno@clisp.org>
1465
1466         Work around expm1f bug on IRIX 6.5.
1467         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
1468         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
1469         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
1470         not work.
1471         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
1472         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
1473         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
1474         (Depends-on): Update conditions.
1475         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
1476
1477 2012-03-06  Bruno Haible  <bruno@clisp.org>
1478
1479         Tests for module 'expm1l'.
1480         * modules/expm1l-tests: New file.
1481         * tests/test-expm1l.c: New file.
1482
1483         New module 'expm1l'.
1484         * lib/math.in.h (expm1l): New declaration.
1485         * lib/expm1l.c: New file.
1486         * m4/expm1l.m4: New file.
1487         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
1488         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
1489         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
1490         * modules/expm1l: New file.
1491         * tests/test-math-c++.cc: Check the declaration of expm1l.
1492         * doc/posix-functions/expm1l.texi: Mention the new module.
1493
1494 2012-03-06  Bruno Haible  <bruno@clisp.org>
1495
1496         Tests for module 'expm1f'.
1497         * modules/expm1f-tests: New file.
1498         * tests/test-expm1f.c: New file.
1499
1500         New module 'expm1f'.
1501         * lib/math.in.h (expm1f): New declaration.
1502         * lib/expm1f.c: New file.
1503         * m4/expm1f.m4: New file.
1504         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
1505         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
1506         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
1507         * modules/expm1f: New file.
1508         * tests/test-math-c++.cc: Check the declaration of expm1f.
1509         * doc/posix-functions/expm1f.texi: Mention the new module.
1510
1511 2012-03-06  Bruno Haible  <bruno@clisp.org>
1512
1513         Tests for module 'expm1'.
1514         * modules/expm1-tests: New file.
1515         * tests/test-expm1.c: New file.
1516         * tests/test-expm1.h: New file.
1517
1518         New module 'expm1'.
1519         * lib/math.in.h (expm1): New declaration.
1520         * lib/expm1.c: New file.
1521         * m4/expm1.m4: New file.
1522         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
1523         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
1524         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
1525         * modules/expm1: New file.
1526         * tests/test-math-c++.cc: Check the declaration of expm1.
1527         * doc/posix-functions/expm1.texi: Mention the new module.
1528
1529 2012-03-06  Bruno Haible  <bruno@clisp.org>
1530
1531         math: Ensure declarations of math functions.
1532         * modules/acosf (Depends-on): Add 'extensions'.
1533         * modules/asinf (Depends-on): Likewise.
1534         * modules/atan2f (Depends-on): Likewise.
1535         * modules/atanf (Depends-on): Likewise.
1536         * modules/cbrt (Depends-on): Likewise.
1537         * modules/cbrtf (Depends-on): Likewise.
1538         * modules/cbrtl (Depends-on): Likewise.
1539         * modules/copysignf (Depends-on): Likewise.
1540         * modules/copysignl (Depends-on): Likewise.
1541         * modules/cosf (Depends-on): Likewise.
1542         * modules/coshf (Depends-on): Likewise.
1543         * modules/expf (Depends-on): Likewise.
1544         * modules/fabsf (Depends-on): Likewise.
1545         * modules/fabsl (Depends-on): Likewise.
1546         * modules/fmaf (Depends-on): Likewise.
1547         * modules/fmal (Depends-on): Likewise.
1548         * modules/fmodf (Depends-on): Likewise.
1549         * modules/fmodl (Depends-on): Likewise.
1550         * modules/frexpf (Depends-on): Likewise.
1551         * modules/frexpl (Depends-on): Likewise.
1552         * modules/hypot (Depends-on): Likewise.
1553         * modules/hypotf (Depends-on): Likewise.
1554         * modules/hypotl (Depends-on): Likewise.
1555         * modules/ldexpf (Depends-on): Likewise.
1556         * modules/ldexpl (Depends-on): Likewise.
1557         * modules/log10f (Depends-on): Likewise.
1558         * modules/log10l (Depends-on): Likewise.
1559         * modules/log1p (Depends-on): Likewise.
1560         * modules/logb (Depends-on): Likewise.
1561         * modules/logf (Depends-on): Likewise.
1562         * modules/modff (Depends-on): Likewise.
1563         * modules/modfl (Depends-on): Likewise.
1564         * modules/powf (Depends-on): Likewise.
1565         * modules/remainderf (Depends-on): Likewise.
1566         * modules/remainderl (Depends-on): Likewise.
1567         * modules/rintf (Depends-on): Likewise.
1568         * modules/rintl (Depends-on): Likewise.
1569         * modules/sinf (Depends-on): Likewise.
1570         * modules/sinhf (Depends-on): Likewise.
1571         * modules/sqrtf (Depends-on): Likewise.
1572         * modules/tanf (Depends-on): Likewise.
1573         * modules/tanhf (Depends-on): Likewise.
1574         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
1575         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
1576         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
1577         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
1578         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
1579         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
1580         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
1581         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
1582         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
1583         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
1584         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
1585         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
1586         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
1587         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
1588         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
1589         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
1590         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
1591         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
1592         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
1593         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
1594         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
1595         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
1596         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
1597         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
1598         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
1599         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
1600         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
1601         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
1602         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
1603         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
1604         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
1605         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
1606         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
1607         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
1608         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
1609         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
1610         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
1611         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
1612         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
1613         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
1614         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
1615
1616 2012-03-06  Bruno Haible  <bruno@clisp.org>
1617
1618         math: Update module names in warnings.
1619         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
1620         tanl): Use specific module name in warn-on-use warning.
1621
1622 2012-03-06  Bruno Haible  <bruno@clisp.org>
1623
1624         expl: Simplify computation.
1625         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
1626
1627 2012-03-05  Bruno Haible  <bruno@clisp.org>
1628
1629         exp* tests: More tests.
1630         * tests/test-exp.h: New file.
1631         * tests/test-exp.c: Include <float.h> and test-exp.h.
1632         (main): Invoke test_function.
1633         * tests/test-expf.c: Include <float.h> and test-exp.h.
1634         (main): Invoke test_function.
1635         * tests/test-expl.c: Include <float.h> and test-exp.h.
1636         (main): Invoke test_function.
1637         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
1638         (Makefile.am): Add randomd.c to test_exp_SOURCES.
1639         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
1640         (Makefile.am): Add randomf.c to test_expf_SOURCES.
1641         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
1642         (Depends-on): Add 'float'.
1643         (Makefile.am): Add randoml.c to test_expl_SOURCES.
1644
1645         expl: Fix precision of computed result.
1646         * lib/expl.c: Completely rewritten.
1647         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
1648         (Maintainer): Add me.
1649         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
1650
1651 2012-03-05  Bruno Haible  <bruno@clisp.org>
1652
1653         cbrt* tests: More tests.
1654         * tests/test-cbrt.h: New file.
1655         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
1656         (main): Invoke test_function.
1657         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
1658         (main): Invoke test_function.
1659         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
1660         (main): Invoke test_function.
1661         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
1662         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
1663         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
1664         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
1665         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
1666         (Depends-on): Add 'float'.
1667         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
1668
1669 2012-03-05  Bruno Haible  <bruno@clisp.org>
1670
1671         hypot* tests: More tests.
1672         * tests/test-hypot.h: New file, partially extracted from
1673         tests/test-hypotl.c.
1674         * tests/test-hypot.c: Include test-hypot.h.
1675         (main): Invoke test_function.
1676         * tests/test-hypotf.c: Include test-hypot.h.
1677         (main): Invoke test_function.
1678         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
1679         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
1680         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
1681         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
1682         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
1683         tests/randomf.c.
1684         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
1685         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
1686         tests/randoml.c.
1687         (Depends-on): Add 'fpucw', 'float'.
1688         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
1689
1690 2012-03-05  Bruno Haible  <bruno@clisp.org>
1691
1692         fpucw: Doc about FreeBSD.
1693         * lib/fpucw.h: Mention FreeBSD in comments.
1694
1695 2012-03-04  Bruno Haible  <bruno@clisp.org>
1696
1697         sqrt* tests: More tests.
1698         * tests/test-sqrt.h: New file.
1699         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
1700         (main): Invoke test_function.
1701         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
1702         (main): Invoke test_function.
1703         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
1704         (main): Invoke test_function.
1705         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
1706         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
1707         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
1708         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
1709         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
1710         (Depends-on): Add 'float'.
1711         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
1712
1713 2012-03-04  Bruno Haible  <bruno@clisp.org>
1714
1715         remainder* tests: More tests.
1716         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
1717         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
1718         (main): Invoke test_function.
1719         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
1720         (main): Invoke test_function.
1721         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
1722         (main): Invoke test_function.
1723         * modules/remainder-tests (Files): Add tests/test-remainder.h,
1724         tests/randomd.c.
1725         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
1726         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
1727         tests/randomf.c.
1728         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
1729         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
1730         tests/randoml.c.
1731         (Depends-on): Add 'float'.
1732         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
1733
1734 2012-03-04  Bruno Haible  <bruno@clisp.org>
1735
1736         remainder, remainderf, remainderl: Fix computation for large quotients.
1737         * lib/remainder.c: Completely rewritten.
1738         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
1739         USE_FLOAT.
1740         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
1741         USE_LONG_DOUBLE.
1742         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
1743         isnand, isinf. Remove round, fma.
1744         * modules/remainderf (Files): Add lib/remainder.c.
1745         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
1746         Remove roundf, fmaf.
1747         * modules/remainderl (Files): Add lib/remainder.c.
1748         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
1749         isinf. Remove roundl, fmal.
1750         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
1751         REMAINDER_LIBM.
1752         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
1753         REMAINDERF_LIBM.
1754         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
1755         REMAINDERL_LIBM.
1756
1757 2012-03-04  Bruno Haible  <bruno@clisp.org>
1758
1759         fmod* tests: More tests.
1760         * tests/test-fmod.h (my_ldexp): New function.
1761         (test_function): Reduce amount of random numbers to test. Add tests
1762         of very large quotients x / y.
1763         * tests/test-fmod.c (MAX_EXP): New macro.
1764         * tests/test-fmodf.c (MAX_EXP): Likewise.
1765         * tests/test-fmodl.c (MAX_EXP): Likewise.
1766
1767 2012-03-04  Bruno Haible  <bruno@clisp.org>
1768
1769         fmod, fmodl: Fix computation for large quotients x / y.
1770         * lib/fmod.c: Completely rewritten.
1771         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
1772         USE_LONG_DOUBLE.
1773         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
1774         isnand. Remove fma.
1775         * modules/fmodl (Files): Add lib/fmod.c.
1776         (Depends-on): Add float, isfinite, signbit, fabsl,
1777         frexpl, ldexpl, isnanl. Remove fma.
1778         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
1779         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
1780
1781 2012-03-03  Bruno Haible  <bruno@clisp.org>
1782
1783         fmod* tests: More tests.
1784         * tests/test-fmod.h: New file.
1785         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
1786         (main): Invoke test_function.
1787         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
1788         (main): Invoke test_function.
1789         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
1790         (main): Invoke test_function.
1791         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
1792         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
1793         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
1794         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
1795         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
1796         (Depends-on): Add 'float'.
1797         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
1798
1799 2012-03-03  Bruno Haible  <bruno@clisp.org>
1800
1801         rint* tests: More tests.
1802         * tests/test-rint.h: New file, partially extracted from
1803         tests/test-rintl.c.
1804         * tests/test-rint.c: Include test-rint.h.
1805         (main): Invoke test_function.
1806         * tests/test-rintf.c: Include test-rint.h.
1807         (main): Invoke test_function.
1808         * tests/test-rintl.c: Include test-rint.h.
1809         (main): Invoke test_function.
1810         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
1811         (Makefile.am): Add randomd.c to test_rint_SOURCES.
1812         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
1813         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
1814         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
1815         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
1816
1817 2012-03-03  Bruno Haible  <bruno@clisp.org>
1818
1819         modf* tests: More tests.
1820         * tests/test-modf.h: New file.
1821         * tests/test-modf.c: Include <float.h> and test-modf.h.
1822         (main): Invoke test_function.
1823         * tests/test-modff.c: Include <float.h> and test-modf.h.
1824         (main): Invoke test_function.
1825         * tests/test-modfl.c: Include <float.h> and test-modf.h.
1826         (main): Invoke test_function.
1827         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
1828         (Makefile.am): Add randomd.c to test_modf_SOURCES.
1829         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
1830         (Makefile.am): Add randomf.c to test_modff_SOURCES.
1831         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
1832         (Depends-on): Add 'float'.
1833         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
1834
1835 2012-03-03  Bruno Haible  <bruno@clisp.org>
1836
1837         fabs* tests: More tests.
1838         * tests/test-fabs.h: New file, partially extracted from
1839         tests/test-fabsl.c.
1840         * tests/test-fabs.c (RANDOM): New macro.
1841         * tests/test-fabsf.c (RANDOM): New macro.
1842         * tests/test-fabsl.c (RANDOM): New macro.
1843         * modules/fabs-tests (Files): Add tests/randomd.c.
1844         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
1845         * modules/fabsf-tests (Files): Add tests/randomf.c.
1846         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
1847         * modules/fabsl-tests (Files): Add tests/randoml.c.
1848         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
1849
1850 2012-03-03  Bruno Haible  <bruno@clisp.org>
1851
1852         ldexp* tests: More tests.
1853         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
1854         * tests/test-ldexp.c (RANDOM): New macro.
1855         * tests/test-ldexpf.c (RANDOM): New macro.
1856         * tests/test-ldexpl.c (RANDOM): New macro.
1857         * modules/ldexp-tests (Files): Add tests/randomd.c.
1858         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
1859         * modules/ldexpf-tests (Files): Add tests/randomf.c.
1860         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
1861         * modules/ldexpl-tests (Files): Add tests/randoml.c.
1862         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
1863
1864 2012-03-03  Bruno Haible  <bruno@clisp.org>
1865
1866         frexp* tests: More tests.
1867         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
1868         * tests/test-frexp.c (RANDOM): New macro.
1869         * tests/test-frexpf.c (RANDOM): New macro.
1870         * tests/test-frexpl.c (RANDOM): New macro.
1871         * modules/frexp-tests (Files): Add tests/randomd.c.
1872         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
1873         * modules/frexpf-tests (Files): Add tests/randomf.c.
1874         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
1875         * modules/frexpl-tests (Files): Add tests/randoml.c.
1876         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
1877
1878 2012-03-03  Bruno Haible  <bruno@clisp.org>
1879
1880         Support for pseudo-random numbers in tests.
1881         * tests/randomf.c: New file.
1882         * tests/randomd.c: New file.
1883         * tests/randoml.c: New file.
1884         * tests/macros.h (randomf, randomd, randoml): New declarations.
1885
1886 2012-03-03  Bruno Haible  <bruno@clisp.org>
1887
1888         frexp* tests: Refactor.
1889         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
1890         * tests/test-frexp.c: Include and use it.
1891         * tests/test-frexpf.c: Likewise.
1892         * tests/test-frexpl.c: Likewise.
1893         * modules/frexp-tests (Files): Add tests/test-frexp.h.
1894         * modules/frexpf-tests (Files): Likewise.
1895         * modules/frexpl-tests (Files): Likewise.
1896
1897 2012-03-02  Jim Meyering  <meyering@redhat.com>
1898
1899         maint: don't specify XZ_OPT=-9ev in dist-related rule
1900         Using xz's -9 option is warranted only if you have a very large
1901         tarball (see xz's documentation for the sizes vs. presets), and
1902         requires 64MiB of memory at decompression time.
1903         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
1904         Automake's default of just "-e" is fine.  Override on a
1905         per-package basis by setting XZ_OPT e.g., in cfg.mk.
1906
1907 2012-03-01  Eric Blake  <eblake@redhat.com>
1908
1909         maint.mk: allow announcement for non-gnulib project
1910         * maint.mk (announcement): Skip gnulib version if not used.
1911
1912 2012-03-01  Jim Meyering  <meyering@redhat.com>
1913
1914         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
1915         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
1916         envvar settings cannot interfere.  Otherwise, setting envvars like
1917         prohibit=foo require=bar, etc. would cause spurious test failures.
1918
1919 2012-03-01  Eric Blake  <eblake@redhat.com>
1920
1921         maint.mk: add per-line exclusions to prohibitions
1922         * maint.mk (_sc_search_regexp): Add $exclude parameter.
1923         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
1924         (sc_const_long_option): Use it.
1925
1926 2012-03-01  Bruno Haible  <bruno@clisp.org>
1927
1928         Tests for module 'expl-ieee'.
1929         * modules/expl-ieee-tests: New file.
1930         * tests/test-expl-ieee.c: New file.
1931
1932         New module 'expl-ieee'.
1933         * modules/expl-ieee: New file.
1934
1935         Tests for module 'exp-ieee'.
1936         * modules/exp-ieee-tests: New file.
1937         * tests/test-exp-ieee.c: New file.
1938
1939         New module 'exp-ieee'.
1940         * modules/exp-ieee: New file.
1941
1942         Tests for module 'expf-ieee'.
1943         * modules/expf-ieee-tests: New file.
1944         * tests/test-expf-ieee.c: New file.
1945         * tests/test-exp-ieee.h: New file.
1946
1947         New module 'expf-ieee'.
1948         * modules/expf-ieee: New file.
1949
1950 2012-02-29  Bruno Haible  <bruno@clisp.org>
1951
1952         cbrtl-ieee: Work around test failure on IRIX 6.5.
1953         * m4/cbrtl-ieee.m4: New file.
1954         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
1955         test whether cbrtl works with a minus zero argument. Replace it if not.
1956         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
1957         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
1958         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
1959         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
1960         (Depends-on): Update conditions.
1961         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
1962         m4/signbit.m4.
1963         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
1964         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
1965         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
1966
1967         Tests for module 'cbrtl-ieee'.
1968         * modules/cbrtl-ieee-tests: New file.
1969         * tests/test-cbrtl-ieee.c: New file.
1970
1971         New module 'cbrtl-ieee'.
1972         * modules/cbrtl-ieee: New file.
1973
1974         Tests for module 'cbrt-ieee'.
1975         * modules/cbrt-ieee-tests: New file.
1976         * tests/test-cbrt-ieee.c: New file.
1977
1978         New module 'cbrt-ieee'.
1979         * modules/cbrt-ieee: New file.
1980
1981         Tests for module 'cbrtf-ieee'.
1982         * modules/cbrtf-ieee-tests: New file.
1983         * tests/test-cbrtf-ieee.c: New file.
1984         * tests/test-cbrt-ieee.h: New file.
1985
1986         New module 'cbrtf-ieee'.
1987         * modules/cbrtf-ieee: New file.
1988
1989 2012-02-29  Bruno Haible  <bruno@clisp.org>
1990
1991         cbrtf: Work around bug in IRIX 6.5 system function.
1992         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
1993         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
1994         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
1995         work.
1996         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
1997         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
1998         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
1999         (Depends-on): Update conditions.
2000         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
2001
2002 2012-02-29  Bruno Haible  <bruno@clisp.org>
2003
2004         Tests for module 'cbrtl'.
2005         * modules/cbrtl-tests: New file.
2006         * tests/test-cbrtl.c: New file.
2007
2008         New module 'cbrtl'.
2009         * lib/math.in.h (cbrtl): New declaration.
2010         * lib/cbrtl.c: New file.
2011         * m4/cbrtl.m4: New file.
2012         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
2013         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
2014         HAVE_DECL_CBRTL.
2015         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
2016         HAVE_DECL_CBRTL.
2017         * modules/cbrtl: New file.
2018         * tests/test-math-c++.cc: Check the declaration of cbrtl.
2019         * doc/posix-functions/cbrtl.texi: Mention the new module.
2020
2021 2012-02-29  Bruno Haible  <bruno@clisp.org>
2022
2023         Tests for module 'cbrtf'.
2024         * modules/cbrtf-tests: New file.
2025         * tests/test-cbrtf.c: New file.
2026
2027         New module 'cbrtf'.
2028         * lib/math.in.h (cbrtf): New declaration.
2029         * lib/cbrtf.c: New file.
2030         * m4/cbrtf.m4: New file.
2031         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
2032         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
2033         HAVE_DECL_CBRTF.
2034         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
2035         HAVE_DECL_CBRTF.
2036         * modules/cbrtf: New file.
2037         * tests/test-math-c++.cc: Check the declaration of cbrtf.
2038         * doc/posix-functions/cbrtf.texi: Mention the new module.
2039
2040 2012-02-29  Bruno Haible  <bruno@clisp.org>
2041
2042         cbrt: Provide replacement on MSVC and Minix.
2043         * lib/math.in.h (cbrt): New declaration.
2044         * lib/cbrt.c: New file.
2045         * m4/cbrt.m4: New file.
2046         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
2047         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
2048         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
2049         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
2050         (Depends-on): Add dependencies.
2051         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
2052         * tests/test-math-c++.cc: Check the declaration of cbrt.
2053         * doc/posix-functions/cbrt.texi: Mention that the module provides a
2054         replacement.
2055
2056 2012-02-29  Bruno Haible  <bruno@clisp.org>
2057
2058         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
2059         * m4/hypotl-ieee.m4: New file.
2060         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
2061         test whether hypotl works with mixed NaN and Infinity arguments.
2062         Replace it if not.
2063         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
2064         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
2065         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
2066         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
2067         (Depends-on): Update conditions.
2068         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
2069         (Depends-on): Add hypot-ieee.
2070         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
2071         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
2072
2073         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
2074         * m4/hypotf-ieee.m4: New file.
2075         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
2076         test whether hypotf works with mixed NaN and Infinity arguments.
2077         Replace it if not.
2078         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
2079         (Depends-on): Add hypot-ieee.
2080         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
2081         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
2082
2083         hypot-ieee: Work around test failure on OSF/1 and native Windows.
2084         * lib/math.in.h (hypot): New declaration.
2085         * lib/hypot.c: New file.
2086         * m4/hypot-ieee.m4: New file.
2087         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
2088         whether hypot works with mixed NaN and Infinity arguments. Replace it
2089         if not.
2090         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
2091         REPLACE_HYPOT.
2092         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
2093         * modules/hypot (Files): Add lib/hypot.c.
2094         (Depends-on): Add dependencies.
2095         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
2096         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
2097         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
2098         * tests/test-math-c++.cc: Check the declaration of hypot.
2099         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
2100
2101         Tests for module 'hypotl-ieee'.
2102         * modules/hypotl-ieee-tests: New file.
2103         * tests/test-hypotl-ieee.c: New file.
2104
2105         New module 'hypotl-ieee'.
2106         * modules/hypotl-ieee: New file.
2107
2108         Tests for module 'hypot-ieee'.
2109         * modules/hypot-ieee-tests: New file.
2110         * tests/test-hypot-ieee.c: New file.
2111
2112         New module 'hypot-ieee'.
2113         * modules/hypot-ieee: New file.
2114
2115         Tests for module 'hypotf-ieee'.
2116         * modules/hypotf-ieee-tests: New file.
2117         * tests/test-hypotf-ieee.c: New file.
2118         * tests/test-hypot-ieee.h: New file.
2119
2120         New module 'hypotf-ieee'.
2121         * modules/hypotf-ieee: New file.
2122
2123 2012-02-29  Bruno Haible  <bruno@clisp.org>
2124
2125         Remove unused variables.
2126         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
2127         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
2128         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
2129         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
2130
2131 2012-02-29  Eric Blake  <eblake@redhat.com>
2132
2133         termios: fix pid_t always, not just for tcgetsid
2134         * doc/posix-headers/termios.texi (termios.h): Mention problem.
2135         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
2136         just when building tcgetsid.
2137
2138 2012-02-29  Bruno Haible  <bruno@clisp.org>
2139
2140         Tests for module 'hypotl'.
2141         * modules/hypotl-tests: New file.
2142         * tests/test-hypotl.c: New file.
2143
2144         New module 'hypotl'.
2145         * lib/math.in.h (hypotl): New declaration.
2146         * lib/hypotl.c: New file.
2147         * m4/hypotl.m4: New file.
2148         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
2149         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
2150         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
2151         * modules/hypotl: New file.
2152         * tests/test-math-c++.cc: Check the hypotl declaration.
2153         * doc/posix-functions/hypotl.texi: Mention the new module.
2154
2155 2012-02-29  Eric Blake  <eblake@redhat.com>
2156
2157         tcgetsid: fix cygwin header bug
2158         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
2159
2160         docs: update cygwin progress
2161         * doc/posix-functions/llround.texi (llround): Added in cygwin
2162         1.7.8.
2163         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
2164         * doc/glibc-functions/program_invocation_name.texi
2165         (program_invocation_name): Likewise.
2166         * doc/glibc-functions/program_invocation_short_name.texi
2167         (program_invocation_short_name): Likewise.
2168         * doc/glibc-functions/madvise.texi (madvise): Likewise.
2169         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
2170         Likewise.
2171         * doc/posix-functions/pthread_spin_destroy.texi
2172         (pthread_spin_destroy): Added in cygwin 1.7.10.
2173         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
2174         Likewise.
2175         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
2176         Likewise.
2177         * doc/posix-functions/pthread_spin_trylock.texi
2178         (pthread_spin_trylock): Likewise.
2179         * doc/posix-functions/pthread_spin_unlock.texi
2180         (pthread_spin_unlock): Likewise.
2181         * doc/posix-functions/pthread_setschedprio.texi
2182         (pthread_setschedprio): Likewise.
2183         * doc/posix-functions/pthread_attr_getstack.texi
2184         (pthread_attr_getstack): Likewise.
2185         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
2186         (pthread_attr_getstackaddr): Likewise.
2187         * doc/glibc-functions/pthread_getattr_np.texi
2188         (pthread_getattr_np): Likewise.
2189         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
2190         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
2191         * doc/posix-functions/clock_settime.texi (clock_settime):
2192         Likewise.
2193         * doc/posix-functions/pthread_attr_getguardsize.texi
2194         (pthread_attr_getguardsize): Likewise.
2195         * doc/posix-functions/pthread_attr_setguardsize.texi
2196         (pthread_attr_setguardsize): Likewise.
2197         * doc/posix-functions/pthread_attr_setstack.texi
2198         (pthread_attr_setstack): Likewise.
2199         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
2200         (pthread_attr_setstackaddr): Likewise.
2201         * doc/posix-functions/clock_getcpuclockid.texi
2202         (clock_getcpuclockid): Likewise.
2203         * doc/posix-functions/pthread_getcpuclockid.texi
2204         (pthread_getcpuclockid): Likewise.
2205         * doc/glibc-functions/error.texi (error): Likewise.
2206         * doc/glibc-functions/error_at_line.texi (error_at_line):
2207         Likewise.
2208         * doc/glibc-functions/error_message_count.texi
2209         (error_message_count): Likewise.
2210         * doc/glibc-functions/error_one_per_line.texi
2211         (error_one_per_line): Likewise.
2212         * doc/glibc-functions/error_print_progname.texi
2213         (error_print_progname): Likewise.
2214         * doc/posix-functions/pthread_condattr_getclock.texi
2215         (pthread_condattr_getclock): Likewise.
2216         * doc/posix-functions/pthread_condattr_setclock.texi
2217         (pthread_condattr_setclock): Likewise.
2218         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
2219         Likewise.
2220         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
2221         * doc/glibc-functions/getpt.texi (getpt): Likewise.
2222         * doc/glibc-functions/get_current_dir_name.texi
2223         (get_current_dir_name): Likewise.
2224         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
2225         Likewise.
2226         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
2227         wrong return type.
2228         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
2229         1.7.11.
2230
2231 2012-02-29  Bruno Haible  <bruno@clisp.org>
2232
2233         Tests for module 'hypotf'.
2234         * modules/hypotf-tests: New file.
2235         * tests/test-hypotf.c: New file.
2236
2237         New module 'hypotf'.
2238         * lib/math.in.h (hypotf): New declaration.
2239         * lib/hypotf.c: New file.
2240         * m4/hypotf.m4: New file.
2241         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
2242         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
2243         REPLACE_HYPOTF.
2244         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
2245         REPLACE_HYPOTF.
2246         * modules/hypotf: New file.
2247         * tests/test-math-c++.cc: Check the hypotf declaration.
2248         * doc/posix-functions/hypotf.texi: Mention the new module.
2249
2250         hypot: Prepare for hypotf module.
2251         * m4/hypot.m4: New file.
2252         * modules/hypot (Files): Add m4/hypot.m4.
2253         (configure.ac): Invoke gl_FUNC_HYPOT.
2254
2255 2012-02-29  Bruno Haible  <bruno@clisp.org>
2256
2257         hypot tests: More tests.
2258         * tests/test-hypot.c: Include <float.h>.
2259         (main): Add tests about overflow and underflow.
2260
2261 2012-02-29  Bruno Haible  <bruno@clisp.org>
2262
2263         math code: Add comments.
2264         * lib/acosl.c: Add comment about related glibc source files.
2265         * lib/asinl.c: Likewise.
2266         * lib/atanl.c: Likewise.
2267         * lib/expl.c: Likewise.
2268         * lib/logl.c: Likewise.
2269         * lib/sincosl.c: Likewise.
2270         * lib/sinl.c: Likewise.
2271         * lib/tanl.c: Likewise.
2272         * lib/trigl.c: Likewise.
2273         * lib/cosl.c: Likewise. Fix comments.
2274
2275 2012-02-28  Bruno Haible  <bruno@clisp.org>
2276
2277         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
2278         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
2279         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
2280         HUGE_VALL are defined.
2281         (numeric_equald): Renamed from numeric_equal.
2282         (numeric_equalf, numeric_equall): New functions.
2283         (main): Check also HUGE_VALF, HUGE_VALL.
2284         * modules/math-tests (Files): Add tests/macros.h.
2285         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
2286         HUGE_VALL.
2287
2288 2012-02-28  Bruno Haible  <bruno@clisp.org>
2289
2290         doc: Move ISO C11 feature notes into POSIX chapters.
2291         * doc/posix-functions/aligned_alloc.texi: Renamed from
2292         doc/glibc-functions/aligned_alloc.texi.
2293         * doc/posix-functions/quick_exit.texi: Renamed from
2294         doc/glibc-functions/quick_exit.texi.
2295         * doc/posix-headers/uchar.texi: Renamed from
2296         doc/glibc-headers/uchar.texi.
2297         * doc/posix-functions/c16rtomb.texi: Renamed from
2298         doc/glibc-functions/c16rtomb.texi.
2299         * doc/posix-functions/c32rtomb.texi: Renamed from
2300         doc/glibc-functions/c32rtomb.texi.
2301         * doc/posix-functions/mbrtoc16.texi: Renamed from
2302         doc/glibc-functions/mbrtoc16.texi.
2303         * doc/posix-functions/mbrtoc32.texi: Renamed from
2304         doc/glibc-functions/mbrtoc32.texi.
2305         * doc/gnulib.texi: Update.
2306         (Glibc uchar.h): Remove section.
2307         Suggested by Eric Blake.
2308
2309 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
2310
2311         stdnoreturn: port to MSVC better
2312         MSVC standard headers use __declspec(noreturn), so #define noreturn
2313         to empty on that platform.  Reported by Bruno Haible in
2314         <http://lists.gnu.org/archive/html/bug-gnulib/2012-02/msg00152.html>.
2315         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
2316         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
2317
2318 2012-02-28  Bruno Haible  <bruno@clisp.org>
2319
2320         doc: Mention new glibc headers and functions.
2321         * doc/glibc-headers/uchar.texi: New file.
2322         * doc/glibc-functions/aligned_alloc.texi: New file.
2323         * doc/glibc-functions/c16rtomb.texi: New file.
2324         * doc/glibc-functions/c32rtomb.texi: New file.
2325         * doc/glibc-functions/clock_adjtime.texi: New file.
2326         * doc/glibc-functions/fanotify_init.texi: New file.
2327         * doc/glibc-functions/fanotify_mark.texi: New file.
2328         * doc/glibc-functions/inet6_opt_append.texi: New file.
2329         * doc/glibc-functions/inet6_opt_find.texi: New file.
2330         * doc/glibc-functions/inet6_opt_finish.texi: New file.
2331         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
2332         * doc/glibc-functions/inet6_opt_init.texi: New file.
2333         * doc/glibc-functions/inet6_opt_next.texi: New file.
2334         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
2335         * doc/glibc-functions/inet6_rth_add.texi: New file.
2336         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
2337         * doc/glibc-functions/inet6_rth_init.texi: New file.
2338         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
2339         * doc/glibc-functions/inet6_rth_segments.texi: New file.
2340         * doc/glibc-functions/inet6_rth_space.texi: New file.
2341         * doc/glibc-functions/login.texi: New file.
2342         * doc/glibc-functions/mbrtoc16.texi: New file.
2343         * doc/glibc-functions/mbrtoc32.texi: New file.
2344         * doc/glibc-functions/name_to_handle_at.texi: New file.
2345         * doc/glibc-functions/ntp_gettimex.texi: New file.
2346         * doc/glibc-functions/open_by_handle_at.texi: New file.
2347         * doc/glibc-functions/prlimit.texi: New file.
2348         * doc/glibc-functions/process_vm_readv.texi: New file.
2349         * doc/glibc-functions/process_vm_writev.texi: New file.
2350         * doc/glibc-functions/recvmmsg.texi: New file.
2351         * doc/glibc-functions/scandirat.texi: New file.
2352         * doc/glibc-functions/sendmmsg.texi: New file.
2353         * doc/glibc-functions/setns.texi: New file.
2354         * doc/glibc-functions/timespec_get.texi: New file.
2355         * doc/gnulib.texi: Include them.
2356         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
2357         sections.
2358         Reported by Eric Blake.
2359
2360 2012-02-28  Bruno Haible  <bruno@clisp.org>
2361
2362         Avoid compilation errors with MSVC option -fp:strict.
2363         * lib/floor.c: Use MSVC specific pragma fenv_access.
2364         * lib/ceil.c: Likewise.
2365         * lib/trunc.c: Likewise.
2366         * lib/round.c: Likewise.
2367         * lib/rint.c: Likewise.
2368         * lib/fma.c: Likewise.
2369         * lib/integer_length.c: Likewise.
2370         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
2371         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
2372         * tests/test-floor2.c: Likewise.
2373         * tests/test-floorf2.c: Likewise.
2374         * tests/test-ceil2.c: Likewise.
2375         * tests/test-ceilf2.c: Likewise.
2376         * tests/test-trunc2.c: Likewise.
2377         * tests/test-truncf2.c: Likewise.
2378         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
2379
2380 2012-02-27  Bruno Haible  <bruno@clisp.org>
2381
2382         Tests for module 'sqrtl-ieee'.
2383         * modules/sqrtl-ieee-tests: New file.
2384         * tests/test-sqrtl-ieee.c: New file.
2385
2386         New module 'sqrtl-ieee'.
2387         * modules/sqrtl-ieee: New file.
2388
2389         Tests for module 'sqrt-ieee'.
2390         * modules/sqrt-ieee-tests: New file.
2391         * tests/test-sqrt-ieee.c: New file.
2392
2393         New module 'sqrt-ieee'.
2394         * modules/sqrt-ieee: New file.
2395
2396         Tests for module 'sqrtf-ieee'.
2397         * modules/sqrtf-ieee-tests: New file.
2398         * tests/test-sqrtf-ieee.c: New file.
2399         * tests/test-sqrt-ieee.h: New file.
2400
2401         New module 'sqrtf-ieee'.
2402         * modules/sqrtf-ieee: New file.
2403
2404 2012-02-27  Bruno Haible  <bruno@clisp.org>
2405
2406         remainderl-ieee: Work around test failure on OSF/1.
2407         * m4/remainderl-ieee.m4: New file.
2408         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
2409         present, test whether remainderl works with a zero second argument.
2410         Replace it if not.
2411         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
2412         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
2413         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
2414         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
2415         (Depends-on): Update conditions.
2416         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
2417         (Depends-on): Add remainder-ieee.
2418         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
2419         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
2420         module.
2421
2422         remainderf-ieee: Work around test failure on OSF/1.
2423         * m4/remainderf-ieee.m4: New file.
2424         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
2425         present, test whether remainderf works with a zero second argument.
2426         Replace it if not.
2427         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
2428         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
2429         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
2430         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
2431         (Depends-on): Update conditions.
2432         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
2433         (Depends-on): Add remainder-ieee.
2434         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
2435         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
2436         module.
2437
2438         remainder-ieee: Work around test failure on OSF/1.
2439         * m4/remainder-ieee.m4: New file.
2440         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
2441         present, test whether remainder works with a zero second argument.
2442         Replace it if not.
2443         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
2444         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
2445         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
2446         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
2447         (Depends-on): Update dependencies.
2448         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
2449         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
2450         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
2451
2452         Tests for module 'remainderl-ieee'.
2453         * modules/remainderl-ieee-tests: New file.
2454         * tests/test-remainderl-ieee.c: New file.
2455
2456         New module 'remainderl-ieee'.
2457         * modules/remainderl-ieee: New file.
2458
2459         Tests for module 'remainder-ieee'.
2460         * modules/remainder-ieee-tests: New file.
2461         * tests/test-remainder-ieee.c: New file.
2462
2463         New module 'remainder-ieee'.
2464         * modules/remainder-ieee: New file.
2465
2466         Tests for module 'remainderf-ieee'.
2467         * modules/remainderf-ieee-tests: New file.
2468         * tests/test-remainderf-ieee.c: New file.
2469         * tests/test-remainder-ieee.h: New file.
2470
2471         New module 'remainderf-ieee'.
2472         * modules/remainderf-ieee: New file.
2473
2474 2012-02-27  Bruno Haible  <bruno@clisp.org>
2475
2476         modff, modfl: Fix configure syntax error.
2477         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
2478         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
2479
2480 2012-02-27  Bruno Haible  <bruno@clisp.org>
2481
2482         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
2483         * m4/fmodl-ieee.m4: New file.
2484         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
2485         whether fmodl works with zero arguments. Replace it if not.
2486         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
2487         (Depends-on): Add fmod-ieee.
2488         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
2489         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
2490
2491         fmodf-ieee: Work around test failure on OSF/1.
2492         * m4/fmodf-ieee.m4: New file.
2493         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
2494         whether fmodf works with zero arguments. Replace it if not.
2495         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
2496         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
2497         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
2498         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
2499         (Depends-on): Update dependencies.
2500         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
2501         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
2502         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
2503
2504         fmodf-ieee: Work around test failure on MSVC 9.
2505         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
2506         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
2507
2508         fmod-ieee: Work around test failures on OSF/1, mingw.
2509         * m4/fmod-ieee.m4: New file.
2510         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
2511         whether fmod works with zero arguments. Replace it if not.
2512         * lib/math.in.h (fmod): New declaration.
2513         * lib/fmod.c: New file.
2514         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
2515         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
2516         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
2517         * modules/fmod (Files): Add lib/fmod.c.
2518         (Depends-on): Add math, isinf, trunc, fma.
2519         (configure.ac): Arrange to compile lib/fmod.c if needed.
2520         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
2521         m4/signbit.m4.
2522         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
2523         * tests/test-math-c++.cc: Check the declaration of fmod.
2524         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
2525
2526         fmodl-ieee: Fix test failures.
2527         * lib/fmodl.c (fmodl): Treat Inf specially.
2528         * modules/fmodl (Depends-on): Add isinf.
2529
2530         Tests for module 'fmodl-ieee'.
2531         * modules/fmodl-ieee-tests: New file.
2532         * tests/test-fmodl-ieee.c: New file.
2533
2534         New module 'fmodl-ieee'.
2535         * modules/fmodl-ieee: New file.
2536
2537         Tests for module 'fmod-ieee'.
2538         * modules/fmod-ieee-tests: New file.
2539         * tests/test-fmod-ieee.c: New file.
2540
2541         New module 'fmod-ieee'.
2542         * modules/fmod-ieee: New file.
2543
2544         Tests for module 'fmodf-ieee'.
2545         * modules/fmodf-ieee-tests: New file.
2546         * tests/test-fmodf-ieee.c: New file.
2547         * tests/test-fmod-ieee.h: New file.
2548
2549         New module 'fmodf-ieee'.
2550         * modules/fmodf-ieee: New file.
2551
2552 2012-02-27  Bruno Haible  <bruno@clisp.org>
2553
2554         Tests for module 'rintl-ieee'.
2555         * modules/rintl-ieee-tests: New file.
2556         * tests/test-rintl-ieee.c: New file.
2557
2558         New module 'rintl-ieee'.
2559         * modules/rintl-ieee: New file.
2560
2561         Tests for module 'rint-ieee'.
2562         * modules/rint-ieee-tests: New file.
2563         * tests/test-rint-ieee.c: New file.
2564
2565         New module 'rint-ieee'.
2566         * modules/rint-ieee: New file.
2567
2568         Tests for module 'rintf-ieee'.
2569         * modules/rintf-ieee-tests: New file.
2570         * tests/test-rintf-ieee.c: New file.
2571         * tests/test-rint-ieee.h: New file.
2572
2573         New module 'rintf-ieee'.
2574         * modules/rintf-ieee: New file.
2575
2576 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
2577
2578         regex: re_search etc. should return -2 when memory exhausted
2579         This bug was uncovered when testing 'grep'.  Without the fix,
2580         re_search and friends return -1 when memory is exhausted, but -1
2581         means no match, and this causes grep to falsely report no-match
2582         instead of memory-exhaustion.  See
2583         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
2584         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
2585         trouble; this can occur if re_search_internal ran out of memory.
2586
2587 2012-02-26  Bruno Haible  <bruno@clisp.org>
2588
2589         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
2590         * m4/modfl-ieee.m4: New file.
2591         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
2592         whether modfl works with Inf. Replace it if not.
2593         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
2594         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
2595         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
2596         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
2597         (Depends-on): Update dependencies.
2598         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
2599         m4/signbit.m4.
2600         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
2601         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
2602
2603         modfl-ieee: Fix dependencies.
2604         * modules/modfl-ieee (Depends-on): Add modf-ieee.
2605
2606         modfl-ieee: Fix test failures.
2607         * lib/modfl.c (modfl): Treat NaN and Inf specially.
2608         * modules/modfl (Depends-on): Add isfinite, isinf.
2609
2610         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
2611         * m4/modff-ieee.m4: New file.
2612         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
2613         whether modff works with NaN and Inf. Replace it if not.
2614         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
2615         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
2616         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
2617         * modules/modff (configure.ac): Consider REPLACE_MODFF.
2618         (Depends-on): Update dependencies.
2619         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
2620         m4/signbit.m4.
2621         (Depends-on): Add modf-ieee.
2622         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
2623         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
2624
2625         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
2626         * m4/modf-ieee.m4: New file.
2627         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
2628         whether modf works with NaN and Inf. Replace it if not.
2629         * lib/math.in.h (modf): New declaration.
2630         * lib/modf.c: New file.
2631         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
2632         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
2633         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
2634         * modules/modf (Files): Add lib/modf.c.
2635         (Depends-on): Add math, isfinite, trunc, isinf.
2636         (configure.ac): Addrange to compile lib/modf.c if needed.
2637         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
2638         m4/signbit.m4.
2639         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
2640         * tests/test-math-c++.cc: Check the declaration of modf.
2641         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
2642
2643         Tests for module 'modfl-ieee'.
2644         * modules/modfl-ieee-tests: New file.
2645         * tests/test-modfl-ieee.c: New file.
2646
2647         New module 'modfl-ieee'.
2648         * modules/modfl-ieee: New file.
2649
2650         Tests for module 'modf-ieee'.
2651         * modules/modf-ieee-tests: New file.
2652         * tests/test-modf-ieee.c: New file.
2653
2654         New module 'modf-ieee'.
2655         * modules/modf-ieee: New file.
2656
2657         Tests for module 'modff-ieee'.
2658         * modules/modff-ieee-tests: New file.
2659         * tests/test-modff-ieee.c: New file.
2660         * tests/test-modf-ieee.h: New file.
2661
2662         New module 'modff-ieee'.
2663         * modules/modff-ieee: New file.
2664
2665 2012-02-26  Bruno Haible  <bruno@clisp.org>
2666
2667         Tests for module 'fabsl-ieee'.
2668         * modules/fabsl-ieee-tests: New file.
2669         * tests/test-fabsl-ieee.c: New file.
2670
2671         New module 'fabsl-ieee'.
2672         * modules/fabsl-ieee: New file.
2673
2674         Tests for module 'fabs-ieee'.
2675         * modules/fabs-ieee-tests: New file.
2676         * tests/test-fabs-ieee.c: New file.
2677
2678         New module 'fabs-ieee'.
2679         * modules/fabs-ieee: New file.
2680
2681         Tests for module 'fabsf-ieee'.
2682         * modules/fabsf-ieee-tests: New file.
2683         * tests/test-fabsf-ieee.c: New file.
2684         * tests/test-fabs-ieee.h: New file.
2685
2686         New module 'fabsf-ieee'.
2687         * modules/fabsf-ieee: New file.
2688
2689 2012-02-26  Bruno Haible  <bruno@clisp.org>
2690
2691         Tests for module 'fmal-ieee'.
2692         * modules/fmal-ieee-tests: New file.
2693         * tests/test-fmal-ieee.c: New file.
2694
2695         New module 'fmal-ieee'.
2696         * modules/fmal-ieee: New file.
2697
2698         Tests for module 'fma-ieee'.
2699         * modules/fma-ieee-tests: New file.
2700         * tests/test-fma-ieee.c: New file.
2701
2702         New module 'fma-ieee'.
2703         * modules/fma-ieee: New file.
2704
2705         Tests for module 'fmaf-ieee'.
2706         * modules/fmaf-ieee-tests: New file.
2707         * tests/test-fmaf-ieee.c: New file.
2708         * tests/test-fma-ieee.h: New file.
2709
2710         New module 'fmaf-ieee'.
2711         * modules/fmaf-ieee: New file.
2712
2713 2012-02-26  Bruno Haible  <bruno@clisp.org>
2714
2715         Tests for module 'ldexpl-ieee'.
2716         * modules/ldexpl-ieee-tests: New file.
2717         * tests/test-ldexpl-ieee.c: New file.
2718
2719         New module 'ldexpl-ieee'.
2720         * modules/ldexpl-ieee: New file.
2721
2722         Tests for module 'ldexp-ieee'.
2723         * modules/ldexp-ieee-tests: New file.
2724         * tests/test-ldexp-ieee.c: New file.
2725
2726         New module 'ldexp-ieee'.
2727         * modules/ldexp-ieee: New file.
2728
2729         Tests for module 'ldexpf-ieee'.
2730         * modules/ldexpf-ieee-tests: New file.
2731         * tests/test-ldexpf-ieee.c: New file.
2732         * tests/test-ldexp-ieee.h: New file.
2733
2734         New module 'ldexpf-ieee'.
2735         * modules/ldexpf-ieee: New file.
2736
2737 2012-02-26  Bruno Haible  <bruno@clisp.org>
2738
2739         Refactor frexp*-ieee tests.
2740         * tests/test-frexp-ieee.h: New file.
2741         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
2742         (main): Just call test_function.
2743         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
2744         (main): Just call test_function.
2745         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
2746         (main): Just call test_function.
2747         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
2748         * modules/frexp-ieee-tests (Files): Likewise.
2749         * modules/frexpl-ieee-tests (Files): Likewise.
2750
2751         Tests for module 'frexpl-ieee'.
2752         * modules/frexpl-ieee-tests: New file.
2753         * tests/test-frexpl-ieee.c: New file.
2754
2755         New module 'frexpl-ieee'.
2756         * modules/frexpl-ieee: New file.
2757
2758         Tests for module 'frexp-ieee'.
2759         * modules/frexp-ieee-tests: New file.
2760         * tests/test-frexp-ieee.c: New file.
2761
2762         New module 'frexp-ieee'.
2763         * modules/frexp-ieee: New file.
2764
2765         Tests for module 'frexpf-ieee'.
2766         * modules/frexpf-ieee-tests: New file.
2767         * tests/test-frexpf-ieee.c: New file.
2768
2769         New module 'frexpf-ieee'.
2770         * modules/frexpf-ieee: New file.
2771
2772 2012-02-26  Bruno Haible  <bruno@clisp.org>
2773
2774         roundl-ieee tests: More tests.
2775         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
2776         (main): Add tests for [MX] shaded specification in POSIX.
2777         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
2778         (Depends-on): Add isnanl-nolibm.
2779
2780         round-ieee tests: More tests.
2781         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
2782         (main): Add tests for [MX] shaded specification in POSIX.
2783         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
2784         (Depends-on): Add isnand-nolibm.
2785
2786         roundf-ieee tests: More tests.
2787         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
2788         (main): Add tests for [MX] shaded specification in POSIX.
2789         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
2790         (Depends-on): Add isnanf-nolibm.
2791
2792         truncl-ieee tests: More tests.
2793         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
2794         (main): Add tests for [MX] shaded specification in POSIX.
2795         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
2796         (Depends-on): Add isnanl-nolibm.
2797
2798         trunc-ieee tests: More tests.
2799         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
2800         (main): Add tests for [MX] shaded specification in POSIX.
2801         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
2802         (Depends-on): Add isnand-nolibm.
2803
2804         truncf-ieee tests: More tests.
2805         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
2806         (main): Add tests for [MX] shaded specification in POSIX.
2807         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
2808         (Depends-on): Add isnanf-nolibm.
2809
2810         ceill-ieee tests: More tests.
2811         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
2812         (main): Add tests for [MX] shaded specification in POSIX.
2813         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
2814         (Depends-on): Add isnanl-nolibm.
2815
2816         ceil-ieee tests: More tests.
2817         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
2818         (main): Add tests for [MX] shaded specification in POSIX.
2819         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
2820         (Depends-on): Add isnand-nolibm.
2821
2822         ceilf-ieee tests: More tests.
2823         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
2824         (main): Add tests for [MX] shaded specification in POSIX.
2825         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
2826         (Depends-on): Add isnanf-nolibm.
2827
2828         floorl-ieee tests: More tests.
2829         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
2830         (main): Add tests for [MX] shaded specification in POSIX.
2831         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
2832         (Depends-on): Add isnanl-nolibm.
2833
2834         floor-ieee tests: More tests.
2835         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
2836         (main): Add tests for [MX] shaded specification in POSIX.
2837         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
2838         (Depends-on): Add isnand-nolibm.
2839
2840         floorf-ieee tests: More tests.
2841         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
2842         (main): Add tests for [MX] shaded specification in POSIX.
2843         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
2844         (Depends-on): Add isnanf-nolibm.
2845
2846 2012-02-26  Bruno Haible  <bruno@clisp.org>
2847
2848         fpieee: More comments.
2849         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
2850
2851 2012-02-25  Bruno Haible  <bruno@clisp.org>
2852
2853         Tests for module 'log10l'.
2854         * modules/log10l-tests: New file.
2855         * tests/test-log10l.c: New file.
2856         * tests/test-math-c++.cc: Check the declaration of log10l.
2857
2858         New module 'log10l'.
2859         * lib/math.in.h (log10l): New declaration.
2860         * lib/log10l.c: New file.
2861         * m4/log10l.m4: New file.
2862         * modules/log10l: New file.
2863         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
2864         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
2865         HAVE_DECL_LOG10L.
2866         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
2867         HAVE_DECL_LOG10L.
2868         * doc/posix-functions/log10l.texi: Mention the new module.
2869
2870 2012-02-25  Bruno Haible  <bruno@clisp.org>
2871
2872         fmodl, remainder*: Avoid wrong results due to rounding errors.
2873         * lib/fmodl.c (fmodl): Correct the result if it is not within the
2874         expected bounds.
2875         * lib/remainderf.c (remainderf): Likewise.
2876         * lib/remainder.c (remainder): Likewise.
2877         * lib/remainderl.c (remainderl): Likewise.
2878
2879 2012-02-25  Bruno Haible  <bruno@clisp.org>
2880
2881         Tests for module 'remainderl'.
2882         * modules/remainderl-tests: New file.
2883         * tests/test-remainderl.c: New file.
2884         * tests/test-math-c++.cc: Check the declaration of remainderl.
2885
2886         New module 'remainderl'.
2887         * lib/math.in.h (remainderl): New declaration.
2888         * lib/remainderl.c: New file.
2889         * m4/remainderl.m4: New file.
2890         * modules/remainderl: New file.
2891         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
2892         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
2893         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
2894         HAVE_REMAINDERL.
2895         * doc/posix-functions/remainderl.texi: Mention the new module.
2896
2897 2012-02-25  Bruno Haible  <bruno@clisp.org>
2898
2899         Tests for module 'remainderf'.
2900         * modules/remainderf-tests: New file.
2901         * tests/test-remainderf.c: New file.
2902         * tests/test-math-c++.cc: Check the declaration of remainderf.
2903
2904         New module 'remainderf'.
2905         * lib/math.in.h (remainderf): New declaration.
2906         * lib/remainderf.c: New file.
2907         * m4/remainderf.m4: New file.
2908         * modules/remainderf: New file.
2909         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
2910         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
2911         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
2912         HAVE_REMAINDERF.
2913         * doc/posix-functions/remainderf.texi: Mention the new module.
2914
2915 2012-02-25  Bruno Haible  <bruno@clisp.org>
2916
2917         remainder: Support for MSVC.
2918         * lib/math.in.h (remainder): New declaration.
2919         * lib/remainder.c: New file.
2920         * m4/remainder.m4: New file.
2921         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
2922         (Depends-on): Add math, round, fma.
2923         (configure.ac): Use results of gl_FUNC_REMAINDER.
2924         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
2925         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
2926         HAVE_DECL_REMAINDER.
2927         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
2928         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
2929         * tests/test-math-c++.cc: Check the declaration of remainder.
2930         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
2931         problems are fixed.
2932
2933 2012-02-25  Bruno Haible  <bruno@clisp.org>
2934
2935         Tests for module 'fmodl'.
2936         * modules/fmodl-tests: New file.
2937         * tests/test-fmodl.c: New file.
2938         * tests/test-math-c++.cc: Check the declaration of fmodl.
2939
2940         New module 'fmodl'.
2941         * lib/math.in.h (fmodl): New declaration.
2942         * lib/fmodl.c: New file.
2943         * m4/fmodl.m4: New file.
2944         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
2945         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
2946         REPLACE_FMODL.
2947         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
2948         REPLACE_FMODL.
2949         * modules/fmodl: New file.
2950         * doc/posix-functions/fmodl.texi: Mention the new module.
2951
2952 2012-02-25  Bruno Haible  <bruno@clisp.org>
2953
2954         Tests for module 'modfl'.
2955         * modules/modfl-tests: New file.
2956         * tests/test-modfl.c: New file.
2957         * tests/test-math-c++.cc: Check the declaration of modfl.
2958
2959         New module 'modfl'.
2960         * lib/math.in.h (modfl): New declaration.
2961         * lib/modfl.c: New file.
2962         * m4/modfl.m4: New file.
2963         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
2964         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
2965         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
2966         * modules/modfl: New file.
2967         * doc/posix-functions/modfl.texi: Mention the new module.
2968
2969 2012-02-25  Bruno Haible  <bruno@clisp.org>
2970
2971         Tests for module 'fabsl'.
2972         * modules/fabsl-tests: New file.
2973         * tests/test-fabsl.c: New file.
2974         * tests/test-math-c++.cc: Check the declaration of fabsl.
2975
2976         New module 'fabsl'.
2977         * lib/math.in.h (fabsl): New declaration.
2978         * lib/fabsl.c: New file.
2979         * m4/fabsl.m4: New file.
2980         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
2981         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
2982         REPLACE_FABSL.
2983         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
2984         REPLACE_FABSL.
2985         * modules/fabsl: New file.
2986         * doc/posix-functions/fabsl.texi: Mention the new module.
2987
2988 2012-02-25  Bruno Haible  <bruno@clisp.org>
2989
2990         fabs tests: More tests.
2991         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
2992         (zero): New variable.
2993         (main): Add tests for signed zero.
2994         * modules/fabs-tests (Files): Add tests/minus-zero.h.
2995
2996         fabsf tests: More tests.
2997         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
2998         (zero): New variable.
2999         (main): Add tests for signed zero.
3000         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
3001
3002 2012-02-24  Bruno Haible  <bruno@clisp.org>
3003
3004         atanl: Provide function definition on MSVC.
3005         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
3006         function pointer.
3007         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
3008
3009 2012-02-24  Bruno Haible  <bruno@clisp.org>
3010
3011         acosl: Provide function definition on MSVC.
3012         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
3013         function pointer.
3014         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
3015
3016 2012-02-24  Bruno Haible  <bruno@clisp.org>
3017
3018         asinl: Provide function definition on MSVC.
3019         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
3020         function pointer.
3021         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
3022
3023 2012-02-24  Bruno Haible  <bruno@clisp.org>
3024
3025         tanl: Provide function definition on MSVC.
3026         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
3027         function pointer.
3028         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
3029
3030 2012-02-24  Bruno Haible  <bruno@clisp.org>
3031
3032         cosl: Provide function definition on MSVC.
3033         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
3034         function pointer.
3035         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
3036
3037 2012-02-24  Bruno Haible  <bruno@clisp.org>
3038
3039         sinl: Provide function definition on MSVC.
3040         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
3041         function pointer.
3042         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
3043
3044 2012-02-24  Bruno Haible  <bruno@clisp.org>
3045
3046         logl: Provide function definition on MSVC.
3047         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
3048         function pointer.
3049         * lib/math.in.h (logl): Undefine if it does not exist as a function.
3050
3051 2012-02-24  Bruno Haible  <bruno@clisp.org>
3052
3053         expl: Provide function definition on MSVC.
3054         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
3055         function pointer.
3056         * lib/math.in.h (expl): Undefine if it does not exist as a function.
3057
3058 2012-02-24  Bruno Haible  <bruno@clisp.org>
3059
3060         sqrtl: Provide function definition on MSVC.
3061         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
3062         a function pointer.
3063         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
3064
3065 2012-02-24  Bruno Haible  <bruno@clisp.org>
3066
3067         ceill: Provide function definition on MSVC.
3068         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
3069         used as a function pointer.
3070         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
3071
3072 2012-02-24  Bruno Haible  <bruno@clisp.org>
3073
3074         floorl: Provide function definition on MSVC.
3075         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
3076         used as a function pointer.
3077         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
3078
3079 2012-02-24  Bruno Haible  <bruno@clisp.org>
3080
3081         ceilf: Provide function definition on MSVC.
3082         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
3083         used as a function pointer.
3084         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
3085
3086 2012-02-24  Bruno Haible  <bruno@clisp.org>
3087
3088         floorf: Provide function definition on MSVC.
3089         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
3090         used as a function pointer.
3091         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
3092
3093 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
3094
3095         stdnoreturn: new module
3096         This implements a replacement for C11's <stdnoreturn.h>.
3097         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
3098         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
3099         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
3100         * tests/test-stdnoreturn.c: New files.
3101
3102 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
3103
3104         regex: fix false multibyte matches in some regular expressions
3105         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
3106         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
3107         * lib/regex_internal.c (re_string_skip_chars):
3108         Fix miscomputation of remain_len that may cause incomplete
3109         multi-byte character and false match.
3110
3111 2012-02-24  Jim Meyering  <meyering@redhat.com>
3112
3113         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
3114         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
3115         uses with "==" *before* the call, e.g., 0 == strcmp (...)
3116         Remove now-unnecessary str''cmp obfuscation.
3117         Suggested by Akim Demaille.
3118
3119 2012-02-24  Bruno Haible  <bruno@clisp.org>
3120
3121         streq: Rename macro.
3122         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
3123         * NEWS: Mention the change.
3124         * lib/mbrtowc.c (mbrtowc): Update.
3125         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
3126         * lib/wcwidth.c (wcwidth): Update.
3127         Suggested by Akim Demaille and Jim Meyering.
3128
3129 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
3130
3131         regex: fix typo in definition of MIN
3132         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
3133         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
3134
3135 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
3136             Bruno Haible  <bruno@clisp.org>
3137
3138         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
3139         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
3140         entries into a stack-allocated buffer directly.
3141         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
3142
3143 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
3144             Bruno Haible  <bruno@clisp.org>
3145
3146         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
3147
3148          - There were several instances of this pattern:
3149
3150              for (;;) {
3151                n = acl (f, GETACLCNT, 0, NULL);
3152                [ allocate an array A of size N ]
3153                if (acl (f, GETACL, n, a) == n)
3154                  break;
3155              }
3156
3157            This loop might never terminate if some other process is constantly
3158            manipulating the file's ACL.  The loop should be rewritten to
3159            terminate.
3160
3161          - The acl (... GETACLNT ...) call is merely an optimization; its value
3162            is merely a hint as to how big to make the array.  A better
3163            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
3164            and just guess a reasonably-big size, growing the size and trying
3165            again if it's not large enough.  This guarantees termination, and
3166            saves a system call.
3167
3168         * lib/acl-internal.h: Include <limits.h>.
3169         (MIN, SIZE_MAX): New macros.
3170         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
3171         a stack-allocated buffer, and use malloc if it does not fit. Don't
3172         use GETACLCNT.
3173         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
3174
3175 2012-02-19  Bruno Haible  <bruno@clisp.org>
3176
3177         acl: Fix endless loop on Solaris with vxfs.
3178         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
3179         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
3180         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
3181         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
3182         * tests/test-sameacls.c (main)[Solaris]: Likewise.
3183         Reported by Bill Jones in
3184         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
3185
3186 2012-02-19  Bruno Haible  <bruno@clisp.org>
3187
3188         acl: Fix copy-acl test failure on Solaris 11 2011-11.
3189         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
3190         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
3191         that this function returns 0 in some more cases.
3192
3193 2012-02-19  Bruno Haible  <bruno@clisp.org>
3194
3195         acl: Update doc references.
3196         * doc/acl-resources.txt: Update links to Solaris documentation.
3197
3198 2012-02-19  Bruno Haible  <bruno@clisp.org>
3199
3200         Fix test failure in many locales on Solaris 11.
3201         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
3202         'tr' arguments.
3203         * tests/test-pipe-filter-ii1.c (main): Likewise.
3204         * build-aux/bootstrap (check_versions): Run 'tr' command with range
3205         expressions in the C locale.
3206         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
3207         * m4/host-os.m4 (gl_HOST_OS): Likewise.
3208
3209 2012-02-19  Bruno Haible  <bruno@clisp.org>
3210
3211         gnulib-tool: Improve usage message.
3212         * gnulib-tool (func_usage): Move doc of --help and --version to the
3213         section "Operation modes".
3214
3215 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
3216
3217         README-release: make it easier to execute commands
3218         * top/README-release: break commands out on to separate lines.
3219
3220 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
3221
3222         GNUmakefile: simplify detection of unconfigured trees
3223         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
3224         whether the tree make is being run from is already configured or
3225         not.  Related simplifications.
3226
3227 2012-02-13  Simon Josefsson  <simon@josefsson.org>
3228
3229         * gnulib-tool (func_usage): Document --help and --version.
3230
3231 2012-02-11  Jim Meyering  <meyering@redhat.com>
3232
3233         bootstrap: don't exit 0 upon gnulib-tool failure
3234         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
3235         its exit status, not 0.
3236
3237 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
3238
3239         README-release: various improvements
3240         * top/README-release: Give a command to push changes for the
3241         release.  Add "distcheck" to list of other pre-release checks.
3242         Fix instance of "make stable" which should be "make TYPE".
3243
3244 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
3245
3246         maint: replace FSF snail-mail addresses with URLs
3247         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
3248         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
3249         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
3250         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
3251         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
3252         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
3253         * lib/check-version.c, lib/check-version.h, lib/config.charset:
3254         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
3255         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
3256         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
3257         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
3258         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
3259         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
3260         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
3261         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
3262         * lib/glthread/thread.c, lib/glthread/thread.h:
3263         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
3264         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
3265         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
3266         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
3267         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
3268         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
3269         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
3270         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
3271         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
3272         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
3273         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
3274         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
3275         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
3276         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
3277         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
3278         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
3279         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
3280         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
3281         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
3282         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
3283         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
3284         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
3285         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
3286         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
3287         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
3288         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
3289         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
3290         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
3291         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
3292         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
3293         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
3294         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
3295         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
3296         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
3297         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
3298         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
3299         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
3300         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
3301         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
3302         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
3303         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
3304         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
3305         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
3306         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
3307         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
3308         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
3309         * tests/test-poll.c, tests/test-quotearg-simple.c:
3310         * tests/test-quotearg.c, tests/test-quotearg.h:
3311         * tests/test-round-ieee.c, tests/test-round1.c:
3312         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
3313         * tests/test-roundl-ieee.c, tests/test-roundl.c:
3314         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
3315         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
3316         * tests/test-strerror.c, tests/test-strerror_r.c:
3317         * tests/test-strsignal.c, tests/test-strverscmp.c:
3318         * tests/test-xmemdup0.c:
3319         Replace FSF snail mail addresses with URLs, as per GNU coding
3320         standards.  See glibc bug
3321         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
3322
3323 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
3324
3325         README-release: capitalize a word and split a line
3326         * top/README-release: Fix punctuation and spacing.
3327
3328 2012-02-08  Akim Demaille  <demaille@gostai.com>
3329
3330         fatal-signal: use C prototypes (with explicit void).
3331         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
3332         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
3333
3334 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
3335
3336         regex: spelling fix
3337         * lib/regexec.c: spelling fix
3338
3339         regex: rely on stdint.h for SIZE_MAX
3340         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
3341
3342 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
3343
3344         regex: merge glibc changes
3345
3346         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
3347         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
3348         (init_word_char): Work even if bitset words are not exactly 32 or
3349         64 bits wide.  Don't assume there are no padding bits.
3350         * lib/regex.c [_LIBC]: Do not include <config.h>.
3351         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
3352         and -Wtype-limits.
3353         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
3354         needless disagreement with glibc.  All uses changed.  Define it to
3355         1 only if _GNU_SOURCE, to match glibc.
3356         (_REG_RM_NAME): Remove; no longer needed, since the names in
3357         question are now all protected by __USE_GNU.
3358         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
3359         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
3360         * lib/regex_internal.h (MIN): New macro.
3361
3362         2012-01-03 Ulrich Drepper <drepper@gmail.com>
3363         * lib/regcomp.c (init_word_char): Optimize regex a bit.
3364
3365         2011-12-30 Jakub Jelinek <jakub@redhat.com>
3366         * lib/regex_internal.c (re_string_fetch_byte_case):
3367         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
3368         is miscompiled, and it turns out it is because of an incorrect
3369         attribute on re_string_fetch_byte_case.  Unlike
3370         re_string_peek_byte_case, this one is really not pure, it modifies
3371         memory (increments pstr->cur_idx), and with the pure attribute GCC
3372         assumed it doesn't and it cached the presumed value of
3373         regexp->cur_idx in a variable across the
3374          for (;; ++i)
3375            {
3376              if (i >= BRACKET_NAME_BUF_SIZE)
3377                return REG_EBRACK;
3378              if (token->type == OP_OPEN_CHAR_CLASS)
3379                ch = re_string_fetch_byte_case (regexp);
3380              else
3381                ch = re_string_fetch_byte (regexp);
3382              if (re_string_eoi(regexp))
3383                return REG_EBRACK;
3384              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
3385                break;
3386              elem->opr.name[i] = ch;
3387            }
3388
3389         2011-11-29 Andreas Schwab <schwab@redhat.com>
3390         * lib/regcomp.c (build_equiv_class):
3391         Fix access after end of search string in regex matcher.
3392
3393         2011-11-12 Ulrich Drepper <drepper@redhat.com>
3394         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
3395
3396         2011-10-12 Ulrich Drepper <drepper@redhat.com>
3397         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
3398
3399         2011-10-11 Ulrich Drepper <drepper@redhat.com>
3400         * lib/regcomp.c (parse_branch, parse_sub_exp):
3401         More regex memory leak fixes and tests.
3402         (parse_sub_exp, parse_bracket_exp):
3403         Fix memory leak for some invalid regular expressions.
3404
3405         2011-05-28 Ulrich Drepper <drepper@gmail.com>
3406         * lib/regex_internal.c, lib/regexec.c:
3407         Fix unnecessary overallocation due to incomplete character.  When
3408         incomplete characters are found at the end of a string the code
3409         ran amok and allocated lots of memory.  Stricter limits are now in
3410         place.
3411
3412         2011-05-20 Reuben Thomas <rrt@sc3d.org>
3413         * lib/regex.h: Update documentation.
3414
3415         2011-05-16 Aharon Robbins <arnold@skeeve.com>
3416         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
3417
3418         2010-05-05 Andreas Schwab <schwab@redhat.com>
3419         * lib/regexec.c (find_collation_sequence_value):
3420         Fix lookup of collation sequence value during regexp matching.
3421
3422         2010-01-22 Ulrich Drepper <drepper@redhat.com>
3423         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
3424
3425         2008-01-16 Ulrich Drepper <drepper@redhat.com>
3426         * lib/regex.h: Cleanup namespace.
3427
3428         2007-11-26 Ulrich Drepper <drepper@redhat.com>
3429         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
3430
3431         2007-08-26 Ulrich Drepper <drepper@redhat.com>
3432         * lib/regex_internal.h: Prevent some declarations and definitions
3433         to be seen when used in tests.
3434
3435         2005-05-06 Ulrich Drepper <drepper@redhat.com>
3436         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
3437         __libc_lock_* macros if not _LIBC.
3438         (struct re_dfa_t): Add lock.
3439
3440 2012-02-07  Eric Blake  <eblake@redhat.com>
3441
3442         maint.mk: also prohibit lower-case @var@
3443         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
3444         lower case, like @top_srcdir@.
3445
3446 2012-02-04  Eric Blake  <eblake@redhat.com>
3447
3448         canonicalize: avoid uninitialized memory use
3449         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
3450         random '/' left in dest.
3451         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
3452
3453 2012-02-04  Bruno Haible  <bruno@clisp.org>
3454
3455         isatty: Fix test failure of ptsname_r on native Windows.
3456         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
3457         and don't set errno.
3458         (isatty): Test first whether fd is valid. Set errno when returning 0.
3459
3460 2012-02-04  Bruno Haible  <bruno@clisp.org>
3461
3462         spawn-pipe tests: Fix a NULL program name in a diagnostic.
3463         * tests/test-spawn-pipe-main.c: Include progname.h.
3464         (main): Invoke set_program_name.
3465         * modules/spawn-pipe-tests (Depends-on): Add progname.
3466
3467         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
3468         * tests/test-nonblocking-socket-main.c: Include progname.h.
3469         (main): Invoke set_program_name.
3470         * modules/nonblocking-socket-tests (Depends-on): Add progname.
3471
3472         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
3473         * tests/test-nonblocking-pipe-main.c: Include progname.h.
3474         (main): Invoke set_program_name.
3475         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
3476
3477 2012-02-04  Eric Blake  <eblake@redhat.com>
3478
3479         canonicalize-lgpl: fix // handling
3480         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
3481
3482         canonicalize: fix // handling
3483         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
3484         /// to //, since only // is special.
3485
3486 2012-02-04  Bruno Haible  <bruno@clisp.org>
3487
3488         ioctl: Fix test failure on native Windows.
3489         * lib/ioctl.c: Include msvc-nothrow.h.
3490         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
3491
3492 2012-02-04  Bruno Haible  <bruno@clisp.org>
3493
3494         fsync: Avoid test failure on native Windows.
3495         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
3496         read-only.
3497
3498 2012-02-04  Bruno Haible  <bruno@clisp.org>
3499
3500         sys_select: Avoid syntax error on OpenBSD 5.0.
3501         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
3502         currently being included, just include the system's <sys/select.h>.
3503
3504 2012-02-04  Bruno Haible  <bruno@clisp.org>
3505
3506         sys_select: Avoid syntax error on OpenBSD 5.0.
3507         * lib/sys_select.in.h: Include <signal.h> only after the include_next
3508         <sys/select.h>, not before.
3509         Reported by Jiri B <jirib@devio.us>.
3510
3511 2012-02-04  Bruno Haible  <bruno@clisp.org>
3512
3513         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
3514         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
3515         global variables.
3516         * tests/test-get-rusage-data.c (main): Likewise.
3517         Reported by Jim Meyering.
3518
3519 2012-02-04  Bruno Haible  <bruno@clisp.org>
3520
3521         stdioext: Fix last commit.
3522         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
3523
3524 2012-02-03  Bruno Haible  <bruno@clisp.org>
3525
3526         stdioext: Add tentative support for Plan9.
3527         * lib/stdio-impl.h: Include <errno.h>.
3528         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
3529         * lib/freadable.c (freadable): Likewise.
3530         * lib/fwritable.c (fwritable): Likewise.
3531         * lib/fbufmode.c (fbufmode): Likewise.
3532         * lib/freading.c (freading): Likewise.
3533         * lib/fwriting.c (fwriting): Likewise.
3534         * lib/freadptr.c (freadptr): Likewise.
3535         * lib/freadseek.c (freadptrinc): Likewise.
3536         * lib/freadahead.c (freadahead): Likewise.
3537         * lib/fpurge.c (fpurge): Likewise.
3538         * lib/fseeko.c (rpl_fseeko): Likewise.
3539         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
3540         Reported by Jens Staal <staal1978@gmail.com>.
3541
3542 2012-02-02  Jim Meyering  <meyering@redhat.com>
3543
3544         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
3545         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
3546         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
3547         not even to try to add the attribute.  Instead, add a pragma to suppress
3548         the suggestion/warning.
3549
3550 2012-01-31  Karl Berry  <karl@gnu.org>
3551
3552         setstate doc: typo.
3553         * doc/posix-functions/setstate.texi (setstate): { not (.
3554
3555 2012-01-31  Bruno Haible  <bruno@clisp.org>
3556
3557         popen: Make more robust on Windows.
3558         * lib/popen.c: On native Windows, use the _popen based code even if
3559         HAVE_POPEN is set.
3560         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
3561         environment variable on native Windows.
3562
3563 2012-01-30  Bruno Haible  <bruno@clisp.org>
3564
3565         pclose: Fix typo.
3566         * lib/stdio.in.h (pclose): Fix typo in warning message.
3567
3568 2012-01-30  Bruno Haible  <bruno@clisp.org>
3569
3570         doc about getlogin_r, setstate.
3571         * doc/posix-functions/getlogin_r.texi: List the incompatible
3572         declaration problem under "not fixed by gnulib".
3573         * doc/posix-functions/setstate.texi: Mention incompatible declaration
3574         problem on Solaris 11 and other platforms.
3575
3576 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
3577             Bruno Haible  <bruno@clisp.org>
3578
3579         poll tests: Make test more robust.
3580         * tests/test-poll.c: Include macros.h.
3581         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
3582         return value of various I/O operations.
3583         * modules/poll-tests (Files): Add tests/macros.h.
3584
3585 2012-01-30  Bruno Haible  <bruno@clisp.org>
3586
3587         sys_stat: Fix support for mingw64 and MSVC.
3588         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
3589         header files already do it.
3590         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
3591         stat itself.
3592         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
3593
3594 2012-01-30  Bruno Haible  <bruno@clisp.org>
3595
3596         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
3597         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
3598         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
3599
3600 2012-01-29  Bruno Haible  <bruno@clisp.org>
3601
3602         quotearg: Fix test failure on MacOS X 10.5.
3603         * tests/test-quotearg-simple.c: Include localcharset.h.
3604         (main): If the locale encoding is not ASCII, bypass the tests of
3605         locale_quoting_style and clocale_quoting_style.
3606         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
3607
3608 2012-01-29  Jim Meyering  <meyering@redhat.com>
3609
3610         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
3611         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
3612         detect uses of canonicalize_file_name.
3613
3614 2012-01-28  Bruno Haible  <bruno@clisp.org>
3615
3616         test-framework-sh: Fix test failure with AIX 7.1 diff.
3617         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
3618         in column 1, like 'diff -c' does.
3619         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
3620         whether 'diff -u' is used. Instead, test whether the output contains
3621         some '@' character.
3622
3623 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
3624
3625         strtoimax: eliminate need for stdint.h, inttypes.h checks
3626         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
3627         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
3628         the prerequisites for a recently-introduced strtoimax test.
3629         I guess this might cause strtoimax to be replaced when not
3630         strictly necessary on older hosts, but this shouldn't introduce
3631         any bugs and it should make Emacs 'configure' faster on typical
3632         modern hosts.  Problem discovered when importing the latest gnulib
3633         to an Emacs test version.
3634         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
3635
3636 2012-01-28  Bruno Haible  <bruno@clisp.org>
3637
3638         sys_time: Override 'struct timeval' on some native Windows platforms.
3639         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
3640         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
3641         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
3642         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
3643         needs to be overridden.
3644         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
3645         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
3646         * tests/test-sys_select.c: Check that the tv_sec member has the same
3647         size as a 'time_t'.
3648         * tests/test-sys_time.c: Likewise.
3649         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
3650         is set, set also REPLACE_GETTIMEOFDAY.
3651         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
3652         convert the resulting 'struct timeval' before returning.
3653         * lib/select.c: Include <sys/time.h>.
3654         (select, timeval): Undefine at the right place.
3655         * modules/select (Depends-on): Add sys_time.
3656         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
3657         some Windows platforms.
3658         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
3659
3660 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
3661
3662         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
3663         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
3664         an integer.
3665         * lib/fcntl.c (dupfd): Likewise.
3666         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
3667
3668 2012-01-28  Bruno Haible  <bruno@clisp.org>
3669
3670         fcntl: Avoid compilation error on native Windows.
3671         * modules/fcntl (Depends-on): Add 'close'.
3672
3673 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
3674
3675         select, poll, isatty: Avoid warnings on x86_64 mingw64.
3676         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
3677         pointer to an integer.
3678         * lib/poll.c (IsConsoleHandle): Likewise.
3679         * lib/isatty.c (IsConsoleHandle): Likewise.
3680
3681 2012-01-28  Jim Meyering  <meyering@redhat.com>
3682
3683         doc: clarify README-release
3684         * top/README-release: Clarify: you should make a point to have
3685         the latest stable versions of build tools in your PATH, and the
3686         reference to buildreq is solely for its list of tool names, not
3687         for its minimal-functional version numbers.
3688         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
3689
3690         maint.mk: use more readable (yet functionally equivalent) quoting
3691         It is common to quote a single quote in a single quoted string like
3692         this:  '...'\''...'.  Unless you know the idiom, that looks like
3693         gibberish, so prefer to double-quote the string when possible.
3694         Then you can use a more readable, lone single quote: "...'..."
3695         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
3696         "don't" is more readable than the equivalent 'don'\''t'.
3697         (sc_cast_of_x_alloc_return_value): Likewise.
3698         (sc_cast_of_alloca_return_value): Likewise.
3699         (sc_makefile_path_separator_check): Similar: use ":" in '...',
3700         rather than '\'':'\''.
3701
3702 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
3703
3704         stdalign: relax _Alignof and tighten _Alignas test
3705         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
3706         as it was too strict: alignof must divide offsetof, but it need
3707         not equal offsetof.  Inspired by Joseph S. Myers's comment
3708         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
3709         Conversely, tighten the _Alignas test a bit, as the resulting
3710         alignment must be exactly 8.
3711
3712 2012-01-27  Bruno Haible  <bruno@clisp.org>
3713
3714         stdalign: Document the last change.
3715         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
3716
3717 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
3718
3719         stdalign: check that alignof and offsetof are consistent
3720         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
3721         Problem reported for gnulib by Richard W.M. Jones in
3722         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
3723
3724 2012-01-27  Jim Meyering  <meyering@redhat.com>
3725
3726         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
3727         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
3728         convert a sequence with gaps to the minimal containing range.
3729         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
3730         * tests/test-update-copyright.sh: Test for this.
3731         The FSF confirmed it is ok to do this, assuming there is at
3732         least one significant change per year in the affected range:
3733         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
3734
3735 2012-01-26  Bruno Haible  <bruno@clisp.org>
3736
3737         pipe2: refine doc about thread-safety
3738         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
3739         multithread-safety problem.
3740         * doc/glibc-functions/accept4.texi: Likewise.
3741
3742 2012-01-26  Bruno Haible  <bruno@clisp.org>
3743
3744         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
3745         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
3746         In the test program, include <fcntl.h>, for O_RDONLY.
3747
3748 2012-01-26  Eric Blake  <eblake@redhat.com>
3749
3750         pipe2: document lack of thread-safety in replacement
3751         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
3752         issue in replacement.
3753         * doc/glibc-functions/accept4.texi (accept4): Likewise.
3754         Based on a report by Eric Wong.
3755
3756 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
3757             Bruno Haible  <bruno@clisp.org>
3758
3759         malloca: Avoid warnings on x86_64 mingw64.
3760         * lib/malloca.c: Include <stdint.h>.
3761         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
3762         * modules/malloca (Depends-on): Add stdint.
3763         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
3764
3765 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
3766
3767         obstack: remove __STDC__ conditionals
3768         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
3769         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
3770         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
3771         m4/include_next.m4 as the only gnulib-maintained places that still
3772         refer to __STDC__.
3773
3774 2012-01-24  Bruno Haible  <bruno@clisp.org>
3775
3776         havelib: Modern quoting.
3777         * build-aux/config.rpath: Quote 'like this', not `like this', as per
3778         the recent change to the GNU coding standards.
3779
3780 2012-01-24  Bruno Haible  <bruno@clisp.org>
3781
3782         stdint: Improve support for Android.
3783         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
3784         Reported by Simon Josefsson <simon@josefsson.org>.
3785
3786 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
3787
3788         doc: omit trailing empty lines from INSTALL etc.
3789         * doc/Makefile (INSTALL): Omit trailing empty lines.
3790         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
3791         omit trailing empty lines.  This simplifies the build procedure.
3792
3793 2012-01-23  Jim Meyering  <meyering@redhat.com>
3794
3795         tests: avoid spurious warnings about gl_sockets_startup
3796         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
3797         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
3798         reporting a "statement with no effect".
3799         * tests/test-accept.c (main): Mark as "(void)".
3800         * tests/test-accept4.c (main): Likewise.
3801         * tests/test-bind.c (main): Likewise.
3802         * tests/test-connect.c (main): Likewise.
3803         * tests/test-getpeername.c (main): Likewise.
3804         * tests/test-getsockname.c (main): Likewise.
3805         * tests/test-getsockopt.c (main): Likewise.
3806         * tests/test-listen.c (main): Likewise.
3807         * tests/test-recv.c (main): Likewise.
3808         * tests/test-recvfrom.c (main): Likewise.
3809         * tests/test-send.c (main): Likewise.
3810         * tests/test-sendto.c (main): Likewise.
3811         * tests/test-setsockopt.c (main): Likewise.
3812         * tests/test-shutdown.c (main): Likewise.
3813
3814 2012-01-21  Bruno Haible  <bruno@clisp.org>
3815
3816         locale-fr.m4: Fix for Android.
3817         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
3818         failure of the test program on Bionic libc.
3819
3820 2012-01-21  Jim Meyering  <meyering@redhat.com>
3821
3822         bootstrap: fail when bootstrap_post_import_hook fails
3823         Otherwise, it's far too easy to miss diagnostics emitted
3824         between gnulib-tool's output and that of running configure.
3825         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
3826
3827 2012-01-17  Jim Meyering  <meyering@redhat.com>
3828
3829         maint: enable sc_trailing_blank
3830         * build-aux/pmccabe.css: Remove trailing blanks.
3831         * doc/acl-cygwin.txt: Likewise.
3832         * doc/gnu-oids.texi: Likewise
3833         * cfg.mk: Enable sc_trailing_blank.
3834         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
3835
3836 2012-01-17  Jim Meyering  <meyering@redhat.com>
3837
3838         maint: enable sc_prohibit_openat_without_use
3839         * cfg.mk: Enable sc_prohibit_openat_without_use.
3840         Exempt lib/selinux-at.c.
3841
3842 2012-01-17  Jim Meyering  <meyering@redhat.com>
3843
3844         maint: enable sc_prohibit_cloexec_without_use
3845         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
3846         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
3847
3848 2012-01-17  Jim Meyering  <meyering@redhat.com>
3849
3850         maint: enable sc_prohibit_intprops_without_use
3851         * cfg.mk: Enable sc_prohibit_intprops_without_use
3852         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
3853
3854 2012-01-17  Jim Meyering  <meyering@redhat.com>
3855
3856         maint: enable sc_prohibit_hash_pjw_without_use
3857         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
3858         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
3859         to match any use of \<hash_pjw\>, i.e., not necessarily with a
3860         following " (".
3861
3862 2012-01-17  Jim Meyering  <meyering@redhat.com>
3863
3864         maint: enable double-word-prohibiting rule
3865         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
3866         Exempt three files.
3867
3868 2012-01-17  Jim Meyering  <meyering@redhat.com>
3869
3870         maint: remove empty lines at EOF, but excluding modules/*
3871         Apply syntax rules at home as well as abroad.  Most changes
3872         were induced by running this:
3873           make srcdir=. _build-aux=build-aux -f top/maint.mk \
3874             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
3875             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
3876         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
3877         Exempt modules/* and two binary files.
3878         Also exempt doc/INSTALL*, per request from Bruno Haible.
3879         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
3880         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
3881         * doc/Copyright/request-assign.future: Likewise.
3882         * doc/Copyright/request-disclaim.changes: Likewise.
3883         * doc/INSTALL: Likewise.
3884         * doc/INSTALL.ISO: Likewise.
3885         * doc/INSTALL.UTF-8: Likewise.
3886         * doc/acl-cygwin.txt: Likewise.
3887         * doc/acl-resources.txt: Likewise.
3888         * doc/fdl-1.2.texi: Likewise.
3889         * doc/fdl-1.3.texi: Likewise.
3890         * doc/fdl.texi: Likewise.
3891         * lib/argp-pin.c: Likewise.
3892         * lib/round.c: Likewise.
3893         * lib/unicase/u16-totitle.c: Likewise.
3894         * lib/unictype/block_test.c: Likewise.
3895         * lib/uninorm/canonical-decomposition.c: Likewise.
3896         * m4/README: Likewise.
3897         * m4/relocatable-lib.m4: Likewise.
3898         * tests/test-isnand-nolibm.c: Likewise.
3899         * tests/test-isnand.c: Likewise.
3900         * tests/uninorm/NormalizationTest.txt: Likewise.
3901
3902 2012-01-17  Jim Meyering  <meyering@redhat.com>
3903
3904         maint: add framework to run syntax-check rules against gnulib sources
3905         * cfg.mk: New file, to disable all currently-failing tests.
3906         We'll enable them one by one, as they are made to pass.
3907         * Makefile (sc_maint): New rule.
3908
3909 2012-01-21  Bruno Haible  <bruno@clisp.org>
3910
3911         stdint: Add support for Android.
3912         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
3913         include the system's <stdint.h>.
3914         Reported by Simon Josefsson <simon@josefsson.org>.
3915
3916 2012-01-19  Jim Meyering  <meyering@redhat.com>
3917
3918         bootstrap: add bootstrap_post_import_hook
3919         Bison does still need something like the gnulib_mk_hook whose
3920         invocation I had to remove along with slurp in commit 767ccd40.
3921         Technically, we could get along without it, but doing so would
3922         have required living with a warning and a mandatory post-bootstrap
3923         automake rerun.
3924         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
3925         (bootstrap_post_import_hook): New function.
3926         Invoke it after gnulib-tool --import and before autoreconf.
3927
3928 2012-01-18  Jim Meyering  <meyering@redhat.com>
3929
3930         gitlog-to-changelog: don't use "no_"-prefixed variable name
3931         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
3932         to enable both --cluster and --no-cluster.  Change variable name,
3933         s/\$no_cluster/$cluster/, and reverse usage to match.
3934
3935         gitlog-to-changelog: use "||", not "or" in expressions
3936         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
3937         expressions.
3938
3939 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
3940
3941         gitlog-to-changelog: new option --no-cluster
3942         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
3943         clustering of adjacent commit messages.
3944
3945 2012-01-17  Jim Meyering  <meyering@redhat.com>
3946
3947         maint: spell file systems with two words, not one
3948         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
3949         two words, not one.
3950
3951 2012-01-16  Jim Meyering  <meyering@redhat.com>
3952
3953         bootstrap: add a FIXME comment to ensure we eventually remove the hack
3954         * build-aux/bootstrap (gnulib_tool_options): Add comment.
3955
3956 2012-01-16  Eric Blake  <eblake@redhat.com>
3957
3958         bootstrap: cater to autoconf 2.59
3959         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
3960         is not available.
3961
3962         bootstrap: properly check for libtool
3963         * build-aux/bootstrap (libtoolize): Also run libtool when older
3964         usage is detected.
3965
3966 2012-01-15  Bruno Haible  <bruno@clisp.org>
3967
3968         Improve support for MSVC 9.
3969         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
3970         clashes on MSVC.
3971         * lib/fcntl.in.h: Likewise.
3972         * lib/stdlib.in.h: Likewise.
3973         * lib/sys_stat.in.h: Likewise.
3974
3975 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
3976
3977         gnupload: we hold the master copy of this script now
3978         For motivation and more information, see:
3979         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
3980         * build-aux/gnupload: Make it clear in the heading comments that the
3981         master copy of this file is maintained by gnulib.  Since we are at
3982         it, bump its copyright year and ...
3983         ($scriptversion): ... the date in its version.
3984         ($usage): Patches and bug reports should be sent to the gnulib list,
3985         not the automake one.
3986         * config/srclist.txt: Don't try to sync 'gnupload' from automake
3987         anymore.
3988
3989 2012-01-15  Bruno Haible  <bruno@clisp.org>
3990
3991         Fix module 'random'.
3992         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
3993         initstate, setstate are declared.
3994
3995 2012-01-14  Bruno Haible  <bruno@clisp.org>
3996
3997         Tests for module 'random'.
3998         * modules/random-tests: New file.
3999         * tests/test-random.c: New file, based on tests/test-random_r.c.
4000
4001         New module 'random'.
4002         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
4003         declarations.
4004         * lib/random.c: New file, based on glibc/stdlib/random.c.
4005         * m4/random.m4: New file.
4006         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
4007         HAVE_RANDOM.
4008         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
4009         * modules/random: New file.
4010         * config/srclist.txt: Add an entry for random.c.
4011         * doc/posix-functions/random.texi: Mention the 'random' module.
4012         * doc/posix-functions/initstate.texi: Likewise.
4013         * doc/posix-functions/setstate.texi: Likewise.
4014         * doc/posix-functions/srandom.texi: Likewise.
4015
4016 2012-01-12  Bruno Haible  <bruno@clisp.org>
4017
4018         random_r: Use common idioms.
4019         * lib/random_r.c: Include <stdlib.h> first.
4020
4021         random_r: Override incompatible API on AIX, OSF/1.
4022         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
4023         Override the system function if REPLACE_RANDOM_R is 1.
4024         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
4025         and OSF/1, set REPLACE_RANDOM_R.
4026         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
4027         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
4028         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
4029         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
4030         * doc/glibc-functions/random_r.texi: Likewise.
4031         * doc/glibc-functions/setstate_r.texi: Likewise.
4032
4033         random_r: Support for MSVC 9.
4034         * lib/random_r.c: Include stdint.h, not inttypes.h.
4035
4036 2012-01-12  Eric Blake  <eblake@redhat.com>
4037
4038         inet_ntop: guard extra work by IF_LINT
4039         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
4040         better code generation when not checking for warnings.
4041         Suggested by Paul Eggert and Jim Meyering.
4042
4043         strptime: fix regression on mingw
4044         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
4045         Fix regression.  Reported by Bruno Haible.
4046
4047 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
4048             Bruno Haible  <bruno@clisp.org>
4049
4050         copy-file: add error-code-returning variant.
4051         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
4052         (qcopy_file_preserving): New declaration.
4053         * lib/copy-file.c (qcopy_file_preserving): Renamed from
4054         copy_file_preserving. Change return type to 'int'. Don't emit an error
4055         message here.
4056         (copy_file_preserving): New function.
4057         * tests/test-copy-file.c: Include <stdlib.h>.
4058         (main): Test qcopy_file_preserving if the environment variable
4059         NO_STDERR_OUTPUT is set.
4060         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
4061         with NO_STDERR_OUTPUT
4062         * tests/test-copy-file-2.sh: Likewise.
4063
4064 2012-01-10  Bruno Haible  <bruno@clisp.org>
4065
4066         copy-file: Use 'quote' module consistently.
4067         * lib/copy-file.c (copy_file_preserving): Use quote().
4068
4069         copy-file: Refactor.
4070         * lib/copy-file.c: Include quote.h.
4071         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
4072         message here.
4073         * modules/copy-file (Depends-on): Add quote.
4074
4075         acl: Export qcopy_acl.
4076         * lib/acl.h (qcopy_acl): New declaration.
4077         * lib/copy-acl.c (qcopy_acl): Make non-static.
4078
4079         acl: Rename a local variable.
4080         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
4081
4082         acl: Align return values of copy_acl and qcopy_acl.
4083         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
4084         maybe < -1.
4085
4086 2012-01-11  Eric Blake  <eblake@redhat.com>
4087
4088         strptime: silence gcc warnings
4089         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
4090         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
4091         Reported by Daniel P. Berrange.
4092
4093         inet_ntop: silence gcc warning
4094         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
4095         Reported by Daniel P. Berrange.
4096
4097 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
4098
4099         getloadavg test: skip the test on GNU/Linux without /proc mounted
4100         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
4101         file.  When /proc is not mounted, it always fails with ENOENT.
4102         * tests/test-getloadavg.c (main): Treat ENOENT return code from
4103         getloadavg(3) the same way as ENOSYS and ENOTSUP.
4104
4105 2012-01-10  Bruno Haible  <bruno@clisp.org>
4106
4107         regex: Avoid link error on MSVC 9.
4108         * modules/regex (Depends-on): Add wctype.
4109
4110 2012-01-10  Bruno Haible  <bruno@clisp.org>
4111
4112         doc: Mention --with-tests option.
4113         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
4114         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
4115         --with-tests.
4116         Reported by Reuben Thomas.
4117
4118 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
4119
4120         users.txt: order package names lexicographically.
4121         * users.txt: Order package names lexicographically.
4122
4123 2012-01-10  Jim Meyering  <meyering@redhat.com>
4124
4125         maint.mk: fix description in comment
4126         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
4127
4128         ignore-value: remove deprecated ignore_ptr function
4129         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
4130         * NEWS: Note this.
4131
4132 2012-01-09  Jim Meyering  <meyering@redhat.com>
4133
4134         test-init.sh: avoid a subshell
4135         * tests/test-init.sh: Remove protective subshell.
4136         Suggested by Bernhard Voelker.  While a subshell is normally
4137         required to protect against older shells (Solaris, FreeBSD) that
4138         warn about a missing program before performing redirection, the
4139         shell-selection tests performed by init.sh probably exclude any
4140         offending shell.
4141
4142 2012-01-08  Bruno Haible  <bruno@clisp.org>
4143
4144         setlocale tests: Avoid test failure on Solaris 11 2011-11.
4145         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
4146         variable.
4147
4148 2012-01-08  Bruno Haible  <bruno@clisp.org>
4149
4150         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
4151         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
4152         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
4153         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
4154         macro.
4155         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
4156         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
4157         * lib/spawn_faction_addopen.c: Add workaround implementation if
4158         HAVE_WORKING_POSIX_SPAWN.
4159         * modules/spawn (Makefile): Substitute
4160         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
4161         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
4162         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
4163         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
4164         (Depends-on): Update conditions.
4165         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
4166         the Solaris 11 bug.
4167
4168 2012-01-08  Bruno Haible  <bruno@clisp.org>
4169
4170         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
4171         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
4172         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
4173         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
4174         macro.
4175         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
4176         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
4177         * lib/spawn_faction_adddup2.c: Add workaround implementation if
4178         HAVE_WORKING_POSIX_SPAWN.
4179         * modules/spawn (Makefile): Substitute
4180         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
4181         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
4182         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
4183         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
4184         (Depends-on): Update conditions.
4185         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
4186         the Solaris 11 bug.
4187
4188 2012-01-08  Bruno Haible  <bruno@clisp.org>
4189
4190         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
4191         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
4192         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
4193         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
4194         HAVE_WORKING_POSIX_SPAWN.
4195         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
4196         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
4197         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
4198         * lib/spawn_faction_addclose.c: Add workaround implementation if
4199         HAVE_WORKING_POSIX_SPAWN.
4200         * modules/spawn (Makefile): Substitute
4201         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
4202         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
4203         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
4204         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
4205         (Depends-on): Update conditions.
4206         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
4207         the Solaris 11 bug.
4208
4209 2012-01-08  Bruno Haible  <bruno@clisp.org>
4210
4211         doc: Update for Solaris 11 2011-11.
4212         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
4213         * m4/printf.m4: Update comments.
4214
4215 2012-01-08  Bruno Haible  <bruno@clisp.org>
4216
4217         mktime: Avoid compilation error on Solaris 11.
4218         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
4219
4220 2012-01-08  Bruno Haible  <bruno@clisp.org>
4221
4222         doc: Small fix.
4223         * doc/posix-headers/nl_types.texi: Correct platforms list.
4224
4225 2012-01-08  Simon Josefsson  <simon@josefsson.org>
4226
4227         Add lgpl-3.0 module.
4228         * MODULES.html.sh (Support for building documentation): Add
4229         lgpl-3.0.
4230         * modules/lgpl-3.0: New file.
4231
4232 2012-01-08  Jim Meyering  <meyering@redhat.com>
4233
4234         select.c: indent with spaces, not TABs
4235         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
4236
4237 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
4238
4239         quotearg: do not use grave accent for left quote
4240         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
4241         locale_quoting_style.
4242         (quotearg_buffer_restyled): Fix example.
4243         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
4244
4245 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
4246
4247         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
4248         Most programs do not have translation catalogs for English and much
4249         less separate catalogs for British and American English.  Drop the
4250         suggestion to translators about these two, and provide it
4251         automatically for Unicode locales.  Like most programs, even those
4252         using American English, we use single quotation marks.  This conflicts
4253         with the American typographic convention, but works better when you
4254         cite the entire error message within double quotes.  It also tries not
4255         to clash with established practice and with what non-gnulib programs
4256         will usually do.
4257         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
4258         using an UTF-8 or GB-18030 locale.  The list of other locales with
4259         quotes was provided by Bruno Haible.
4260         (quotearg_buffer_restyled): Adjust instructions to translators.
4261         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
4262         text, since this would be wrong when using Unicode.
4263         * modules/quotearg: Depend on c-strcaseeq.
4264
4265 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
4266
4267         quotearg: fix Wikipedia link
4268         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
4269
4270 2012-01-07  Simon Josefsson  <simon@josefsson.org>
4271
4272         Fix for mingw with MSVC9.
4273         * m4/ld-version-script.m4: Check that compiler rejects version
4274         scripts with syntax errors.  Reported by Bruno Haible
4275         <bruno@clisp.org>.
4276
4277 2012-01-06  Bruno Haible  <bruno@clisp.org>
4278
4279         Talk about "native Windows API", not "Woe32".
4280         * lib/accept4.c: Update comments to mention native Windows.
4281         * lib/execute.c: Likewise.
4282         * lib/fatal-signal.c: Likewise.
4283         * lib/localcharset.c: Likewise.
4284         * lib/nanosleep.c: Likewise.
4285         * lib/nl_langinfo.c: Likewise.
4286         * lib/pclose.c: Likewise.
4287         * lib/pipe-filter-gi.c: Likewise.
4288         * lib/pipe-filter-ii.c: Likewise.
4289         * lib/pipe.c: Likewise.
4290         * lib/pipe2.c: Likewise.
4291         * lib/popen.c: Likewise.
4292         * lib/progreloc.c: Likewise.
4293         * lib/relocatable.c: Likewise.
4294         * lib/sigaction.c: Likewise.
4295         * lib/sigprocmask.c: Likewise.
4296         * lib/spawn-pipe.h: Likewise.
4297         * lib/spawn-pipe.c: Likewise.
4298         * lib/spawni.c: Likewise.
4299         * lib/stat-time.h: Likewise.
4300         * lib/w32spawn.h: Likewise.
4301         * tests/test-isatty.c: Likewise.
4302         * lib/config.charset: More comments.
4303         * doc/gnulib-intro.texi: Mention native Windows.
4304         * doc/posix-functions/_Exit_C99.texi: Likewise.
4305         * doc/posix-headers/fcntl.texi: Likewise.
4306
4307 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
4308
4309         argp: Avoid crash if translator uses % characters in a translation.
4310         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
4311         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
4312
4313 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
4314
4315         doc: C11 and C++11 are now official
4316         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
4317         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
4318         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
4319         * modules/stdalign:
4320         Replace references to draft C1X to C11, and to draft C++0X to C++11.
4321
4322 2012-01-06  Bruno Haible  <bruno@clisp.org>
4323
4324         uc-is-grapheme-break tests: Tweak.
4325         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
4326         message.
4327
4328 2012-01-06  Bruno Haible  <bruno@clisp.org>
4329
4330         test-init.sh: correct the test for diff -u
4331         * tests/test-init.sh: Also redirect stdout to /dev/null.
4332
4333 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
4334
4335         Use ', not `, for quoting output.
4336         * build-aux/announce-gen (usage, sizes, print_news_deltas)
4337         (print_changelog_deltas, get_tool_versions, main program):
4338         * build-aux/git-version-gen:
4339         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
4340         * build-aux/move-if-change (help):
4341         * build-aux/useless-if-before-free (usage, main program):
4342         * check-module (parse_module_file, usage)
4343         (find_included_lib_files, check_module):
4344         * lib/argmatch.c (main) [TEST]:
4345         * lib/argp-help.c (_help):
4346         * lib/getopt1.c (main) [TEST]:
4347         * lib/git-merge-changelog.c (usage):
4348         * lib/xstrtol-error.c (xstrtol_error):
4349         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
4350         * m4/argz.m4 (gl_FUNC_ARGZ):
4351         * m4/bison.m4 (gl_BISON):
4352         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
4353         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
4354         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
4355         * m4/fpending.m4 (gl_PREREQ_FPENDING):
4356         * m4/gc-random.m4 (gl_GC_RANDOM):
4357         * m4/intl.m4 (gt_CHECK_DECL):
4358         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
4359         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
4360         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
4361         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
4362         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
4363         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
4364         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
4365         * tests/test-dirname.c (main):
4366         * tests/test-getpass.c (main):
4367         * tests/test-iconvme.c (main):
4368         * tests/test-parse-datetime.c (LOG):
4369         * tests/test-xstrtoimax.sh:
4370         * tests/test-xstrtol.sh:
4371         * tests/test-xstrtoll.sh:
4372         * tests/test-xstrtoumax.sh:
4373         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
4374         * top/GNUmakefile (abort-due-to-no-makefile):
4375         Quote 'like this', not `like this', as per the recent change to
4376         the GNU coding standards.
4377
4378 2012-01-05  Bruno Haible  <bruno@clisp.org>
4379
4380         strtoimax: Don't force a replacement on systems where intmax_t is int.
4381         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
4382         'intmax_t' is not larger than 'int'.
4383         Reported by Pádraig Brady <P@draigBrady.com>.
4384
4385 2012-01-05  Bruno Haible  <bruno@clisp.org>
4386
4387         doc: Mention NetBSD bugs.
4388         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
4389         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
4390
4391 2012-01-05  Bruno Haible  <bruno@clisp.org>
4392
4393         strtoumax tests: Enhance tests.
4394         * tests/test-strtoumax.c (main): Add tests for large values.
4395
4396 2012-01-05  Bruno Haible  <bruno@clisp.org>
4397
4398         strtoimax: Work around AIX 5.1 bug.
4399         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
4400         definition.
4401         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
4402         Set HAVE_STRTOIMAX.
4403         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
4404         REPLACE_STRTOIMAX.
4405         * modules/inttypes-incomplete (Makefile.am): Substitute
4406         REPLACE_STRTOIMAX.
4407         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
4408         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
4409         (Depends-on): Update conditions.
4410         * tests/test-strtoimax.c (main): Add tests for large values.
4411         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
4412
4413 2012-01-05  Bruno Haible  <bruno@clisp.org>
4414
4415         inttypes: Modernize.
4416         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
4417         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
4418         (Makefile.am): Update inttypes.h rule.
4419
4420 2012-01-05  Jim Meyering  <meyering@redhat.com>
4421
4422         init.sh: don't waste a subshell just to redirect stderr
4423         * tests/init.sh: In testing for diff -u and diff -c, use a
4424         stderr-redirecting exec inside `...` rather than a subshell.
4425
4426         test-init.sh: avoid failure on HP-UX 11.00
4427         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
4428         resolves to diff -c or cmp.  Reported by Bruno Haible.
4429
4430 2012-01-05  Bruno Haible  <bruno@clisp.org>
4431
4432         Tests for module 'strtoull'.
4433         * modules/strtoull-tests: New file.
4434         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
4435
4436 2012-01-05  Bruno Haible  <bruno@clisp.org>
4437
4438         Tests for module 'strtoll'.
4439         * modules/strtoll-tests: New file.
4440         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
4441
4442 2012-01-05  Bruno Haible  <bruno@clisp.org>
4443
4444         Tests for module 'strtoul'.
4445         * modules/strtoul-tests: New file.
4446         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
4447
4448 2012-01-05  Bruno Haible  <bruno@clisp.org>
4449
4450         Tests for module 'strtol'.
4451         * modules/strtol-tests: New file.
4452         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
4453
4454 2012-01-04  Jim Meyering  <meyering@redhat.com>
4455
4456         test-init.sh: accommodate Solaris 5.10's different diff -u output
4457         * tests/test-init.sh: Also exempt @@ lines from the comparison
4458         of diff output, since Solaris 5.10 and GNU diff formats differ.
4459         Reported by Stefano Lattarini.
4460
4461 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
4462
4463         test-posixtm: don't assume signed integer wraparound
4464         * tests/test-posixtm.c (main): Don't assume wraparound semantics
4465         after signed integer overflow.  Inspired by (though it may not
4466         fix) Bruno Haible's bug report in
4467         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
4468
4469         Spell out "Windows 9x" and "Windows XP".
4470         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
4471         "Windows 9x" and "WinXP" with "Windows XP".
4472
4473 2012-01-04  Jim Meyering  <meyering@redhat.com>
4474
4475         test-vc-list-files-cvs.sh: remove obsolete comment
4476         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
4477         double exit.  Now that's all encapsulated via skip_ and Exit.
4478
4479 2012-01-04  Bruno Haible  <bruno@clisp.org>
4480
4481         Talk about "native Windows API", not "Win32".
4482         * lib/classpath.c: Update comments to mention native Windows.
4483         * lib/csharpexec.c: Likewise.
4484         * lib/dup2.c: Likewise.
4485         * lib/error.c: Likewise.
4486         * lib/fcntl.c: Likewise.
4487         * lib/filename.h: Likewise.
4488         * lib/findprog.c: Likewise.
4489         * lib/get-rusage-as.c: Likewise.
4490         * lib/get-rusage-data.c: Likewise.
4491         * lib/getpagesize.c: Likewise.
4492         * lib/javaexec.c: Likewise.
4493         * lib/msvc-inval.c: Likewise.
4494         * lib/msvc-nothrow.c: Likewise.
4495         * lib/nanosleep.c: Likewise.
4496         * lib/nonblocking.c: Likewise.
4497         * lib/printf-parse.c: Likewise.
4498         * lib/setlocale.c: Likewise.
4499         * lib/sigaction.c: Likewise.
4500         * lib/strerror_r.c: Likewise.
4501         * lib/tmpdir.c: Likewise.
4502         * lib/vasnprintf.c: Likewise.
4503         * lib/w32spawn.h: Likewise.
4504         * lib/waitpid.c: Likewise.
4505         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
4506         * m4/locale-ar.m4: Likewise.
4507         * m4/locale-fr.m4: Likewise.
4508         * m4/locale-ja.m4: Likewise.
4509         * m4/locale-tr.m4: Likewise.
4510         * m4/locale-zh.m4: Likewise.
4511         * m4/printf.m4: Likewise.
4512         * tests/test-cloexec.c: Likewise.
4513         * tests/test-copy-acl.sh: Likewise.
4514         * tests/test-copy-file.sh: Likewise.
4515         * tests/test-file-has-acl.sh: Likewise.
4516         * tests/test-set-mode-acl.sh: Likewise.
4517         * tests/test-dup-safer.c: Likewise.
4518         * tests/test-dup2.c: Likewise.
4519         * tests/test-dup3.c: Likewise.
4520         * tests/test-fcntl.c: Likewise.
4521         * tests/test-nonblocking-pipe.h: Likewise.
4522         * tests/test-nonblocking-socket.h: Likewise.
4523         * tests/test-pipe.c: Likewise.
4524         * tests/test-pipe2.c: Likewise.
4525         * tests/test-spawn-pipe-child.c: Likewise.
4526         * doc/acl-resources.txt: Likewise.
4527         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
4528         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
4529         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
4530         * lib/localcharset.c: Update comments to mention native Windows.
4531         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
4532         * lib/localename.c: Likewise.
4533         * lib/progreloc.c: Likewise.
4534         * lib/relocatable.c: Likewise.
4535         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
4536         (windows_compute_revents): Renamed from win32_compute_revents.
4537         (windows_compute_revents_socket): Renamed from
4538         win32_compute_revents_socket.
4539         * lib/select.c: Update comments to mention native Windows.
4540         (windows_poll_handle): Renamed from win32_poll_handle.
4541         * m4/threadlib.m4: Update comments to mention native Windows.
4542         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
4543         --enable-threads=windows instead of --enable-threads=win32. Set
4544         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
4545         * lib/glthread/lock.h: Update comments to mention native Windows.
4546         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
4547         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
4548         USE_WIN32_THREADS.
4549         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
4550         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
4551         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
4552         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
4553         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
4554         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
4555         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
4556         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
4557         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
4558         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
4559         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
4560         * tests/test-tls.c: Likewise.
4561         Rationale:
4562         Microsoft renamed the "Win32 API" to "Windows API", as it is available
4563         on both 32-bit and 64-bit Windows systems.
4564         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
4565         line of distinction is between "native Windows" on one side and Unix/
4566         POSIX systems on the other side. More details in
4567         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
4568         Suggested by Paul Eggert.
4569
4570 2012-01-03  Bruno Haible  <bruno@clisp.org>
4571
4572         isatty: Support for MSVC 9.
4573         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
4574         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
4575         (_isatty_nothrow): New function.
4576         (isatty): Use it instead of _isatty.
4577         (IsConsoleHandle): Add comment, from Paolo Bonzini.
4578         * lib/poll.c (IsConsoleHandle): Likewise.
4579         * lib/select.c (IsConsoleHandle): Likewise.
4580         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
4581         (gl_PREREQ_ISATTY): New macro.
4582         * modules/isatty (Depends-on): Add msvc-inval.
4583         (configure.ac): Invoke gl_PREREQ_ISATTY.
4584
4585 2012-01-03  Jim Meyering  <meyering@redhat.com>
4586
4587         maint.mk: remove temporary transition aid from over 1.5 years ago
4588         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
4589         purpose was to aid in the transition (avoiding silent malfunction)
4590         from that old name to the new _sc_search_regexp.  This shim was
4591         added by commit 219c504b.
4592
4593         init.sh: do not try to accommodate compare arguments starting with "-"
4594         * tests/init.sh (compare_dev_null_): Do not try to accommodate
4595         compare arguments that start with "-".  Besides, we do not worry
4596         about this when invoking diff or cmp; why start now with sed?
4597         Using "--" to separate options from argument would trigger sed
4598         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
4599         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
4600
4601 2012-01-02  Bruno Haible  <bruno@clisp.org>
4602
4603         Enhance tests for module 'isatty'.
4604         * modules/isatty-tests (Depends-on): Add pipe-posix.
4605         * tests/test-isatty.c: Include <fcntl.h>.
4606         (DEV_NULL): New macro.
4607         (main): Test the resut of isatty() also on regular files, pipes, and
4608         /dev/null.
4609
4610         New module 'isatty'.
4611         * lib/unistd.in.h (isatty): New declaration.
4612         * lib/isatty.c: New file, based on an idea of
4613         Bastien Roucariès <roucaries.bastien@gmail.com>.
4614         * m4/isatty.m4: New file.
4615         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
4616         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
4617         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
4618         REPLACE_ISATTY.
4619         * modules/isatty: New file.
4620         * doc/posix-functions/isatty.texi: Mention the new module.
4621         Suggested by Paolo Bonzini.
4622
4623 2012-01-02  Bruno Haible  <bruno@clisp.org>
4624
4625         canonicalize: Tweak 2011-12-29 commit.
4626         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
4627         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
4628
4629 2012-01-02  Jim Meyering  <meyering@redhat.com>
4630
4631         gitlog-to-changelog: describe input syntax in --help output
4632         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
4633
4634         gitlog-to-changelog: fix typo in --help: show backslash before email @
4635         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
4636         in sources, but not in actual output.
4637
4638 2011-12-30  Jim Meyering  <meyering@redhat.com>
4639
4640         gitlog-to-changelog: don't malfunction when name contains %-directive
4641         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
4642         in a name string cause trouble.  E.g., with a user name of "%s",
4643         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
4644
4645 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
4646
4647         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
4648         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
4649         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
4650         the "  (tiny change)" notation that is appended to the standard
4651         ChangeLog "date  name  email" header line.
4652
4653 2012-01-01  Jim Meyering  <meyering@redhat.com>
4654
4655         test-framework-sh: init.sh: fix "make dist" failure
4656         When using gnulib-tool's --with-tests option and any module that
4657         depends on test-framework-sh, "make dist" would fail due to the
4658         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
4659         in the gltests directory, and not in the gllib/ directory.
4660         One way to work around that is to move the EXTRA_DIST += init.sh
4661         from the primary module to the -tests one:
4662         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
4663         * modules/test-framework-sh (Makefile.am): ...not here.
4664         Reported by Tom G. Christensen in
4665         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
4666
4667         version-etc: update copyright year reported by --version
4668         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
4669
4670 2011-12-31  Pádraig Brady  <P@draigBrady.com>
4671
4672         canonicalize: only stat() if required
4673         * lib/canonicalize.c (canonicalize_filename_mode):
4674         Avoid calling l?stat() when both CAN_MISSING,
4675         and CAN_NOLINKS are set, as we neither need
4676         to resolve symlinks or test component existence.
4677
4678 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
4679
4680         doc: cover st_ino issues once; add OpenVMS etc.
4681         * doc/posix-functions/stat.texi (stat):
4682         * doc/posix-functions/lstat.texi (lstat):
4683         * doc/posix-functions/fstatat.texi (fstatat):
4684         * doc/posix-functions/fstat.texi (fstat):
4685         Move general 'struct stat' stuff to sys_stat.texi,
4686         leaving behind a pointer.
4687         * doc/posix-headers/sys_stat.texi (sys/stat.h):
4688         Merge duplicate info about 'struct stat' problems into here.
4689         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
4690         and suggest partial workarounds.
4691
4692         same-inode: port to OpenVMS
4693         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
4694         three st_ino values.
4695
4696 2011-12-30  Pádraig Brady  <P@draigBrady.com>
4697
4698         canonicalize: fix references to stat() and lstat()
4699         * lib/canonicalize.c (canonicalize_filename_mode):
4700         Ensure references always resolve to a replacement
4701         function if required (even via a macro).
4702
4703 2011-12-30  Jim Meyering  <meyering@redhat.com>
4704
4705         gitlog-to-changelog: remove a little duplication
4706         * build-aux/gitlog-to-changelog (main): Grep @lines once,
4707         rather than twice.
4708
4709 2011-12-29  Pádraig Brady  <P@draigBrady.com>
4710
4711         canonicalize: add support for not resolving symlinks
4712         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
4713         indicate we don't want to follow symlinks.  Also
4714         provide CAN_MODE_MASK to aid setting these existing
4715         mutually exclusive values.
4716         * lib/canonicalize.c (canonicalize_filename_mode):
4717         Extract the flags from can_mode parameter, which
4718         are currently just used to select between stat()
4719         and lstat().  Also ensure that mutually exclusive
4720         values are flagged immediately as invalid.
4721         * tests/test-canonicalize.c: Verify symlinks are
4722         not followed, and that invalid flag combinations
4723         are diagnosed.
4724
4725 2011-12-25  Jim Meyering  <meyering@redhat.com>
4726
4727         gitlog-to-changelog: do not clump multi-paragraph entries
4728         Identical header lines (date,name,email+coauthors) are suppressed,
4729         thus putting all entries with those same characteristics under
4730         a single header.  However, when a log entry consists of two or
4731         more paragraphs, it may not be clear where it starts and ends.
4732         This change makes it so that such an entry is always separated
4733         from others by a header line, even when that header would
4734         otherwise be suppressed.
4735         * build-aux/gitlog-to-changelog: Implement the above.
4736         Inspired by a related request from Stefano Lattarini in
4737         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
4738
4739 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
4740
4741         announce-gen: fix `cmd' typo in diagnostic
4742         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
4743         diagnostic: a missing '$' meant that the command was not output.
4744
4745 2011-12-23  Jim Meyering  <meyering@redhat.com>
4746
4747         test-framework-sh: distribute init.sh
4748         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
4749         Otherwise, "make -C gnulib-tests check" (at least in grep) would
4750         fail due to the lack of init.sh.
4751
4752         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
4753         * modules/atexit-tests: Rather than listing tests/init.sh,
4754         now that there's a module for it, simply depend on that new module.
4755         * modules/closein-tests: Likewise.
4756         * modules/exclude-tests: Likewise.
4757         * modules/getcwd-tests: Likewise.
4758         * modules/perror-tests: Likewise.
4759         * modules/pread-tests: Likewise.
4760         * modules/pwrite-tests: Likewise.
4761         * modules/vc-list-files-tests: Likewise.
4762         * modules/verify-tests: Likewise.
4763         * modules/xalloc-die-tests: Likewise.
4764         * modules/xstrtoimax-tests: Likewise.
4765         * modules/xstrtol-tests: Likewise.
4766         * modules/xstrtoll-tests: Likewise.
4767         * modules/xstrtoumax-tests: Likewise.
4768         * modules/yesno-tests: Likewise.
4769
4770 2011-12-22  Jim Meyering  <meyering@redhat.com>
4771
4772         test-framework-sh: add minimal tests of init.sh's compare function
4773         * modules/test-framework-sh-tests: New file.
4774         * tests/test-init.sh: New file.
4775
4776         test-framework-sh: new module
4777         * modules/test-framework-sh: New file.
4778         * MODULES.html.sh (Support for maintaining and releasing projects):
4779         List it.
4780
4781         init.sh: do not emit simulated diff output to stderr
4782         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
4783
4784 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
4785
4786         .gitignore: ignore gnulib.dvi and regex.info
4787         * doc/.gitignore:add gnulib.dvi and regex.info
4788
4789 2011-12-22  Jim Meyering  <meyering@redhat.com>
4790
4791         init.sh: correct previous change
4792         * tests/init.sh (compare): My previous change was wrong.
4793         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
4794
4795         init.sh: avoid unwarranted test failure when using "set -e"
4796         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
4797         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
4798         a use like "compare exp out" would get evoke an unconditional failure.
4799
4800 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
4801
4802         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
4803         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
4804         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
4805         autoreconf that did not.
4806         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
4807         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
4808
4809 2011-12-17  Jim Meyering  <meyering@redhat.com>
4810
4811         bootstrap: remove some now-unneeded code
4812         This script arose back when gnulib-tool was young.
4813         Since then, it has seen improvements that render much of this
4814         script unnecessary.  In particular, it can now make symlinks
4815         to the files it uses.  Also, I no longer see as much value in
4816         marking files as read-only via comments.
4817         If you relied on the symlink-creation feature of the preceding
4818         version of this script, you can get most of that functionality
4819         by adding the --symlink option to the definition of
4820         gnulib_tool_option_extras in your bootstrap.conf file.
4821         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
4822         Run autopoint and libtoolize *before* gnulib-tool.
4823         After it, run an abbreviated autoreconf, rather than a loop around
4824         all tools.
4825         (slirp, bt_mark_as_generated): Remove functions.
4826
4827 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
4828
4829         ftoastr: fix typo
4830         * lib/ftoastr.h: Fix misspelling in comment.
4831
4832 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
4833
4834         * top/README-release: fix punctuation.
4835
4836 2011-12-17  Jim Meyering  <meyering@redhat.com>
4837
4838         bootstrap: correct the recent buildreq change
4839         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
4840         had no effect.
4841         * build-aux/bootstrap (buildreq): Bracket each search term with
4842         "*...*", so that the shell "case" statement works as intended.
4843         Add comments.
4844
4845 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
4846
4847         build: let bootstrap resort to wget when downloading .po files
4848         * build-aux/bootstrap (download_po_files): Fallback to wget when
4849         downloading the .po files via rsync fails.  This is necessary to
4850         bootstrap from behind a strict firewall.
4851
4852 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
4853
4854         stdint: don't assume C++11 when compiling with g++
4855         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
4856         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
4857         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
4858         work also in C++ before C++11, as that improperly inhibits
4859         generating a substitute stdint.h for that case.
4860
4861 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
4862
4863         alloca: protect comment from gnulib-tool
4864         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
4865         that gnulib-tool doesn't think it's a license, and munge it to
4866         say "GCC version 3".
4867
4868 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
4869
4870         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
4871         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
4872         $(abs_top_builddir) instead of $(top_builddir).
4873
4874 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
4875
4876         strftime-tests: also test nanoseconds
4877         * tests/test-strftime.c (T): Add a test of %N.
4878
4879 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
4880
4881         inttypes, stdint: add C++11 support
4882         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
4883         when including inttypes.h and stdint.h.  Support this change to
4884         the standard.
4885         * doc/posix-headers/inttypes.texi (inttypes.h):
4886         * doc/posix-headers/stdint.texi (stdint.h): Document this.
4887         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
4888         Define if not defined already, for the benefit of pre-C++11 hosts.
4889         Define the standard format macros (e.g., PRId8) always.
4890         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
4891         Likewise, if __cpluspus.  Define the standard constant and limit
4892         macros (e.g., INT8_C, INT8_MAX) always.
4893         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
4894         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
4895         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
4896         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
4897         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
4898         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
4899         Likewise.
4900
4901 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
4902
4903         nonblocking tests: Fix test failure on Linux/PPC.
4904         Suggested by Prerna Saxena in
4905         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
4906         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
4907         Set to 1100000.
4908
4909 2011-12-12  Jim Meyering  <meyering@redhat.com>
4910
4911         argmatch: don't hard-code `' when listing valid option arguments
4912         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
4913         use the quote function to add quotes.  Use fputs rather than
4914         fprintf for the format string with no format directive.
4915
4916 2011-12-07  Eric Blake  <eblake@redhat.com>
4917
4918         bootstrap: detect tools required by gnulib-tool
4919         * build-aux/bootstrap (buildreq): Provide minimum implicit
4920         dependencies.
4921         * DEPENDENCIES: Mention patch as a prereq.
4922
4923 2011-12-04  Bruno Haible  <bruno@clisp.org>
4924
4925         sethostname: Port to Windows platforms.
4926         * lib/sethostname.c: Provide an alternate implementation for Windows
4927         platforms.
4928         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
4929         (main): Skip the test if sethostname() fails with EPERM. On Windows
4930         platforms, don't check the result of gethostname().
4931
4932 2011-12-04  Bruno Haible  <bruno@clisp.org>
4933             Jim Meyering  <meyering@redhat.com>
4934
4935         tests: Avoid spurious error message on platforms without mktemp program.
4936         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
4937
4938 2011-12-04  Bruno Haible  <bruno@clisp.org>
4939
4940         sethostname: Fix documentation.
4941         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
4942         "not fixed" section.
4943
4944 2011-12-03  Bruno Haible  <bruno@clisp.org>
4945
4946         gnulib-tool: Verify that the License field is present and non-empty.
4947         * gnulib-tool (func_get_license_raw): New function, extracted from
4948         func_get_license.
4949         (func_get_license): Use it. Warn if the module is not a test module and
4950         has no license.
4951         Suggested by Jim Meyering.
4952
4953 2011-12-03  Bruno Haible  <bruno@clisp.org>
4954
4955         sethostname tests: Fix link error on mingw.
4956         * tests/test-sethostname1.c: New file, extracted from
4957         tests/test-sethostname.c.
4958         * tests/test-sethostname2.c: New file, extracted from
4959         tests/test-sethostname.c.
4960         * tests/test-sethostname.c: Remove file.
4961         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
4962         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
4963         (Depends-on): Add gethostname.
4964         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
4965         Link the latter with $(GETHOSTNAME_LIB).
4966
4967         sethostname tests: Fix compilation error on mingw.
4968         * tests/test-sethostname.c: Don't include <sys/types.h>.
4969         (geteuid): Use a dummy value without uid_t.
4970         * modules/sethostname-tests (Depends-on): Remove sys_types.
4971
4972         sethostname tests: Avoid a gcc warning.
4973         * tests/test-sethostname.c (main): Remove an unused variable.
4974
4975         Tweak last commit.
4976         * modules/sethostname-tests (Files): Sort by decreasing importance.
4977         (configure.ac): Check for geteuid.
4978         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
4979         the test when there's nothing to test. Drop an unnecessary cast.
4980         Improve an error message. Verify that the final sethostname() call
4981         succeeds.
4982
4983 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
4984
4985         Add a test suite for the sethostname module.
4986         * modules/sethostname-tests: New file.  A test program
4987         for the sethostname module.
4988         * tests/test-sethostname.c: Likewise.
4989
4990 2011-12-03  Bruno Haible  <bruno@clisp.org>
4991
4992         Tweak last commit.
4993         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
4994         Fix preprocessor directives indentation. Fix typos.
4995         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
4996         * modules/unistd (Makefile): Likewise.
4997
4998 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
4999
5000         Integrate the sethostname module into unistd.
5001         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
5002         into the unistd.h header.
5003         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
5004         preprocessor directives.
5005         * modules/unistd: Setup the Makefile substitutions of the
5006         SETHOSTNAME preprocessor directives.
5007
5008 2011-12-03  Bruno Haible  <bruno@clisp.org>
5009
5010         Tweak last commit.
5011         * lib/sethostname.c: Don't include <string.h>.
5012         (sethostname): No need to copy the argument string to the stack. Don't
5013         call clearerr. Preserve errno when fprintf failed.
5014         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
5015         Don't invoke AC_REPLACE_FUNCS.
5016         * modules/sethostname (Link): Remove empty section.
5017         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
5018         failure problem.
5019
5020 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
5021
5022         New module 'sethostname'.
5023         * lib/sethostname.c (sethostname): New file.  Provide sethostname
5024         for systems that lack it.
5025         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
5026         sethostname declaration and function.
5027         * modules/sethostname: New file.  Define the sethostname module.
5028
5029 2011-12-03  Bruno Haible  <bruno@clisp.org>
5030
5031         Tweak last commit.
5032         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
5033
5034 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
5035
5036         Split the HOST_NAME_MAX detection into a separate m4 macro.
5037         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
5038         macro so it can be used by the pending sethostname module.
5039
5040 2011-12-03  Bruno Haible  <bruno@clisp.org>
5041
5042         Fix module descriptions syntax.
5043         * modules/argv-iter (License): Fix syntax.
5044         * modules/di-set (License): Likewise.
5045         * modules/ino-map (License): Likewise.
5046         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
5047
5048 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
5049
5050         stdalign: port to Clang 3.0
5051         Problem reported by Simon Josefsson in
5052         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
5053         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
5054         which has <stdalign.h> but which does not define alignof.
5055         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
5056
5057 2011-12-01  Eric Blake  <eblake@redhat.com>
5058
5059         mktempd: silence dd usage
5060         * build-aux/mktempd (rand_bytes): Silence dd.
5061
5062 2011-11-30  Simon Josefsson  <simon@josefsson.org>
5063
5064         manywarnings: Don't mention gcc version in docstring.
5065         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
5066         Jim Meyering <meyering@redhat.com>.
5067
5068 2011-11-30  Jim Meyering  <meyering@redhat.com>
5069
5070         hash: mark a few floating point constants with "f" suffix
5071         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
5072         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
5073         floating point constants with "f", since they're destined to be
5074         saved/used as "float"s.
5075
5076 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
5077
5078         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
5079         * tests/test-float.c (test_long_double): Correct and re-enable the
5080         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
5081
5082 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
5083
5084         Avoid subtracting two pointers that don't point into the same block.
5085         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
5086         only pointers into the same memory block are subtracted. We cannot
5087         assume that sizeof (ptrdiff_t) == sizeof (void *).
5088
5089 2011-11-29  Eric Blake  <eblake@redhat.com>
5090
5091         maint.mk: add syntax check for use of compare from init.sh
5092         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
5093         moved here from coreutils.
5094
5095         manywarnings: drop -Wunsuffixed-float-constants
5096         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
5097         '1.0D', which is the only way to silence this warning for 'double'.
5098
5099 2011-11-29  Jim Meyering  <meyering@redhat.com>
5100
5101         hash: mark compute_bucket_size with the pure attribute
5102         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
5103
5104         quotearg, propername: correct pragma guard expression
5105         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
5106         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
5107
5108 2011-11-28  Jim Meyering  <meyering@redhat.com>
5109
5110         propername: do not mark proper_name with the const attribute
5111         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
5112         since it examines data pointed to by its parameter.
5113         * lib/propername.c (proper_name): Instead, add a pragma to suppress
5114         the suggestion from -Wsuggest-attribute=const.
5115
5116         propername: mark one more function as const
5117         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
5118
5119 2011-11-27  Jim Meyering  <meyering@redhat.com>
5120
5121         mark functions with const and pure attributes
5122
5123         Mark functions per suggestions from gcc-4.6 when using these options:
5124         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
5125         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
5126         Follow these guidelines: when possible, apply the attribute to
5127         an extern declaration, not to its definition.  Apply it to the
5128         definition only when the definition is static.
5129         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
5130         * lib/argv-iter.h (argv_iter_n_args): Likewise.
5131         * lib/base64.h (isbase64): Likewise.
5132         * lib/basename-lgpl.c (last_component, base_len): Likewise.
5133         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
5134         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
5135         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
5136         (c_tolower, c_toupper): Likewise.
5137         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
5138         * lib/chdir-long.c (find_non_slash): Likewise.
5139         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
5140         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
5141         * lib/file-type.h (file_type): Likewise.
5142         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
5143         * lib/filevercmp.c (verrevcmp): Likewise.
5144         * lib/freadahead.h (freadahead): Likewise.
5145         * lib/fts.c (fts_maxarglen): Likewise.
5146         * lib/hash-pjw.h (hash_pjw): Likewise.
5147         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
5148         * lib/hash.c (is_prime, next_prime): Likewise.
5149         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
5150         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
5151         (hash_table_ok, hash_get_first, hash_string): Likewise.
5152         (compute_bucket_size): Likewise.
5153         * lib/i-ring.h (i_ring_empty): Likewise.
5154         * lib/isnan.c (isnanl): Likewise.
5155         * lib/math.h (isnanl, rpl_isnanl): Likewise.
5156         * lib/memcasecmp.h (memcasecmp): Likewise.
5157         * lib/memchr2.h (memchr2): Likewise.
5158         * lib/memcmp2.h (memcmp2): Likewise.
5159         * lib/parse-datetime.y (lookup_zone): Likewise.
5160         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
5161         [!WINDOWS_SOCKETS]: Likewise.
5162         * lib/strnlen1.h (strnlen1): Likewise.
5163         * lib/uniwidth.in.h (uc_width): Likewise.
5164         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
5165         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
5166         (quoting_options_from_style): Add a comment.
5167         * lib/propername.h (proper_name): Add a comment.
5168
5169 2011-11-27  Bruno Haible  <bruno@clisp.org>
5170
5171         Remove unused macros from !_LIBC code in glibc-borrowed files.
5172         * lib/fnmatch.c (STRCOLL): Remove macro.
5173         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
5174         * lib/glob.c (__stat, __readdir64): Remove macros.
5175         * lib/tempname.c (__open64, __xstat64): Remove macros.
5176         Suggested by Paul Eggert.
5177
5178 2011-11-27  Bruno Haible  <bruno@clisp.org>
5179
5180         getcwd: Fix link error on MSVC 9.
5181         * modules/getcwd (Depends-on): Add readdir, rewinddir.
5182
5183 2011-11-27  Bruno Haible  <bruno@clisp.org>
5184
5185         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
5186         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
5187         HAVE_OPENDIR is 0.
5188         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
5189         HAVE_CLOSEDIR is 0.
5190         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
5191         is 0.
5192         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
5193
5194 2011-11-27  Bruno Haible  <bruno@clisp.org>
5195
5196         getcwd: Fix bug from 2011-08-17.
5197         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
5198         platforms that need it.
5199         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
5200         code of 4 to be a failure, not a success. This ensures that
5201         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
5202
5203 2011-11-27  Bruno Haible  <bruno@clisp.org>
5204
5205         binary-io tests: Avoid test failure on mingw when libtool is used.
5206         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
5207         Don't verify the size of t-bin-out1.tmp here.
5208         * tests/test-binary-io.sh: Verify it here.
5209         Reported by Simon Josefsson.
5210
5211 2011-11-26  Bruno Haible  <bruno@clisp.org>
5212
5213         Fix conflict between two instantiations of module 'unistd'.
5214         * gnulib-tool (func_emit_autoconf_snippet): Substitute
5215         ${include_guard_prefix} also in the autoconf snippet.
5216         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
5217         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
5218         GNULIB_UNISTD_H_GETOPT.
5219         * modules/getopt-posix (configure.ac): Set the
5220         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
5221         * modules/getopt-gnu (configure.ac): Likewise.
5222         * modules/unistd (Makefile.am): Change the substitution value of
5223         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
5224         Reported by Simon Josefsson.
5225
5226 2011-11-25  Bruno Haible  <bruno@clisp.org>
5227
5228         pagealign_alloc: Doc and comments.
5229         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
5230         module.
5231         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
5232
5233 2011-11-25  Jim Meyering  <meyering@redhat.com>
5234
5235         test-update-copyright.sh: avoid false-positive failure
5236         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
5237         around false positive failure on Cygwin/Windows.  The latter was
5238         matching erroneously-created files with names like
5239         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
5240
5241 2011-11-25  Simon Josefsson  <simon@josefsson.org>
5242
5243         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
5244         * m4/valgrind-tests.m4: Check that the parameters that will be
5245         used works, not just a subset of them.  Reported by Bruno Haible
5246         <bruno@clisp.org>.
5247
5248 2011-11-24  Jim Meyering  <meyering@redhat.com>
5249
5250         test-stdalign.c: comment out long double tests
5251         * tests/test-stdalign.c: Don't try to reduce alignment of long double
5252         variables.  That provokes errors like this from gcc-4.7.0 20111124:
5253         error: '_Alignas' specifiers cannot reduce alignment of \
5254         'static_longdouble_alignas'.
5255
5256 2011-11-22  Jim Meyering  <meyering@redhat.com>
5257
5258         init.sh: make "compare /dev/null FILE" output more readable
5259         * tests/init.sh (compare_): Document the preferred order of arguments.
5260         (emit_diff_u_header_): New function.
5261         (compare_dev_null_): Emit a simulated diff, rather than just the
5262         contents of the unexpected file.  Suggestion from Bruno Haible.
5263
5264 2011-11-21  Jim Meyering  <meyering@redhat.com>
5265             Eric Blake  <eblake@redhat.com>
5266
5267         init.sh: work around OSF/1 5.1's mishandling of /dev/null
5268         * tests/init.sh: Make our compare function slightly more portable.
5269         Reported by Bruno Haible in
5270         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
5271
5272 2011-11-21  Simon Josefsson  <simon@josefsson.org>
5273
5274         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
5275         before using it, in code that ends up in config.h.
5276
5277 2011-11-20  Bruno Haible  <bruno@clisp.org>
5278
5279         getcwd: Work around getcwd bug on AIX 5..7.
5280         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
5281         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
5282         Use a different value for gl_cv_func_getcwd_path_max. Move the
5283         definition of HAVE_PARTLY_WORKING_GETCWD from here...
5284         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
5285         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
5286         Define HAVE_MINIMALLY_WORKING_GETCWD.
5287         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
5288         where it is not even minimally working, that is, on AIX.
5289         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
5290         m4/getcwd-path-max.m4.
5291         (main): Update exit code computation.
5292         * doc/posix-functions/getcwd.texi: Mention list of platforms where
5293         getcwd does not handle long file names.
5294
5295 2011-11-20  Bruno Haible  <bruno@clisp.org>
5296
5297         getcwd: Fix bug from 2009-09-10.
5298         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
5299         like "no".
5300
5301 2011-11-20  Simon Josefsson  <simon@josefsson.org>
5302
5303         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
5304
5305 2011-11-20  Bruno Haible  <bruno@clisp.org>
5306
5307         fma tests: Avoid shadowing local variables.
5308         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
5309         expected.
5310
5311 2011-11-20  Bruno Haible  <bruno@clisp.org>
5312
5313         copysignf tests: Fix.
5314         * tests/test-copysignf.c: Fix signature check.
5315
5316 2011-11-20  Bruno Haible  <bruno@clisp.org>
5317
5318         fma: Remove unused code.
5319         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
5320         unused macros.
5321
5322 2011-11-20  Bruno Haible  <bruno@clisp.org>
5323
5324         sethostname: Fix doc about AIX.
5325         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
5326         sethostname; it has it.
5327
5328         sethostname: Mention more portability problems.
5329         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
5330         problem.
5331         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
5332
5333 2011-11-19  Bruno Haible  <bruno@clisp.org>
5334
5335         Depend on module fcntl-h when AT_FDCWD is used.
5336         * modules/utimens (Depends-on): Add fcntl-h.
5337         * modules/areadlinkat (Depends-on): Likewise.
5338         * modules/areadlinkat-with-size (Depends-on): Likewise.
5339         * modules/faccessat (Depends-on): Likewise.
5340         * modules/fchmodat (Depends-on): Likewise.
5341         * modules/fchownat (Depends-on): Likewise.
5342         * modules/getcwd (Depends-on): Likewise.
5343         * modules/mkdirat (Depends-on): Likewise.
5344         * modules/mkfifoat (Depends-on): Likewise.
5345         * modules/readlinkat (Depends-on): Likewise.
5346         * modules/symlinkat (Depends-on): Likewise.
5347         * modules/dup2-tests (Depends-on): Likewise.
5348         * modules/fdutimensat-tests (Depends-on): Likewise.
5349         * modules/futimens-tests (Depends-on): Likewise.
5350
5351 2011-11-19  Bruno Haible  <bruno@clisp.org>
5352
5353         euidaccess: Update a comment.
5354         * lib/euidaccess.c: Update comment about platforms with faccessat.
5355
5356 2011-11-19  Bruno Haible  <bruno@clisp.org>
5357
5358         openat: Fix file list.
5359         * modules/openat (Files): Remove lib/at-func.c.
5360
5361 2011-11-19  Bruno Haible  <bruno@clisp.org>
5362
5363         fstatat: Simplify.
5364         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
5365         gnulib should define rpl_fstatat, there is a
5366         "#define fstatat rpl_fstatat" in <sys/stat.h>.
5367
5368 2011-11-19  Bruno Haible  <bruno@clisp.org>
5369
5370         Ensure 'inline' can be used in tests/test-utimens-common.h.
5371         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
5372         * modules/futimens-tests (configure.ac): Likewise.
5373         * modules/utimens-tests (configure.ac): Likewise.
5374         * modules/utimensat-tests (configure.ac): Likewise.
5375
5376 2011-11-19  Simon Josefsson  <simon@josefsson.org>
5377
5378         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
5379         not hash_insert0.
5380         (hash_insert_if_absent): Doc fix.
5381
5382 2011-11-19  Simon Josefsson  <simon@josefsson.org>
5383
5384         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
5385
5386 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
5387
5388         test-getcwd: disambiguate exit status
5389         * tests/test-getcwd.c (test_long_name): Return 0..7.
5390         (main): Exit with an unambiguous exit status.  The old
5391         code yielded a mysterious mixture of two failure codes.
5392
5393         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
5394         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
5395         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
5396         rpl_fstatat or fstatat.  This should fix the other problem
5397         reported by Kai Habel in
5398         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
5399         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
5400         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
5401         and I reproduced it on a Solaris 8 host we still have in production.
5402
5403 2011-11-18  Jim Meyering  <meyering@redhat.com>
5404
5405         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
5406         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
5407         Add a sentence to the comment.
5408         (hash_insert0): New function that simply calls hash_insert_if_absent.
5409         * lib/hash.h (hash_insert_if_absent): Declare it.
5410         (hash_insert0): Add deprecation attribute.
5411         (_GL_ATTRIBUTE_DEPRECATED): Define.
5412         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
5413         not hash_insert0.
5414         * NEWS: Mention it, even though it's not really an incompatible change.
5415
5416 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
5417
5418         openat: avoid compilation failure due to lack of <errno.h> inclusion
5419         * lib/openat.c: Include <errno.h>.
5420
5421 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
5422
5423         * modules/getcwd (Depends-on): Add fdopendir.
5424         This fixes one of the two problems reported by Kai Habel in
5425         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
5426
5427         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
5428         stdalign problem reported by Ian Beckwith in
5429         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
5430         * modules/crypto/gc-arcfour (Depends-on):
5431         Depend conditionally on crypto/arcfour.
5432         * modules/crypto/gc-arctwo (Depends-on):
5433         Depend conditionally on crypto/arctwo.
5434         * modules/crypto/gc-des (Depends-on):
5435         Depend conditionally on crypto/des.
5436         * modules/crypto/gc-hmac-md5 (Depends-on):
5437         Depend conditionally on crypto/hmac-md5.
5438         * modules/crypto/gc-hmac-sha1 (Depends-on):
5439         Depend conditionally on crypto/hmac-sha1.
5440         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
5441         * modules/crypto/gc-md4 (Depends-on):
5442         Depend conditionally on crypto/md4.
5443         * modules/crypto/gc-md5 (Depends-on):
5444         Depend conditionally on crypto/md5.
5445         * modules/crypto/gc-rijndael (Depends-on):
5446         Depend conditionally on crypto/rijndael.
5447         * modules/crypto/gc-sha1 (Depends-on):
5448         Depend conditionally on crypto/sha1.
5449         * modules/crypto/gc-arcfour:
5450         * modules/crypto/gc-arctwo:
5451         * modules/crypto/gc-des:
5452         * modules/crypto/gc-hmac-md5:
5453         * modules/crypto/gc-hmac-sha1:
5454         * modules/crypto/gc-md2:
5455         * modules/crypto/gc-md4:
5456         * modules/crypto/gc-md5:
5457         * modules/crypto/gc-rijndael:
5458         * modules/crypto/gc-sha1:
5459         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
5460         now that the conditional dependencies do the work for us.
5461
5462 2011-11-17  Jim Meyering  <meyering@redhat.com>
5463
5464         tests: factor st_ctime-comparison out of two headers
5465         * tests/test-utimens-common.h (ctime_compare): Define.
5466         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
5467         * tests/test-lutimens.h (test_lutimens): Likewise.
5468         * tests/test-utimens.h (test_utimens): Likewise.
5469
5470         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
5471         Invoke the test program via an init.sh-using wrapper.
5472         * tests/test-getcwd.sh: New file.
5473         * modules/getcwd-tests (Files): Add it.
5474         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
5475
5476 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
5477
5478         gitlog-to-changelog: support multi-author commits.
5479         The FSF cares about keeping track of all authors of patches to its
5480         projects, but Git doesn't provide obvious support for multi-author
5481         changesets. Consensus seems to be forming around the use of extra
5482         Signed-off-by inspired lines in the log message formatted as
5483         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
5484         multi-author commits between version control systems.
5485         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
5486         log message and output in standard ChangeLog multi-author format.
5487         Reported by Peter Rosin <peda@lysator.liu.se>
5488
5489 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
5490             Bruno Haible  <bruno@clisp.org>
5491
5492         Fix some modules' file list.
5493         * modules/fstatat (Files): Add m4/lstat.m4.
5494         * modules/openat (Files): Likewise.
5495         * modules/unlinkat (Files): Likewise.
5496
5497 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
5498
5499         maint.mk: fix tight-scope.mk generation in VPATH builds.
5500         * top/maint.mk (tight-scope.mk): Make sure to prefix file
5501         reference with $(srcdir) so that the file is found correctly even
5502         when running `make syntax-check' in a VPATH build.
5503
5504 2011-11-13  Bruno Haible  <bruno@clisp.org>
5505             Jim Meyering  <meyering@redhat.com>
5506
5507         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
5508         * tests/init.sh (compare): Remove "No differences encountered" or
5509         synonymous output from the 'diff' program.
5510
5511 2011-11-13  Bruno Haible  <bruno@clisp.org>
5512
5513         Makefile: Tweak indentation.
5514         * Makefile: Use tab as first character in every line that contains rule
5515         commands.
5516
5517 2011-11-13  Bruno Haible  <bruno@clisp.org>
5518
5519         Syntax check for copyright statements.
5520         * check-copyright: New file.
5521         * Makefile (sc_check_copyright): New rule.
5522
5523 2011-11-13  Simon Josefsson  <simon@josefsson.org>
5524
5525         * build-aux/git-version-gen: Add --prefix to configure the tag
5526         match string.
5527
5528 2011-11-13  Simon Josefsson  <simon@josefsson.org>
5529
5530         * build-aux/git-version-gen: Add --help and --version.
5531
5532 2011-11-12  Jim Meyering  <meyering@redhat.com>
5533
5534         revamp the other test-exclude?.sh scripts to use init.sh, too
5535         * tests/test-exclude1.sh: Use init.sh.
5536         * tests/test-exclude2.sh: Likewise.
5537         * tests/test-exclude3.sh: Likewise.
5538         * tests/test-exclude4.sh: Likewise.
5539         * tests/test-exclude5.sh: Likewise.
5540         * tests/test-exclude6.sh: Likewise.
5541         * tests/test-exclude7.sh: Likewise.
5542         * tests/test-exclude8.sh: Likewise.
5543         * modules/exclude-tests (Files): List init.sh.
5544
5545         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
5546         These shell scripts ignored failure of the binary test-exclude,
5547         so making the latter return 77 didn't cause them to be skipped.
5548         * tests/test-exclude5.sh: Exit with test-exclude's error status
5549         when that program fails.  Revamp to use init.sh.
5550         * tests/test-exclude2.sh: Likewise.
5551
5552         test-exclude: fix a typo
5553         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
5554
5555 2011-11-11  Bruno Haible  <bruno@clisp.org>
5556
5557         obstack: Fix compilation error on MSVC 9.
5558         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
5559
5560 2011-11-11  Jim Meyering  <meyering@redhat.com>
5561
5562         test-exclude: skip tests rather than failing on deficient systems
5563         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
5564         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
5565         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
5566         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
5567
5568 2011-11-10  Bruno Haible  <bruno@clisp.org>
5569
5570         ptsname_r test: Avoid gcc warning on glibc systems.
5571         * tests/test-ptsname_r.c (null_ptr): New function.
5572         (test_errors): Use it.
5573
5574 2011-11-10  Bruno Haible  <bruno@clisp.org>
5575
5576         ptsname_r: Avoid compilation error on OSF/1 5.1.
5577         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
5578         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
5579         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
5580         function is not declared or incompatibly declared.
5581         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
5582         * modules/ptsname_r (Depends-on, configure.ac): Update.
5583         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
5584
5585 2011-11-10  Bruno Haible  <bruno@clisp.org>
5586
5587         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
5588         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
5589         When cross-compiling, guess yes on all platforms except AIX.
5590         Reported by Ludovic Courtès <ludo@gnu.org>.
5591
5592 2011-11-09  Bruno Haible  <bruno@clisp.org>
5593
5594         ptsname_r tests: Fix bugs.
5595         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
5596         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
5597
5598 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
5599
5600         fstatat: work with cross-compilation
5601         Problem reported by Ludovic Courtès in
5602         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
5603         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
5604         "cross-compiling" and assume the bug is present.  Replace
5605         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
5606         an inverted sense, to be more conservative about our assumptions.
5607         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
5608
5609 2011-11-09  Bruno Haible  <bruno@clisp.org>
5610
5611         Improve MODULES.html output.
5612         * modules/mkfifoat (Description): Use the word "function".
5613         * modules/readlinkat (Description): Likewise.
5614         * modules/symlinkat (Description): Likewise.
5615
5616 2011-11-09  Eric Blake  <eblake@redhat.com>
5617
5618         ptsname_r-tests: new test module
5619         * modules/ptsname_r-tests: New module.
5620         * tests/test-ptsname_r.c: New file.
5621
5622         ptsname_r: new module
5623         * modules/ptsname_r: New module.
5624         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
5625         * lib/ptsname.c (__ptsname_r): Split...
5626         * lib/ptsname_r.c: ...into new file.
5627         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
5628         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
5629         * modules/stdlib (Makefile.am): Substitute witnesses.
5630         * lib/stdlib.in.h (ptsname_r): Declare it.
5631         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
5632         * MODULES.html.sh (Misc): Likewise.
5633         * modules/ptsname (Depends-on): Alter dependency.
5634         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
5635
5636 2011-11-09  Jim Meyering  <meyering@redhat.com>
5637
5638         announce-gen: be more concise when there's only one URL+tarball
5639         * build-aux/announce-gen (get_tool_versions): When you distribute
5640         only one type of tarball, combine the first two "Here are..."
5641         sections and make the key-checking grammar independent of
5642         how many tarballs there are.
5643
5644 2011-11-09  Eric Blake  <eblake@redhat.com>
5645
5646         openpty: provide a stub on mingw
5647         * lib/pty.in.h (includes): Provide forward declarations.
5648         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
5649
5650         raise: fix mingw handling of SIGPIPE
5651         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
5652
5653 2011-11-08  Bruno Haible  <bruno@clisp.org>
5654
5655         More conditional dependencies.
5656         * modules/faccessat (Depends-on): Add conditions.
5657         * modules/fchmodat (Depends-on): Likewise.
5658         * modules/fchownat (Depends-on): Likewise.
5659         * modules/fstatat (Depends-on): Likewise.
5660         * modules/mkfifoat (Depends-on): Likewise.
5661         * modules/readlinkat (Depends-on): Likewise.
5662         * modules/symlinkat (Depends-on): Likewise.
5663         * modules/unlinkat (Depends-on): Likewise.
5664         * modules/utimensat (Depends-on): Likewise.
5665         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
5666         * modules/linkat (Depends-on): Refine the conditions.
5667         * modules/renameat (Depends-on): Likewise.
5668
5669 2011-11-08  Bruno Haible  <bruno@clisp.org>
5670
5671         faccessat: Move AC_LIBOBJ invocation to module description.
5672         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
5673         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
5674         invocation from here...
5675         * modules/faccessat (configure.ac): ... to here. Invoke
5676         gl_PREREQ_FACCESSAT.
5677
5678 2011-11-08  Bruno Haible  <bruno@clisp.org>
5679
5680         faccessat: Simplify autoconf macro.
5681         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
5682         gl_FUNC_EUIDACCESS.
5683
5684 2011-11-08  Bruno Haible  <bruno@clisp.org>
5685
5686         renameat: Fix dependencies.
5687         * modules/renameat (Depends-on): Add stdbool.
5688
5689 2011-11-08  Bruno Haible  <bruno@clisp.org>
5690
5691         mkfifoat: Fix module description.
5692         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
5693         not gl_UNISTD_MODULE_INDICATOR.
5694
5695 2011-11-08  Bruno Haible  <bruno@clisp.org>
5696
5697         fstatat: Remove unused dependency.
5698         * modules/fstatat (Depends-on): Remove fstat.
5699
5700 2011-11-08  Simon Josefsson  <simon@josefsson.org>
5701
5702         GNUmakefile: behave when Makefile is missing.
5703         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
5704
5705 2011-11-08  Bruno Haible  <bruno@clisp.org>
5706
5707         openat: Conditionalize dependencies.
5708         * lib/openat.c: Reduce the scope of some #includes.
5709         * modules/openat (Depends-on): Add conditions.
5710
5711 2011-11-07  Jim Meyering  <meyering@redhat.com>
5712
5713         maint.mk: extract GPG key ID without using a temporary file
5714         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
5715         without using a temporary file.  Based on a suggestion from Werner Koch
5716         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
5717
5718 2011-11-07  Eric Blake  <eblake@redhat.com>
5719
5720         grantpt: fix typo
5721         * lib/stdlib.in.h (grantpt): Check correct function.
5722
5723         maint.mk: silence new syntax check
5724         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
5725
5726 2011-11-06  Bruno Haible  <bruno@clisp.org>
5727
5728         Doc about floating-point and math API.
5729         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
5730         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
5731
5732 2011-11-06  Bruno Haible  <bruno@clisp.org>
5733
5734         stdalign tests: Skip the test when compiled by Sun C.
5735         * tests/test-stdalign.c (main): Skip the test on Sun C.
5736
5737 2011-11-06  Bruno Haible  <bruno@clisp.org>
5738
5739         ansi-c++-opt: Complete the 2011-06-05 change.
5740         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
5741         does not support namespaces, set the variable to "no", not to ":".
5742
5743 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
5744
5745         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
5746
5747 2011-11-06  Bruno Haible  <bruno@clisp.org>
5748
5749         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
5750         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
5751         (minus_zerol) [HP-UX]: New macro.
5752         (unary_minus) [HP-UX]: New function.
5753         (copysignl) [HP-UX]: Use unary_minus function.
5754
5755 2011-11-06  Bruno Haible  <bruno@clisp.org>
5756
5757         ldexp, ldexpf, ldexpl: Enhance tests.
5758         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
5759         and tests/test-ldexpl.c.
5760         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
5761         LDEXP, MIN_EXP, MAX_EXP): New macros.
5762         Include test-ldexp.h.
5763         (main): Just call test_function.
5764         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
5765         infinity.h, nan.h.
5766         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
5767         MAX_EXP): New macros.
5768         Include test-ldexp.h.
5769         (x, y): Remove variables.
5770         (main): Just call test_function.
5771         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
5772         infinity.h, nan.h.
5773         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
5774         MAX_EXP): New macros.
5775         Include test-ldexp.h.
5776         (x, y): Remove variables.
5777         (main): Just call test_function.
5778         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
5779         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
5780         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
5781         (Depends-on): Add isnand-nolibm, signbit, float.
5782         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
5783         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
5784         (Depends-on): Add isnanf-nolibm, signbit, float.
5785
5786 2011-11-06  Bruno Haible  <bruno@clisp.org>
5787
5788         math tests: Cosmetics.
5789         * tests/test-math-c++.cc: Reorder declarations.
5790
5791 2011-11-05  Bruno Haible  <bruno@clisp.org>
5792
5793         fma*: Simplify test.
5794         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
5795         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
5796
5797         Tests for module 'fmal'.
5798         * modules/fmal-tests: New file.
5799         * tests/test-fmal1.c: New file.
5800         * tests/test-fmal2.c: New file.
5801
5802         New module 'fmal'.
5803         * lib/math.in.h (fmal): New declaration.
5804         * lib/fmal.c: New file.
5805         * m4/fmal.m4: New file.
5806         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
5807         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
5808         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
5809         REPLACE_FMAL.
5810         * modules/fmal: New file.
5811         * doc/posix-functions/fmal.texi: Mention the new module and the various
5812         bugs.
5813
5814         Tests for module 'fmaf'.
5815         * modules/fmaf-tests: New file.
5816         * tests/test-fmaf1.c: New file.
5817         * tests/test-fmaf2.c: New file.
5818
5819         New module 'fmaf'.
5820         * lib/math.in.h (fmaf): New declaration.
5821         * lib/fmaf.c: New file.
5822         * m4/fmaf.m4: New file.
5823         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
5824         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
5825         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
5826         REPLACE_FMAF.
5827         * modules/fmaf: New file.
5828         * doc/posix-functions/fmaf.texi: Mention the new module and the various
5829         bugs.
5830
5831         Tests for module 'fma'.
5832         * modules/fma-tests: New file.
5833         * tests/test-fma1.c: New file.
5834         * tests/test-fma1.h: New file.
5835         * tests/test-fma2.c: New file.
5836         * tests/test-fma2.h: New file.
5837
5838         New module 'fma'.
5839         * lib/math.in.h (fma): New declaration.
5840         * lib/fma.c: New file.
5841         * m4/fma.m4: New file.
5842         * m4/fegetround.m4: New file.
5843         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
5844         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
5845         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
5846         REPLACE_FMA.
5847         * modules/fma: New file.
5848         * doc/posix-functions/fma.texi: Mention the new module and the various
5849         bugs.
5850
5851         Extend gl_MATHFUNC.
5852         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
5853         Support 'void' as argument type.
5854         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
5855
5856 2011-11-05  Jim Meyering  <meyering@redhat.com>
5857
5858         maint.mk: also prohibit inclusion of dirent.h without use
5859         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
5860
5861 2011-11-05  Bruno Haible  <bruno@clisp.org>
5862
5863         ldexpl tests: Avoid test failure on MSVC 9.
5864         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
5865         value. Needed in order to enforce the conversion from a value greater
5866         than LDBL_MAX to Infinity.
5867
5868 2011-11-05  Bruno Haible  <bruno@clisp.org>
5869
5870         New modules 'at-internal', 'openat-h', split off from module 'openat'.
5871         * modules/at-internal: New file, extracted from modules/openat.
5872         * modules/openat-h: New file.
5873         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
5874         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
5875         * modules/openat (Description): Add reference to POSIX function.
5876         (Files): Remove lib/openat.h, lib/openat-proc.c.
5877         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
5878         intprops, unistd.
5879         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
5880         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
5881         gl_FCNTL_MODULE_INDICATOR.
5882         (Include): Remove unistd.h, openat.h.
5883         * modules/areadlinkat (Files): Add lib/at-func.c.
5884         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
5885         openat-die, openat-h, save-cwd.
5886         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
5887         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
5888         openat-die, openat-h, save-cwd, unistd.
5889         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
5890         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
5891         openat-h, save-cwd. Remove fcntl-h, openat.
5892         * modules/fchmodat (Files): Remove lib/openat.h.
5893         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
5894         openat, stdbool, unistd.
5895         * modules/fchownat (Files): Remove lib/openat.h.
5896         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
5897         openat, stdbool, sys_stat.
5898         * modules/fdopendir (Files): Remove lib/openat-priv.h,
5899         lib/openat-proc.c.
5900         (Depends-on): Add at-internal.
5901         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
5902         * modules/fstatat (Files): Remove lib/openat.h.
5903         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
5904         stdbool, unistd.
5905         * modules/fts (Depends-on): Add openat-h.
5906         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
5907         openat.
5908         * modules/mkdirat (Files): Remove lib/openat.h.
5909         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
5910         openat, stdbool, sys_stat.
5911         * modules/mkfifoat (Files): Add lib/at-func.c.
5912         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
5913         openat-h, save-cwd. Remove fcntl-h, openat.
5914         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
5915         * modules/readlinkat (Files): Add lib/at-func.c.
5916         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
5917         openat-h, save-cwd. Remove fcntl-h, openat.
5918         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
5919         openat.
5920         * modules/selinux-at (Files): Add lib/at-func.c.
5921         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
5922         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
5923         * modules/symlinkat (Files): Add lib/at-func.c.
5924         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
5925         openat-h, save-cwd. Remove fcntl-h, openat.
5926         * modules/unlinkat (Files): Remove lib/openat.h.
5927         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
5928         stdbool.
5929         * modules/utimensat (Files): Add lib/at-func.c.
5930         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
5931         openat-die, openat-h, save-cwd.
5932         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
5933         * modules/fdutimensat-tests (Depends-on): Add openat.
5934         * modules/fstatat-tests (Depends-on): Add openat-h.
5935         * modules/readlinkat-tests (Depends-on): Add openat.
5936         * modules/symlinkat-tests (Depends-on): Add openat.
5937
5938 2011-11-05  Bruno Haible  <bruno@clisp.org>
5939
5940         openat: Include <stdbool.h>.
5941         * lib/openat.c: Include <stdbool.h>.
5942
5943 2011-11-04  Bruno Haible  <bruno@clisp.org>
5944
5945         fchownat, renameat, unlinkat: Fix dependencies.
5946         * modules/fchownat (Depends-on): Add fstatat.
5947         * modules/renameat (Depends-on): Likewise.
5948         * modules/unlinkat (Depends-on): Likewise.
5949
5950 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
5951
5952         openat: remove direct dependency on dirent
5953         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
5954         and hasn't been needed ever since fdopendir was split into its own
5955         module on 2009-08-31.
5956         * modules/openat (Depends-on): Remove dirent.
5957
5958 2011-11-04  Bruno Haible  <bruno@clisp.org>
5959
5960         renameat: Optimize code size.
5961         * modules/renameat (configure.ac): Don't compile at-func2.c if
5962         REPLACE_RENAMEAT is 1.
5963
5964 2011-11-04  Bruno Haible  <bruno@clisp.org>
5965
5966         openat tests: Fix file list.
5967         * modules/openat-tests (Files): Add tests/test-open.h.
5968
5969 2011-11-04  Bruno Haible  <bruno@clisp.org>
5970
5971         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
5972         * modules/fchmodat (Depends-on): Add openat-die.
5973         * modules/fchownat (Depends-on): Likewise.
5974         * modules/linkat (Depends-on): Likewise.
5975         * modules/renameat (Depends-on): Likewise.
5976         * modules/openat (Depends-on): Add dirent.
5977
5978 2011-11-04  Jim Meyering  <meyering@redhat.com>
5979
5980         at-func*.c: fix comments
5981         * lib/at-func2.c: Correct/improve first-line comment.
5982         * lib/at-func.c: Correct grammar in first-line comment.
5983
5984 2011-11-04  Bruno Haible  <bruno@clisp.org>
5985
5986         New module 'mkdirat', split off from module 'openat'.
5987         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
5988         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
5989         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
5990         * modules/mkdirat: New file, extracted from modules/openat.
5991         * modules/openat (Files): Remove lib/mkdirat.c.
5992         (Depends-on): Remove mkdir.
5993         (configure.ac): Remove AC_LIBOBJ of mkdirat.
5994         (Include): Remove <sys/stat.h>.
5995         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
5996         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
5997         tests/test-mkdir.h.
5998         (Depends-on): Remove ignore-value.
5999         (Makefile.am): Remove rules for test-mkdirat.
6000         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
6001         of module 'openat'.
6002         * NEWS: Mention the change.
6003
6004 2011-11-04  Bruno Haible  <bruno@clisp.org>
6005
6006         closedir: Avoid warning on mingw.
6007         * lib/closedir.c: Include <unistd.h>.
6008
6009 2011-11-04  Bruno Haible  <bruno@clisp.org>
6010
6011         New module 'fstatat', split off from module 'openat'.
6012         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
6013         defined.
6014         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
6015         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
6016         gl_FUNC_FSTATAT.
6017         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
6018         * modules/fstatat: New file, extracted from modules/openat.
6019         * modules/openat (Files): Remove lib/fstatat.c.
6020         (Depends-on): Remove lstat.
6021         (configure.ac): Remove AC_LIBOBJ of fstatat.
6022         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
6023         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
6024         tests/test-lstat.h, tests/test-stat.h.
6025         (Depends-on): Remove getcwd-lgpl.
6026         (Makefile.am): Remove rules for test-fstatat.
6027         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
6028         of module 'openat'.
6029         * NEWS: Mention the change.
6030         * modules/getcwd (Depends-on): Add fstatat.
6031         * modules/linkat (Depends-on): Likewise.
6032         * modules/mkfifoat-tests (Depends-on): Likewise.
6033         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
6034
6035 2011-11-03  Bruno Haible  <bruno@clisp.org>
6036
6037         New module 'unlinkat', split off from module 'openat'.
6038         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
6039         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
6040         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
6041         * modules/unlinkat: New file, extracted from modules/openat. Correct
6042         the dependency conditions.
6043         * modules/openat (Files): Remove lib/unlinkat.c.
6044         (Depends-on): Remove rmdir, unlink.
6045         (configure.ac): Remove AC_LIBOBJ of unlinkat.
6046         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
6047         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
6048         tests/test-rmdir.h, tests/test-unlink.h.
6049         (Depends-on): Remove unlinkdir.
6050         (Makefile.am): Remove rules for test-unlinkat.
6051         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
6052         of module 'openat'.
6053         * NEWS: Mention the change.
6054         * modules/linkat-tests (Depends-on): Add unlinkat.
6055         * modules/mkfifoat-tests (Depends-on): Likewise.
6056         * modules/readlinkat-tests (Depends-on): Likewise.
6057
6058 2011-11-02  Bruno Haible  <bruno@clisp.org>
6059
6060         New module 'fchmodat', split off from module 'openat'.
6061         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
6062         defined.
6063         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
6064         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
6065         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
6066         * modules/fchmodat: New file, extracted from modules/openat.
6067         * modules/openat (Files): Remove lib/fchmodat.c.
6068         (configure.ac): Remove AC_LIBOBJ of fchmodat.
6069         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
6070         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
6071         (Makefile.am): Remove rules for test-fchmodat.
6072         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
6073         of module 'openat'.
6074         * NEWS: Mention the change.
6075
6076 2011-11-02  Jim Meyering  <meyering@redhat.com>
6077
6078         putenv: indent #definition of "environ" to placate cppi
6079         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
6080
6081         gitlog-to-changelog: provide a ChangeLog-repair mechanism
6082         Git logs are often treated as immutable, because editing them
6083         changes the SHA1 checksums of all descendants.  Thus, errors in
6084         git logs tend to stay there forever.  However, when we generate
6085         a ChangeLog file -- typically for distribution -- from that git log,
6086         we can actually make corrections in the generated file.  The key
6087         lies in recording in machine-readable/applicable form the desired
6088         corrections.  See --help for description and an example.
6089         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
6090         (usage): Describe it; alphabetize option descriptions.
6091         (main): Honor the new option, carefully.
6092
6093 2011-11-01  Jim Meyering  <meyering@redhat.com>
6094
6095         gitlog-to-changelog: avoid an infloop
6096         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
6097         that ends up being empty.
6098
6099 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
6100
6101         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
6102         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
6103         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
6104         contains (possibly-quoted) backslashes.  This should avoid
6105         all-too-common shell bugs if COMPLICATED contains backslashes in
6106         the "wrong" places.  Reported by David Evans in
6107         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
6108         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
6109         because we want ASCII ranges.  Is there some reason we don't use
6110         the C locale everywhere in this script?
6111         (func_module, top level): Avoid unwanted pathname expansion when
6112         $repo_url_prefix or $repo_url_suffix_repl contain shell
6113         metacharacters like '?' and '*'.
6114
6115 2011-11-01  Bruno Haible  <bruno@clisp.org>
6116
6117         fchownat: Improve description.
6118         * modules/fchownat (Description): Add link to function.
6119
6120 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
6121
6122         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
6123         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
6124         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
6125         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
6126
6127 2011-11-01  Bruno Haible  <bruno@clisp.org>
6128
6129         alignof: Avoid collision with stdalign module.
6130         * lib/alignof.h (alignof): Remove macro.
6131         * NEWS: Mention the change.
6132         Reported by Paul Eggert.
6133
6134 2011-11-01  Bruno Haible  <bruno@clisp.org>
6135
6136         New module 'fchownat', split off from module 'openat'.
6137         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
6138         defined.
6139         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
6140         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
6141         invoke gl_FUNC_FCHOWNAT.
6142         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
6143         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
6144         * modules/fchownat: New file, extracted from modules/openat.
6145         * modules/openat (Files): Remove lib/fchownat.c.
6146         (Depends-on): Remove lchown.
6147         (configure.ac): Remove AC_LIBOBJ of fchownat.
6148         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
6149         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
6150         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
6151         (Depends-on): Remove mgetgroups, usleep, stat-time.
6152         (configure.ac): Remove test for getegid.
6153         (Makefile.am): Remove rules for test-fchownat.
6154         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
6155         of module 'openat'.
6156         * NEWS: Mention the change.
6157
6158 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
6159
6160         stdalign: port better to MSVC and to Sun C 5.11
6161         This fixes some of the problems reported by Bruno Haible in
6162         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
6163         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
6164         shortcomings of MSVC and of Sun C 5.11.
6165         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
6166         around __declspec arg.
6167         * modules/stdalign-tests (Files): Add tests/macros.h.
6168         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
6169         Include macros.h, for ASSERT.
6170         (DECLARE_ALIGNED): Remove.
6171         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
6172         to catch bug), and to 1 if not (simplifies the rest of the code).
6173         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
6174         (CHECK_AUTO): Remove.
6175         (CHECK_ALIGNED): Check only the alignment of the static vars,
6176         since auto var alignment isn't supported by Sun C 5.11.
6177         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
6178         ASSERT failures are easier to diagnose.
6179
6180 2011-10-31  Bruno Haible  <bruno@clisp.org>
6181
6182         doc about some IRIX 5.3 problems.
6183         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
6184         on IRIX 5.3.
6185         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
6186         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
6187         5.3.
6188         * doc/posix-functions/grantpt.texi: Likewise.
6189         * doc/posix-functions/unlockpt.texi: Likewise.
6190         * doc/posix-functions/lgamma.texi: Likewise.
6191         * doc/posix-functions/nextafter.texi: Likewise.
6192         * doc/posix-functions/remainder.texi: Likewise.
6193         * doc/posix-functions/select.texi: Mention misplaced declaration on
6194         IRIX 5.3.
6195         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6196
6197 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
6198
6199         gitlog-to-changelog: fix git-log invocation.
6200         git-log mishandles date strings before 1970-01-01 UTC, and there is
6201         no use to specify --since=1970-01-01 by default anyway.
6202         * build-aux/gitlog-to-changelog: By default, when no --since option
6203         was given, do not specify explicit --since option to git-log.
6204
6205 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
6206
6207         gitlog-to-changelog: new option --append-dot.
6208         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
6209         first non-blank line of each commit message terminated with a dot.
6210
6211 2011-10-30  Bruno Haible  <bruno@clisp.org>
6212
6213         ffsl, ffsll: Avoid compilation error due to 'restrict'.
6214         * lib/ffsl.h: Include <config.h>.
6215         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
6216
6217 2011-10-30  Jim Meyering  <meyering@redhat.com>
6218
6219         GNUmakefile: reenable "make syntax-check" for most projects
6220         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
6221         build-aux variable", "syntax-check" would do nothing but succeed with
6222         the "No version control files detected..." diagnostic (unless you
6223         happened to override _build-aux via cfg.mk).
6224         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
6225         to precede inclusion of maint.mk.  Otherwise, these variables would
6226         be used undefined in any project that does not override the default.
6227
6228 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
6229
6230         gitlog-to-changelog: treat a message with only blank lines as empty.
6231         * build-aux/gitlog-to-changelog: Move the code that removes leading and
6232         trailing blank lines before the code that issues a warning about an
6233         empty commit message.
6234
6235 2011-10-30  Jim Meyering  <meyering@redhat.com>
6236
6237         test-parse-datetime.c: avoid new DST-related false positive test failure
6238         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
6239         based on the time/date we'll convert, not the current time.
6240         Otherwise, the moment we cross a DST boundary like today's in
6241         Europe, (CEST to CET), that offset ends up being one hour off.
6242
6243 2011-10-27  Bruno Haible  <bruno@clisp.org>
6244
6245         fstat: Tweak documentation.
6246         * modules/fstat (Description): More precise description.
6247
6248 2011-10-27  Bruno Haible  <bruno@clisp.org>
6249
6250         Update documentation regarding 'largefile' module.
6251         * doc/posix-functions/fstat.texi: Tweak wording.
6252         * doc/posix-functions/opendir.texi: Mention that the module fixes the
6253         problems with huge directories and/or small ino_t types.
6254         * doc/posix-functions/readdir.texi: Likewise.
6255         * doc/posix-functions/rewinddir.texi: Likewise.
6256
6257 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
6258
6259         maint.mk: don't maintain a second build-aux variable.
6260         * maint.mk (build_aux): Removed.  The maintainer-makefile module
6261         depends on GNUmakefile, which already maintains a cfg.mk
6262         overridable $(_build-aux) for projects with a non-standard
6263         build-aux directory location, although without the $(srcdir)
6264         prefix.  Use that variable consistently instead of introducing a
6265         second one.  Adjust all call sites.
6266
6267 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
6268
6269         Add stdalign module and use it in other modules.
6270         This is based on a previous proposal by Bruno Haible
6271         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
6272
6273         stdalign: new module
6274         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
6275         * modules/stdalign: New files.
6276         * MODULES.html.sh (c1x_core_properties): Add stdalign.
6277         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
6278
6279         stdalign-tests: new module
6280         * modules/stdalign-tests, tests/test-stdalign.c: New files.
6281
6282         argp: use stdalign
6283         * lib/argp-parse.c: Include <stdalign.h>.
6284         (alignof): Remove.
6285         * modules/argp (Depends-on): Add stdalign.
6286
6287         crypto libraries: use stdalign
6288         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
6289         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
6290         Do not include <stdlib.h> twice, in md4.c.
6291         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
6292         because we are accessing a pointer's bit-pattern, not a size.
6293         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
6294         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
6295         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
6296         * modules/crypto/sha512: Likewise.
6297
6298         sys_socket: use stdalign, not alignof
6299         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
6300         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
6301
6302 2011-10-27  Bruno Haible  <bruno@clisp.org>
6303
6304         raise test: Avoid a test failure on Linux/MIPS.
6305         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
6306         because 99 is a valid signal on Linux/MIPS.
6307
6308 2011-10-27  Bruno Haible  <bruno@clisp.org>
6309
6310         nonblocking tests: Fix test failure on Linux/MIPS.
6311         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
6312         Set to 270000.
6313
6314 2011-10-27  Bruno Haible  <bruno@clisp.org>
6315
6316         utimensat: Work around problem on Linux/hppa.
6317         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
6318         values.
6319         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
6320
6321 2011-10-25  Jim Meyering  <meyering@redhat.com>
6322
6323         maint.mk: fix a bug in sc_prohibit_stddef_without_use
6324         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
6325         after symbols like NULL, size_t, etc.
6326         Reported by Alfred M. Szmidt.
6327
6328         maint.mk: exempt ENODATA from a syntax-check rule
6329         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
6330         from the sc_prohibit_always-defined_macros syntax-check rule.
6331         Add a comment.  See this for more details:
6332         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
6333
6334 2011-10-23  Jim Meyering  <meyering@redhat.com>
6335
6336         fts: close parent dir FD before returning from post-traversal fts_read
6337         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
6338         unlink A, even though an FD open on A remained.  This is suboptimal
6339         (holding a file descriptor open longer than needed), but otherwise not
6340         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
6341         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
6342         that represents a real problem: it causes the removal of A to fail
6343         with e.g., "rm: cannot remove `A': Device or resource busy"
6344
6345         fts visits each directory twice and keeps a cache (fts_fd_ring) of
6346         directory file descriptors.  After completing the final, FTS_DP,
6347         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
6348         cache, but then proceeded to add a new FD to it via the subsequent
6349         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
6350         final file descriptor would be closed only via fts_close's call to
6351         fd_ring_clear.  Now, it is usually closed earlier, via the final
6352         FTS_DP-returning fts_read call.
6353         * lib/fts.c (restore_initial_cwd): New function, converted from
6354         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
6355         Update callers.
6356         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
6357         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
6358
6359 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
6360             Bruno Haible  <bruno@clisp.org>
6361             Jim Meyering  <jim@meyering.net>
6362
6363         readme-release: improve safety of release prep instructions.
6364         * README-release: Don't git pull all branches when only master
6365         is needed for the release process.
6366         Run make maintainer-clean before changing trees and merging.
6367         Don't try to run ./configure right after git pull in case files
6368         that influence the bootstrap process have changed, move the
6369         ./configure step to after running ./bootstrap.
6370         Don't bootstrap "one last time"... it's the first time!
6371
6372 2011-10-22  Bruno Haible  <bruno@clisp.org>
6373
6374         errno, strerror-override: Support for MSVC 10.
6375         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
6376         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
6377         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
6378         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
6379         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
6380         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
6381         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
6382         Assign values compatible with MSVC 10.
6383         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
6384         New macros.
6385         (GNULIB_defined_EWINSOCK): New macro.
6386         * lib/strerror-override.c (strerror_override): Update accordingly.
6387         * lib/strerror-override.h: Likewise.
6388         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
6389         longer equal to the corresponding errno value.
6390         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
6391
6392 2011-10-22  Bruno Haible  <bruno@clisp.org>
6393
6394         perror: Recognize when test program crashes.
6395         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
6396         strerror, set gl_cv_func_perror_works to no.
6397         Reported by Daniel Richard G. <skunk@iskunk.org>.
6398
6399         perror: Fix indentation.
6400         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
6401
6402 2011-10-22  Bruno Haible  <bruno@clisp.org>
6403
6404         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
6405         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
6406         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
6407         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
6408         functions, not as a macro.
6409         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
6410         macros.
6411         (isfinite, isinf, isnan, signbit): Check overloaded functions and
6412         absence of macro.
6413         Suggested by Eric Blake.
6414         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
6415
6416 2011-10-21  Bruno Haible  <bruno@clisp.org>
6417
6418         relocatable-prog-wrapper: Don't leave object files behind.
6419         * build-aux/install-reloc: Re-synchronize list of .o files to be
6420         removed with list of compilation units.
6421
6422 2011-10-20  Bruno Haible  <bruno@clisp.org>
6423
6424         openpty, posix_openpt: Remove code duplication.
6425         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
6426         * lib/openpty.c: Include <stdlib.h>.
6427         (openpty): Use posix_openpt on all platforms except IRIX.
6428         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
6429
6430 2011-10-20  Bruno Haible  <bruno@clisp.org>
6431
6432         unlockpt: Detect invalid argument.
6433         * lib/unlockpt.c: Include <fcntl.h>.
6434         (unlockpt): Check whether fd is valid, using fcntl().
6435         * modules/unlockpt (Depends-on): Add fcntl-h.
6436
6437 2011-10-20  Bruno Haible  <bruno@clisp.org>
6438
6439         openpty: Avoid compilation error on AIX 6.1.
6440         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
6441
6442 2011-10-20  Bruno Haible  <bruno@clisp.org>
6443
6444         posix_openpt: Support for OpenBSD.
6445         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
6446         (posix_openpt) [OpenBSD]: New code.
6447         * lib/grantpt.c: Include <fcntl.h>.
6448         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
6449         * modules/grantpt (Depends-on): Add fcntl-h.
6450
6451 2011-10-20  Bruno Haible  <bruno@clisp.org>
6452
6453         posix_openpt test: Coding style.
6454         * tests/test-posix_openpt.c: Use GNU coding style.
6455
6456 2011-10-20  Bruno Haible  <bruno@clisp.org>
6457
6458         grantpt: Support --avoid=pt_chown.
6459         * modules/grantpt (Files): Add lib/pty-private.h.
6460
6461 2011-10-20  Bruno Haible  <bruno@clisp.org>
6462
6463         posix_openpt: Fix autoconf macro.
6464         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
6465         unneeded check for _getpty.
6466
6467 2011-10-20  Bruno Haible  <bruno@clisp.org>
6468
6469         openpty: Update comments.
6470         * lib/openpty.c: Add comments about Minix.
6471
6472 2011-10-19  Eric Blake  <eblake@redhat.com>
6473
6474         openpty: relax license
6475         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
6476
6477         pt_chown: use configmake to simplify build
6478         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
6479
6480         ptsname and others: relax license
6481         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
6482         * modules/unlockpt (License): Likewise.
6483         * modules/pt_chown (License): Likewise.
6484         * modules/ptsname (License): Likewise.
6485         * modules/ttyname_r (License): Likewise.
6486
6487 2011-10-19  Jim Meyering  <meyering@redhat.com>
6488
6489         posix_openpt: remove spurious #endif
6490         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
6491
6492 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
6493
6494         maint.mk: Respect $(build_aux) in web-manual rule.
6495         * top/maint.mk (web-manual): Find gen-announce script in user's
6496         $(build_aux) directory instead of hard-coding 'build-aux'.
6497
6498 2011-10-19  Bruno Haible  <bruno@clisp.org>
6499
6500         posix_openpt: Fix compilation error.
6501         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
6502         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
6503         Mention the openpty module as an alternative.
6504
6505 2011-10-19  Bruno Haible  <bruno@clisp.org>
6506
6507         Support for old NeXTstep 3.3 frexp().
6508         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
6509         execution time of the test to 5 seconds.
6510         Reported by Daniel Richard G. <skunk@iskunk.org>.
6511
6512 2011-10-19  Bruno Haible  <bruno@clisp.org>
6513
6514         Support for old NeXTstep 3.3 sed.
6515         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
6516         part, use /.../, not \|...|. Escape periods in the header file name.
6517         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
6518         Reported by Daniel Richard G. <skunk@iskunk.org>.
6519
6520 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
6521
6522         Support for old NeXTstep 3.3 gcc.
6523         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
6524         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
6525         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
6526         * lib/spawn.in.h (_Restrict_arr_): Likewise.
6527         * lib/regex.h (_Restrict_arr_): Likewise.
6528         * lib/regex_internal.h (re_token_t): Likewise.
6529         * lib/regexec.c (check_node_accept_bytes): Likewise.
6530         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
6531
6532 2011-10-18  Eric Blake  <eblake@redhat.com>
6533
6534         posix_openpt: new module
6535         * modules/posix_openpt: New module.
6536         * m4/posix_openpt.m4: New file.
6537         * lib/posix_openpt.c: Likewise.
6538         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
6539         (gl_STDLIB_H_DEFAULTS): Set defaults.
6540         * modules/stdlib (Makefile.am): Substitute macros.
6541         * lib/stdlib.in.h (posix_openpt): Declare.
6542         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
6543         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
6544         * modules/posix_openpt-tests: New test module.
6545         * tests/test-posix_openpt.c: New test.
6546
6547 2011-10-15  Bruno Haible  <bruno@clisp.org>
6548
6549         xstrtoll: Fix compilation failure.
6550         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
6551         from lib/strtol.c.
6552         * doc/posix-headers/limits.texi: Mention missing numerical limits on
6553         some platforms.
6554         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6555
6556 2011-10-15  Bruno Haible  <bruno@clisp.org>
6557
6558         vasnprintf: Optimize bit search operation.
6559         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
6560         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
6561         gl_DOUBLE_EXPONENT_LOCATION.
6562         * modules/vasnprintf (Files): Add m4/exponentd.m4.
6563         * modules/unistdio/u8-vasnprintf (Files): Likewise.
6564         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
6565         * modules/unistdio/u16-vasnprintf (Files): Likewise.
6566         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
6567         * modules/unistdio/u32-vasnprintf (Files): Likewise.
6568         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
6569         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
6570         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
6571
6572 2011-10-15  Bruno Haible  <bruno@clisp.org>
6573
6574         vasnprintf: Fix comments.
6575         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
6576
6577 2011-10-14  Bruno Haible  <bruno@clisp.org>
6578
6579         Tests for module 'integer_length_ll'.
6580         * modules/integer_length_ll-tests: New file.
6581         * tests/test-integer_length_ll.c: New file.
6582
6583         New module 'integer_length_ll'.
6584         * lib/integer_length_ll.c: New file.
6585         * modules/integer_length_ll: New file.
6586
6587 2011-10-14  Bruno Haible  <bruno@clisp.org>
6588
6589         Tests for module 'integer_length_l'.
6590         * modules/integer_length_l-tests: New file.
6591         * tests/test-integer_length_l.c: New file.
6592
6593         New module 'integer_length_l'.
6594         * lib/integer_length_l.c: New file.
6595         * modules/integer_length_l: New file.
6596
6597 2011-10-14  Bruno Haible  <bruno@clisp.org>
6598
6599         Tests for module 'integer_length'.
6600         * modules/integer_length-tests: New file.
6601         * tests/test-integer_length.c: New file.
6602
6603         New module 'integer_length'.
6604         * lib/integer_length.h: New file.
6605         * lib/integer_length.c: New file.
6606         * modules/integer_length: New file.
6607
6608 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
6609
6610         popen: Fix dependency conditions.
6611         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
6612
6613 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
6614
6615         perror: Fix autoconf test.
6616         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
6617         <stdlib.h> and <string.h>.
6618
6619 2011-10-14  Bruno Haible  <bruno@clisp.org>
6620
6621         ffsl: Optimize on 64-bit platforms.
6622         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
6623         unrolling.
6624
6625 2011-10-13  Bruno Haible  <bruno@clisp.org>
6626
6627         ffsl: Optimize on 32-bit platforms.
6628         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
6629         use ffs() without a loop.
6630
6631         ffsl, ffsll: Optimize for GCC.
6632         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
6633         * lib/ffsl.c (GCC_BUILTIN): New macro.
6634         * lib/ffsll.c (GCC_BUILTIN): Likewise.
6635
6636 2011-10-13  Bruno Haible  <bruno@clisp.org>
6637
6638         ffs, bcopy, memset: Support symbol renaming via config.h.
6639         * lib/ffs.c: Include <config.h>.
6640         * lib/bcopy.c: Likewise.
6641         * lib/memset.c: Likewise.
6642
6643 2011-10-10  Bruno Haible  <bruno@clisp.org>
6644
6645         atanl: Simplify for platforms where 'long double' == 'double'.
6646         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
6647         alternative implementation.
6648         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
6649         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6650         * modules/atanl (Depends-on): Add atan. Update conditions.
6651
6652 2011-10-10  Bruno Haible  <bruno@clisp.org>
6653
6654         acosl: Simplify for platforms where 'long double' == 'double'.
6655         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
6656         alternative implementation.
6657         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
6658         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6659         * modules/acosl (Depends-on): Add acos. Update conditions.
6660
6661 2011-10-10  Bruno Haible  <bruno@clisp.org>
6662
6663         asinl: Simplify for platforms where 'long double' == 'double'.
6664         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
6665         alternative implementation.
6666         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
6667         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6668         * modules/asinl (Depends-on): Add asin. Update conditions.
6669
6670 2011-10-10  Bruno Haible  <bruno@clisp.org>
6671
6672         tanl: Simplify for platforms where 'long double' == 'double'.
6673         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
6674         implementation.
6675         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
6676         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6677         * modules/tanl (Depends-on): Add tan. Update conditions.
6678         (configure.ac): Don't compile trigl.c if
6679         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6680
6681 2011-10-10  Bruno Haible  <bruno@clisp.org>
6682
6683         cosl: Simplify for platforms where 'long double' == 'double'.
6684         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
6685         implementation.
6686         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
6687         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6688         * modules/cosl (Depends-on): Add cos. Update conditions.
6689         (configure.ac): Don't compile sincosl.c and trigl.c if
6690         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6691
6692 2011-10-10  Bruno Haible  <bruno@clisp.org>
6693
6694         sinl: Simplify for platforms where 'long double' == 'double'.
6695         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
6696         implementation.
6697         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
6698         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6699         * modules/sinl (Depends-on): Add sin. Update conditions.
6700         (configure.ac): Don't compile sincosl.c and trigl.c if
6701         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6702
6703 2011-10-10  Bruno Haible  <bruno@clisp.org>
6704
6705         logl: Simplify for platforms where 'long double' == 'double'.
6706         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
6707         implementation.
6708         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
6709         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6710         * modules/logl (Depends-on): Add log. Update conditions.
6711
6712 2011-10-10  Bruno Haible  <bruno@clisp.org>
6713
6714         expl: Simplify for platforms where 'long double' == 'double'.
6715         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
6716         implementation.
6717         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
6718         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6719         * modules/expl (Depends-on): Add exp. Update conditions.
6720
6721 2011-10-10  Bruno Haible  <bruno@clisp.org>
6722
6723         sqrtl: Simplify for platforms where 'long double' == 'double'.
6724         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
6725         alternative implementation.
6726         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
6727         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6728         * modules/sqrtl (Depends-on): Update conditions.
6729
6730 2011-10-10  Bruno Haible  <bruno@clisp.org>
6731
6732         ldexpl: Simplify for platforms where 'long double' == 'double'.
6733         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
6734         alternative implementation.
6735         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
6736         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6737         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
6738
6739 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
6740
6741         ffsll: set correct witness
6742         * modules/ffsll (configure.ac): Fix typo.
6743
6744 2011-10-10  Bruno Haible  <bruno@clisp.org>
6745
6746         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
6747         * lib/printf-frexpl.c: Include <config.h>.
6748         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
6749         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
6750         second time.
6751         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
6752         gl_LONG_DOUBLE_VS_DOUBLE.
6753         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
6754         conditions.
6755
6756 2011-10-10  Bruno Haible  <bruno@clisp.org>
6757
6758         frexpl: Simplify for platforms where 'long double' == 'double'.
6759         * lib/frexpl.c: Include <config.h>.
6760         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
6761         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
6762         time.
6763         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
6764         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6765         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
6766         * modules/frexpl (Depends-on): Add frexp. Update conditions.
6767         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
6768         conditions.
6769
6770 2011-10-10  Jim Meyering  <meyering@redhat.com>
6771
6772         test-renameat: don't leave behind a temporary file
6773         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
6774           ERROR: files left in build directory after distclean:
6775           ./gltests/test-renameat.too
6776           make[1]: *** [distcleancheck] Error 1
6777         Reported by Tom G. Christensen.
6778
6779 2011-10-09  Bruno Haible  <bruno@clisp.org>
6780
6781         rint: Determine RINT_LIBM correctly on AIX 7.
6782         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
6783         directly, not only through a function pointer. Also accept an optional
6784         4th argument with extra code.
6785         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
6786         rintf() call by gcc when optimizing.
6787
6788         mathfunc.m4: Refactor.
6789         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
6790         m4 variable.
6791
6792 2011-10-09  Bruno Haible  <bruno@clisp.org>
6793
6794         rintl: Simplify for platforms where 'long double' == 'double'.
6795         * lib/rintl.c: Include <config.h>.
6796         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
6797         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
6798         time.
6799         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
6800         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6801         * modules/rintl (Depends-on): Add rint. Update conditions.
6802
6803 2011-10-09  Bruno Haible  <bruno@clisp.org>
6804
6805         roundl: Simplify for platforms where 'long double' == 'double'.
6806         * lib/roundl.c: Include <config.h>.
6807         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
6808         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
6809         time.
6810         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
6811         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6812         * modules/roundl (Depends-on): Add round. Update conditions.
6813
6814 2011-10-09  Bruno Haible  <bruno@clisp.org>
6815
6816         truncl: Simplify for platforms where 'long double' == 'double'.
6817         * lib/truncl.c: Include <config.h>.
6818         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
6819         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
6820         time.
6821         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
6822         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6823         * modules/truncl (Depends-on): Add trunc. Update conditions.
6824
6825 2011-10-09  Bruno Haible  <bruno@clisp.org>
6826
6827         ceill: Simplify for platforms where 'long double' == 'double'.
6828         * lib/ceill.c: Include <config.h>.
6829         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
6830         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
6831         time.
6832         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
6833         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6834         * modules/ceill (Depends-on): Add ceil. Update conditions.
6835
6836 2011-10-09  Bruno Haible  <bruno@clisp.org>
6837
6838         floorl: Simplify for platforms where 'long double' == 'double'.
6839         * lib/floorl.c: Include <config.h>.
6840         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
6841         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
6842         time.
6843         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
6844         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6845         * modules/floorl (Depends-on): Add floor. Update conditions.
6846
6847 2011-10-09  Bruno Haible  <bruno@clisp.org>
6848
6849         rint: Fix ordering constraints.
6850         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
6851         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
6852         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
6853
6854 2011-10-09  Bruno Haible  <bruno@clisp.org>
6855
6856         copysignl: Simplify for platforms where 'long double' == 'double'.
6857         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
6858         alternative.
6859         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
6860         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6861         * modules/copysignl (Depends-on): Add copysign. Update conditions.
6862
6863 2011-10-09  Bruno Haible  <bruno@clisp.org>
6864
6865         Tests for module 'rintl'.
6866         * modules/rintl-tests: New file.
6867         * tests/test-rintl.c: New file.
6868
6869         New module 'rintl'.
6870         * lib/math.in.h (rintl): New declaration.
6871         * lib/rintl.c: New file.
6872         * m4/rintl.m4: New file.
6873         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
6874         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
6875         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
6876         * modules/rintl: New file.
6877         * tests/test-math-c++.cc: Check the declaration of rintl.
6878         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
6879         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
6880         * doc/posix-functions/rintl.texi: Mention the new module.
6881
6882 2011-10-09  Bruno Haible  <bruno@clisp.org>
6883
6884         Tests for module 'rintf'.
6885         * modules/rintf-tests: New file.
6886         * tests/test-rintf.c: New file.
6887
6888         New module 'rintf'.
6889         * lib/math.in.h (rintf): New declaration.
6890         * lib/rintf.c: New file.
6891         * m4/rintf.m4: New file.
6892         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
6893         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
6894         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
6895         * modules/rintf: New file.
6896         * tests/test-math-c++.cc: Check the declaration of rintf.
6897         * doc/posix-functions/rintf.texi: Mention the new module.
6898
6899 2011-10-09  Bruno Haible  <bruno@clisp.org>
6900
6901         rint: Support for MSVC.
6902         * lib/math.in.h (rint): New declaration.
6903         * lib/rint.c: New file.
6904         * m4/rint.m4: New file.
6905         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
6906         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
6907         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
6908         * modules/rint (Description): Fix.
6909         (Files): Add lib/rint.c, m4/rint.m4.
6910         (Depends-on): Add math.
6911         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
6912         gl_MATH_MODULE_INDICATOR.
6913         * tests/test-math-c++.cc: Check the declaration of rint.
6914         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
6915         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
6916         * doc/posix-functions/rint.texi: Mention the replacement provided by
6917         the module.
6918
6919         rint tests: More tests.
6920         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
6921         minus-zero.h, infinity.h, nan.h.
6922         (main): Skip the test if the current rounding mode is not standard. Add
6923         tests for negative numbers, minus zero, infinity, NaN.
6924         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
6925         tests/nan.h.
6926         (Depends-on): Add isnand-nolibm.
6927
6928 2011-10-09  Bruno Haible  <bruno@clisp.org>
6929
6930         Tests for module 'copysignl'.
6931         * modules/copysignl-tests: New file.
6932         * tests/test-copysignl.c: New file.
6933
6934         New module 'copysignl'.
6935         * lib/math.in.h (copysignl): New declaration.
6936         * lib/copysignl.c: New file.
6937         * m4/copysignl.m4: New file.
6938         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
6939         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
6940         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
6941         HAVE_COPYSIGNL.
6942         * modules/copysignl: New file.
6943         * tests/test-math-c++.cc: Check the declaration of copysignl.
6944         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
6945         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
6946         * doc/posix-functions/copysignl.texi: Mention the new module.
6947
6948 2011-10-09  Bruno Haible  <bruno@clisp.org>
6949
6950         Tests for module 'copysignf'.
6951         * modules/copysignf-tests: New file.
6952         * tests/test-copysignf.c: New file.
6953
6954         New module 'copysignf'.
6955         * lib/math.in.h (copysignf): New declaration.
6956         * lib/copysignf.c: New file.
6957         * m4/copysignf.m4: New file.
6958         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
6959         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
6960         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
6961         HAVE_COPYSIGNF.
6962         * modules/copysignf: New file.
6963         * tests/test-math-c++.cc: Check the declaration of copysignf.
6964         * doc/posix-functions/copysignf.texi: Mention the new module.
6965
6966 2011-10-09  Bruno Haible  <bruno@clisp.org>
6967
6968         Ensure that HAVE_* variables are set to 1 before they are set to 0.
6969         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
6970         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
6971         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
6972         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
6973         gl_SIGNAL_H_DEFAULTS.
6974
6975 2011-10-09  Bruno Haible  <bruno@clisp.org>
6976
6977         poll: Make macro safer.
6978         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
6979         ac_cv_header_poll_h is not set.
6980
6981 2011-10-09  Bruno Haible  <bruno@clisp.org>
6982
6983         copysign: Provide replacement.
6984         * lib/math.in.h (copysign): New declaration.
6985         * lib/copysign.c: New file.
6986         * m4/copysign.m4: New file.
6987         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
6988         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
6989         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
6990         HAVE_COPYSIGN.
6991         * modules/copysign (Description): Clarify.
6992         (Files): Add lib/copysign.c, m4/copysign.m4.
6993         (Depends-on): Add math, signbit.
6994         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
6995         gl_MATH_MODULE_INDICATOR.
6996         * tests/test-math-c++.cc: Check the declaration of copysign.
6997         * doc/posix-functions/copysign.texi: Mention the effects of the module
6998         on Minix and MSVC.
6999
7000 2011-10-09  Bruno Haible  <bruno@clisp.org>
7001
7002         isinf: Ensure macro on AIX 5.1.
7003         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
7004         macro.
7005         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
7006
7007 2011-10-09  Bruno Haible  <bruno@clisp.org>
7008
7009         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
7010         * modules/snprintf-posix-tests (configure.ac): Require
7011         gl_LONG_DOUBLE_VS_DOUBLE.
7012         * modules/sprintf-posix-tests (configure.ac): Likewise.
7013         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
7014         * modules/vasprintf-posix-tests (configure.ac): Likewise.
7015         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
7016         * modules/vsprintf-posix-tests (configure.ac): Likewise.
7017         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
7018         tests on platforms where 'long double' is the same as 'double'.
7019         * tests/test-sprintf-posix.h (test_function): Likewise.
7020         * tests/test-vasnprintf-posix.c (test_function): Likewise.
7021         * tests/test-vasprintf-posix.c (test_function): Likewise.
7022
7023         *printf: Fix for platforms where 'long double' == 'double'.
7024         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
7025         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
7026         * modules/dprintf-posix (Files): Add m4/math_h.m4.
7027         * modules/fprintf-posix (Files): Likewise.
7028         * modules/obstack-printf-posix (Files): Likewise.
7029         * modules/snprintf-posix (Files): Likewise.
7030         * modules/sprintf-posix (Files): Likewise.
7031         * modules/vasnprintf (Files): Likewise.
7032         * modules/vasnprintf-posix (Files): Likewise.
7033         * modules/vasprintf-posix (Files): Likewise.
7034         * modules/vdprintf-posix (Files): Likewise.
7035         * modules/vfprintf-posix (Files): Likewise.
7036         * modules/vsnprintf-posix (Files): Likewise.
7037         * modules/vsprintf-posix (Files): Likewise.
7038         * modules/unistdio/u8-vasnprintf (Files): Likewise.
7039         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
7040         * modules/unistdio/u16-vasnprintf (Files): Likewise.
7041         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
7042         * modules/unistdio/u32-vasnprintf (Files): Likewise.
7043         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
7044         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
7045
7046         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
7047         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
7048         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7049         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
7050         'long double'.
7051         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
7052
7053         isinf: Fix for platforms where 'long double' == 'double'.
7054         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
7055         Don't blindly assume 80-bit 'long double'.
7056
7057         isfinite: Fix for platforms where 'long double' == 'double'.
7058         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
7059         Don't blindly assume 80-bit 'long double'.
7060
7061         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
7062         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
7063         * modules/isfinite-tests (configure.ac): Require
7064         gl_LONG_DOUBLE_VS_DOUBLE.
7065         * modules/isinf-tests (configure.ac): Likewise.
7066         * modules/isnan-tests (configure.ac): Likewise.
7067         * modules/isnanl-tests (configure.ac): Likewise.
7068         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
7069         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
7070         tests on platforms where 'long double' is the same as 'double'.
7071         * tests/test-isinf.c (test_isinfl): Likewise.
7072         * tests/test-isnan.c (test_long_double): Likewise.
7073         * tests/test-isnanl.h (main): Likewise.
7074
7075 2011-10-08  Bruno Haible  <bruno@clisp.org>
7076
7077         Tests for module 'tanhf'.
7078         * modules/tanhf-tests: New file.
7079         * tests/test-tanhf.c: New file.
7080
7081         New module 'tanhf'.
7082         * lib/math.in.h (tanhf): New declaration.
7083         * lib/tanhf.c: New file.
7084         * m4/tanhf.m4: New file.
7085         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
7086         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
7087         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
7088         * modules/tanhf: New file.
7089         * tests/test-math-c++.cc: Check the declaration of tanhf.
7090         * doc/posix-functions/tanhf.texi: Mention the new module.
7091
7092         tanh: Use a .m4 file.
7093         * m4/tanh.m4: New file.
7094         * modules/tanh (Files): Add it.
7095         (configure.ac): Just invoke gl_FUNC_TANH.
7096
7097 2011-10-08  Bruno Haible  <bruno@clisp.org>
7098
7099         Tests for module 'coshf'.
7100         * modules/coshf-tests: New file.
7101         * tests/test-coshf.c: New file.
7102
7103         New module 'coshf'.
7104         * lib/math.in.h (coshf): New declaration.
7105         * lib/coshf.c: New file.
7106         * m4/coshf.m4: New file.
7107         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
7108         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
7109         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
7110         * modules/coshf: New file.
7111         * tests/test-math-c++.cc: Check the declaration of coshf.
7112         * doc/posix-functions/coshf.texi: Mention the new module.
7113
7114         cosh: Use a .m4 file.
7115         * m4/cosh.m4: New file.
7116         * modules/cosh (Files): Add it.
7117         (configure.ac): Just invoke gl_FUNC_COSH.
7118
7119 2011-10-08  Bruno Haible  <bruno@clisp.org>
7120
7121         Tests for module 'sinhf'.
7122         * modules/sinhf-tests: New file.
7123         * tests/test-sinhf.c: New file.
7124
7125         New module 'sinhf'.
7126         * lib/math.in.h (sinhf): New declaration.
7127         * lib/sinhf.c: New file.
7128         * m4/sinhf.m4: New file.
7129         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
7130         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
7131         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
7132         * modules/sinhf: New file.
7133         * tests/test-math-c++.cc: Check the declaration of sinhf.
7134         * doc/posix-functions/sinhf.texi: Mention the new module.
7135
7136         sinh: Use a .m4 file.
7137         * m4/sinh.m4: New file.
7138         * modules/sinh (Files): Add it.
7139         (configure.ac): Just invoke gl_FUNC_SINH.
7140
7141 2011-10-08  Bruno Haible  <bruno@clisp.org>
7142
7143         Tests for module 'atan2f'.
7144         * modules/atan2f-tests: New file.
7145         * tests/test-atan2f.c: New file.
7146
7147         New module 'atan2f'.
7148         * lib/math.in.h (atan2f): New declaration.
7149         * lib/atan2f.c: New file.
7150         * m4/atan2f.m4: New file.
7151         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
7152         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
7153         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
7154         * modules/atan2f: New file.
7155         * tests/test-math-c++.cc: Check the declaration of atan2f.
7156         * doc/posix-functions/atan2f.texi: Mention the new module.
7157
7158         atan2: Use a .m4 file.
7159         * m4/atan2.m4: New file.
7160         * modules/atan2 (Files): Add it.
7161         (configure.ac): Just invoke gl_FUNC_ATAN2.
7162
7163 2011-10-08  Bruno Haible  <bruno@clisp.org>
7164
7165         Tests for module 'atanf'.
7166         * modules/atanf-tests: New file.
7167         * tests/test-atanf.c: New file.
7168
7169         New module 'atanf'.
7170         * lib/math.in.h (atanf): New declaration.
7171         * lib/atanf.c: New file.
7172         * m4/atanf.m4: New file.
7173         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
7174         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
7175         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
7176         * modules/atanf: New file.
7177         * tests/test-math-c++.cc: Check the declaration of atanf.
7178         * doc/posix-functions/atanf.texi: Mention the new module.
7179
7180         atan: Use a .m4 file.
7181         * m4/atan.m4: New file.
7182         * modules/atan (Files): Add it.
7183         (configure.ac): Just invoke gl_FUNC_ATAN.
7184
7185 2011-10-08  Bruno Haible  <bruno@clisp.org>
7186
7187         Tests for module 'acosf'.
7188         * modules/acosf-tests: New file.
7189         * tests/test-acosf.c: New file.
7190
7191         New module 'acosf'.
7192         * lib/math.in.h (acosf): New declaration.
7193         * lib/acosf.c: New file.
7194         * m4/acosf.m4: New file.
7195         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
7196         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
7197         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
7198         * modules/acosf: New file.
7199         * tests/test-math-c++.cc: Check the declaration of acosf.
7200         * doc/posix-functions/acosf.texi: Mention the new module.
7201
7202         acos: Use a .m4 file.
7203         * m4/acos.m4: New file.
7204         * modules/acos (Files): Add it.
7205         (configure.ac): Just invoke gl_FUNC_ACOS.
7206
7207 2011-10-08  Bruno Haible  <bruno@clisp.org>
7208
7209         Tests for module 'asinf'.
7210         * modules/asinf-tests: New file.
7211         * tests/test-asinf.c: New file.
7212
7213         New module 'asinf'.
7214         * lib/math.in.h (asinf): New declaration.
7215         * lib/asinf.c: New file.
7216         * m4/asinf.m4: New file.
7217         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
7218         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
7219         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
7220         * modules/asinf: New file.
7221         * tests/test-math-c++.cc: Check the declaration of asinf.
7222         * doc/posix-functions/asinf.texi: Mention the new module.
7223
7224         asin: Use a .m4 file.
7225         * m4/asin.m4: New file.
7226         * modules/asin (Files): Add it.
7227         (configure.ac): Just invoke gl_FUNC_ASIN.
7228
7229 2011-10-08  Bruno Haible  <bruno@clisp.org>
7230
7231         Tests for module 'tanf'.
7232         * modules/tanf-tests: New file.
7233         * tests/test-tanf.c: New file.
7234
7235         New module 'tanf'.
7236         * lib/math.in.h (tanf): New declaration.
7237         * lib/tanf.c: New file.
7238         * m4/tanf.m4: New file.
7239         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
7240         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
7241         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
7242         * modules/tanf: New file.
7243         * tests/test-math-c++.cc: Check the declaration of tanf.
7244         * doc/posix-functions/tanf.texi: Mention the new module.
7245
7246         tan: Use a .m4 file.
7247         * m4/tan.m4: New file.
7248         * modules/tan (Files): Add it.
7249         (configure.ac): Just invoke gl_FUNC_TAN.
7250
7251 2011-10-08  Bruno Haible  <bruno@clisp.org>
7252
7253         Tests for module 'cosf'.
7254         * modules/cosf-tests: New file.
7255         * tests/test-cosf.c: New file.
7256
7257         New module 'cosf'.
7258         * lib/math.in.h (cosf): New declaration.
7259         * lib/cosf.c: New file.
7260         * m4/cosf.m4: New file.
7261         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
7262         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
7263         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
7264         * modules/cosf: New file.
7265         * tests/test-math-c++.cc: Check the declaration of cosf.
7266         * doc/posix-functions/cosf.texi: Mention the new module.
7267
7268         cos: Use a .m4 file.
7269         * m4/cos.m4: New file.
7270         * modules/cos (Files): Add it.
7271         (configure.ac): Just invoke gl_FUNC_COS.
7272
7273 2011-10-08  Bruno Haible  <bruno@clisp.org>
7274
7275         Tests for module 'sinf'.
7276         * modules/sinf-tests: New file.
7277         * tests/test-sinf.c: New file.
7278
7279         New module 'sinf'.
7280         * lib/math.in.h (sinf): New declaration.
7281         * lib/sinf.c: New file.
7282         * m4/sinf.m4: New file.
7283         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
7284         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
7285         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
7286         * modules/sinf: New file.
7287         * tests/test-math-c++.cc: Check the declaration of sinf.
7288         * doc/posix-functions/sinf.texi: Mention the new module.
7289
7290         sin: Use a .m4 file.
7291         * m4/sin.m4: New file.
7292         * modules/sin (Files): Add it.
7293         (configure.ac): Just invoke gl_FUNC_SIN.
7294
7295 2011-10-08  Bruno Haible  <bruno@clisp.org>
7296
7297         Tests for module 'powf'.
7298         * modules/powf-tests: New file.
7299         * tests/test-powf.c: New file.
7300
7301         New module 'powf'.
7302         * lib/math.in.h (powf): New declaration.
7303         * lib/powf.c: New file.
7304         * m4/powf.m4: New file.
7305         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
7306         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
7307         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
7308         * modules/powf: New file.
7309         * tests/test-math-c++.cc: Check the declaration of powf.
7310         * doc/posix-functions/powf.texi: Mention the new module.
7311
7312         pow: Use a .m4 file.
7313         * m4/pow.m4: New file.
7314         * modules/pow (Files): Add it.
7315         (configure.ac): Just invoke gl_FUNC_POW.
7316
7317 2011-10-08  Bruno Haible  <bruno@clisp.org>
7318
7319         Tests for module 'log10f'.
7320         * modules/log10f-tests: New file.
7321         * tests/test-log10f.c: New file.
7322
7323         New module 'log10f'.
7324         * lib/math.in.h (log10f): New declaration.
7325         * lib/log10f.c: New file.
7326         * m4/log10f.m4: New file.
7327         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
7328         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
7329         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
7330         * modules/log10f: New file.
7331         * tests/test-math-c++.cc: Check the declaration of log10f.
7332         * doc/posix-functions/log10f.texi: Mention the new module.
7333
7334         log10: Use a .m4 file.
7335         * m4/log10.m4: New file.
7336         * modules/log10 (Files): Add it.
7337         (configure.ac): Just invoke gl_FUNC_LOG10.
7338
7339 2011-10-08  Bruno Haible  <bruno@clisp.org>
7340
7341         Tests for module 'logf'.
7342         * modules/logf-tests: New file.
7343         * tests/test-logf.c: New file.
7344
7345         New module 'logf'.
7346         * lib/math.in.h (logf): New declaration.
7347         * lib/logf.c: New file.
7348         * m4/logf.m4: New file.
7349         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
7350         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
7351         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
7352         * modules/logf: New file.
7353         * tests/test-math-c++.cc: Check the declaration of logf.
7354         * doc/posix-functions/logf.texi: Mention the new module.
7355
7356         log: Use a .m4 file.
7357         * m4/log.m4: New file.
7358         * modules/log (Files): Add it.
7359         (configure.ac): Just invoke gl_FUNC_LOG.
7360
7361 2011-10-08  Bruno Haible  <bruno@clisp.org>
7362
7363         Tests for module 'expf'.
7364         * modules/expf-tests: New file.
7365         * tests/test-expf.c: New file.
7366
7367         New module 'expf'.
7368         * lib/math.in.h (expf): New declaration.
7369         * lib/expf.c: New file.
7370         * m4/expf.m4: New file.
7371         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
7372         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
7373         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
7374         * modules/expf: New file.
7375         * tests/test-math-c++.cc: Check the declaration of expf.
7376         * doc/posix-functions/expf.texi: Mention the new module.
7377
7378         exp: Use a .m4 file.
7379         * m4/exp.m4: New file.
7380         * modules/exp (Files): Add it.
7381         (configure.ac): Just invoke gl_FUNC_EXP.
7382
7383 2011-10-08  Bruno Haible  <bruno@clisp.org>
7384
7385         Tests for module 'sqrtf'.
7386         * modules/sqrtf-tests: New file.
7387         * tests/test-sqrtf.c: New file.
7388
7389         New module 'sqrtf'.
7390         * lib/math.in.h (sqrtf): New declaration.
7391         * lib/sqrtf.c: New file.
7392         * m4/sqrtf.m4: New file.
7393         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
7394         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
7395         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
7396         * modules/sqrtf: New file.
7397         * tests/test-math-c++.cc: Check the declaration of sqrtf.
7398         * doc/posix-functions/sqrtf.texi: Mention the new module.
7399
7400 2011-10-08  Bruno Haible  <bruno@clisp.org>
7401
7402         Tests: Avoid link failures w.r.t. libintl.
7403         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
7404         $(LIBINTL).
7405         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
7406         $(LIBINTL).
7407         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
7408         against $(LIBINTL).
7409         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
7410         $(LIBINTL).
7411         * modules/openat-tests (Makefile.am): Link test-fchmodat against
7412         $(LIBINTL).
7413         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
7414
7415 2011-10-08  Bruno Haible  <bruno@clisp.org>
7416
7417         pow tests: Defeat compiler optimizations.
7418         * tests/test-pow.c (main): Assign arguments to x and y before use.
7419
7420 2011-10-08  Bruno Haible  <bruno@clisp.org>
7421
7422         gnulib-tool: Improve last commit.
7423         * gnulib-tool (func_modules_transitive_closure): Simplify code.
7424         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
7425         ignore dependencies that are not among the modules list.
7426
7427 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
7428
7429         gnulib-tool: don't follow dependencies to avoided modules
7430         This fixes a bug that is related to the previous one.
7431         * gnulib-tool (func_modules_transitive_closure)
7432         (func_emit_autoconf_snippets):
7433         Check whether a dependency is acceptable before using it.
7434         (--extract-dependencies): Report an error if --avoid is also used,
7435         since this combination of options is not yet supported.
7436
7437         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
7438         Problem reported by Peter Dyballa in
7439         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
7440         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
7441         when echoing "$condition".
7442
7443 2011-10-07  Bruno Haible  <bruno@clisp.org>
7444
7445         Fix documentation about math functions on MacOS X.
7446         * doc/posix-functions/exp2.texi: Don't say the function is missing on
7447         MacOS X 10.5.
7448         * doc/posix-functions/fdim.texi: Likewise.
7449         * doc/posix-functions/feclearexcept.texi: Likewise.
7450         * doc/posix-functions/fegetenv.texi: Likewise.
7451         * doc/posix-functions/fegetround.texi: Likewise.
7452         * doc/posix-functions/feholdexcept.texi: Likewise.
7453         * doc/posix-functions/feraiseexcept.texi: Likewise.
7454         * doc/posix-functions/fesetenv.texi: Likewise.
7455         * doc/posix-functions/fesetround.texi: Likewise.
7456         * doc/posix-functions/fetestexcept.texi: Likewise.
7457         * doc/posix-functions/feupdateenv.texi: Likewise.
7458         * doc/posix-functions/fmax.texi: Likewise.
7459         * doc/posix-functions/fmin.texi: Likewise.
7460         * doc/posix-functions/log2.texi: Likewise.
7461         * doc/posix-functions/modff.texi: Likewise.
7462         * doc/posix-functions/nan.texi: Likewise.
7463         * doc/posix-functions/nanf.texi: Likewise.
7464         * doc/posix-functions/nextafterf.texi: Likewise.
7465         * doc/posix-functions/remquo.texi: Likewise.
7466
7467 2011-10-07  Bruno Haible  <bruno@clisp.org>
7468
7469         modff: Drop assumption about library that defines modff.
7470         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
7471         AC_CHECK_FUNCS.
7472         * modules/modff (Files): Add m4/mathfunc.m4.
7473
7474 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
7475
7476         raise tests: Avoid a GCC warning.
7477         * tests/test-raise.c (handler): Use _Noreturn.
7478
7479 2011-10-07  Bruno Haible  <bruno@clisp.org>
7480
7481         Tests for module 'ldexpf'.
7482         * modules/ldexpf-tests: New file.
7483         * tests/test-ldexpf.c: New file.
7484
7485         New module 'ldexpf'.
7486         * lib/math.in.h (ldexpf): New declaration.
7487         * lib/ldexpf.c: New file.
7488         * m4/ldexpf.m4: New file.
7489         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
7490         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
7491         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
7492         * modules/ldexpf: New file.
7493         * tests/test-math-c++.cc: Check the declaration of ldexpf.
7494         * doc/posix-functions/ldexpf.texi: Mention the new module.
7495
7496 2011-10-06  Bruno Haible  <bruno@clisp.org>
7497
7498         frexpf: Work around problems on IRIX and mingw.
7499         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
7500         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
7501         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
7502         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
7503         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
7504         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
7505         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
7506
7507 2011-10-06  Bruno Haible  <bruno@clisp.org>
7508
7509         fabsf: Drop assumption about library that defines fabsf.
7510         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
7511         AC_CHECK_FUNCS.
7512         * modules/fabsf (Files): Add m4/mathfunc.m4.
7513
7514 2011-10-06  Bruno Haible  <bruno@clisp.org>
7515
7516         frexpf: Drop assumption about library that defines frexpf.
7517         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
7518         'int *', 'float *', 'long double *', 'float', 'long double'.
7519         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
7520         AC_CHECK_FUNCS.
7521         * modules/frexpf (Files): Add m4/mathfunc.m4.
7522
7523         Tests for module 'frexpf'.
7524         * modules/frexpf-tests: New file.
7525         * tests/test-frexpf.c: New file.
7526
7527         New module 'frexpf'.
7528         * lib/math.in.h (frexpf): New declaration.
7529         * lib/frexpf.c: New file.
7530         * m4/frexpf.m4: New file.
7531         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
7532         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
7533         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
7534         * modules/frexpf: New file.
7535         * tests/test-math-c++.cc: Check the declaration of frexpf.
7536         * doc/posix-functions/frexpf.texi: Mention the new module.
7537
7538 2011-10-06  Bruno Haible  <bruno@clisp.org>
7539
7540         math: Sort function declarations of math.in.h.
7541         * lib/math.in.h (frexp, logb): Move declarations.
7542
7543 2011-10-05  Bruno Haible  <bruno@clisp.org>
7544
7545         Tests for module 'modff'.
7546         * modules/modff-tests: New file.
7547         * tests/test-modff.c: New file.
7548
7549         New module 'modff'.
7550         * lib/math.in.h (modff): New declaration.
7551         * lib/modff.c: New file.
7552         * m4/modff.m4: New file.
7553         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
7554         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
7555         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
7556         * modules/modff: New file.
7557         * tests/test-math-c++.cc: Check the declaration of modff.
7558         * doc/posix-functions/modff.texi: Mention the new module.
7559
7560         modf tests: Make test sharper.
7561         * tests/test-modf.c (main): Strengthen upper bound.
7562
7563         modf: Use a .m4 file.
7564         * m4/modf.m4: New file.
7565         * modules/modf (Files): Add it.
7566         (configure.ac): Just invoke gl_FUNC_MODF.
7567
7568 2011-10-05  Bruno Haible  <bruno@clisp.org>
7569
7570         Tests for module 'fmodf'.
7571         * modules/fmodf-tests: New file.
7572         * tests/test-fmodf.c: New file.
7573
7574         New module 'fmodf'.
7575         * lib/math.in.h (fmodf): New declaration.
7576         * lib/fmodf.c: New file.
7577         * m4/fmodf.m4: New file.
7578         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
7579         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
7580         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
7581         * modules/fmodf: New file.
7582         * tests/test-math-c++.cc: Check the declaration of fmodf.
7583         * doc/posix-functions/fmodf.texi: Mention the new module.
7584
7585         fmod: Use a .m4 file.
7586         * m4/fmod.m4: New file.
7587         * modules/fmod (Files): Add it.
7588         (configure.ac): Just invoke gl_FUNC_FMOD.
7589
7590 2011-10-05  Bruno Haible  <bruno@clisp.org>
7591
7592         Tests for module 'fabsf'.
7593         * modules/fabsf-tests: New file.
7594         * tests/test-fabsf.c: New file.
7595
7596         New module 'fabsf'.
7597         * lib/math.in.h (fabsf): New declaration.
7598         * lib/fabsf.c: New file.
7599         * m4/fabsf.m4: New file.
7600         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
7601         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
7602         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
7603         * modules/fabsf: New file.
7604         * tests/test-math-c++.cc: Check the declaration of fabsf.
7605         * doc/posix-functions/fabsf.texi: Mention the new module.
7606
7607         fabs: Use a .m4 file.
7608         * m4/fabs.m4: New file.
7609         * modules/fabs (Files): Add it.
7610         (configure.ac): Just invoke gl_FUNC_FABS.
7611
7612 2011-10-05  Jim Meyering  <meyering@redhat.com>
7613
7614         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
7615         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
7616         ls -lL regression introduced in coreutils-8.12, it does so at the
7617         cost of an additional stat call in the common case.  Besides, now
7618         that the kernel change that prompted commit 95f7c57f has been reverted
7619         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
7620         we have no use for commit 95f7c57f, "file-has-acl: use
7621         acl_extended_file_nofollow if available".
7622
7623 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
7624
7625         file-has-acl: revert unintended change in behavior of ls -L
7626         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
7627         derived from...
7628         (file_has_acl): ...code here.  Call it.
7629         This problem was introduced with 2011-07-22 commit 95f7c57f,
7630         "file-has-acl: use acl_extended_file_nofollow if available".
7631         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
7632
7633 2011-10-03  Bruno Haible  <bruno@clisp.org>
7634
7635         poll: Avoid link errors on MSVC.
7636         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
7637         * modules/poll (Depends-on): Add sockets.
7638         (Link): New section.
7639         * NEWS: Mention the change.
7640         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
7641         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
7642         $(LIB_POLL) instead of $(LIBSOCKET).
7643
7644 2011-10-03  Bruno Haible  <bruno@clisp.org>
7645
7646         sys_select tests: Fix link error on MSVC 9.
7647         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
7648         with $(LIB_SELECT) instead of $(LIBSOCKET).
7649
7650 2011-10-03  Bruno Haible  <bruno@clisp.org>
7651
7652         sys_select: Fix compilation error on mingw.
7653         * lib/sys_select.in.h: On native Windows, include <io.h>.
7654
7655 2011-10-03  Bruno Haible  <bruno@clisp.org>
7656
7657         wmemset: Support for MSVC.
7658         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
7659         whether wmemset() exists.
7660
7661 2011-10-03  Bruno Haible  <bruno@clisp.org>
7662
7663         wmemmove: Support for MSVC.
7664         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
7665         whether wmemmove() exists.
7666
7667 2011-10-03  Bruno Haible  <bruno@clisp.org>
7668
7669         wmemcpy: Support for MSVC.
7670         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
7671         whether wmemcpy() exists.
7672
7673 2011-10-03  Bruno Haible  <bruno@clisp.org>
7674
7675         wmemcmp: Support for MSVC.
7676         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
7677         whether wmemcmp() exists.
7678
7679 2011-10-03  Bruno Haible  <bruno@clisp.org>
7680
7681         wmemchr: Support for MSVC.
7682         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
7683         whether wmemchr() exists.
7684
7685 2011-10-03  Bruno Haible  <bruno@clisp.org>
7686
7687         glthread/*, strsignal: Support for MSVC.
7688         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
7689         including <winsock.h> on MSVC 9.
7690         * lib/glthread/lock.h: Likewise.
7691         * lib/glthread/thread.h: Likewise.
7692         * lib/glthread/tls.h: Likewise.
7693         * lib/glthread/yield.h: Likewise.
7694         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
7695         if HAVE_UNISTD_H is false.
7696         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
7697
7698 2011-10-03  Bruno Haible  <bruno@clisp.org>
7699
7700         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
7701         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
7702         Set to 100000.
7703
7704 2011-10-03  Bruno Haible  <bruno@clisp.org>
7705
7706         acl: Fix specification.
7707         * lib/file-has-acl.c (file_has_acl): Fix specification.
7708
7709 2011-10-03  Bruno Haible  <bruno@clisp.org>
7710
7711         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
7712         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
7713         (compute_curr_prefix, shared_library_fullname,
7714         find_shared_library_fullname, get_shared_library_fullname, relocate):
7715         Use it together with PIC && INSTALLDIR.
7716         Reported by <jojelino@gmail.com>
7717         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
7718
7719 2011-10-01  Jim Meyering  <meyering@redhat.com>
7720
7721         maint.mk: adjust a release-related rule not to require use of gzip
7722         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
7723         Instead, check each file in $(DIST_ARCHIVES).  This is better for
7724         projects that build only .tar.xz files.  Also fix an erroneous test.
7725
7726         test-linkat: don't leave behind a temporary file
7727         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
7728         Otherwise, coreutils' "make distcheck" would fail with this:
7729           Only in /c/cu/tests/torture/coreutils/test/\
7730             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
7731           make[2]: *** [my-distcheck] Error 1
7732
7733         float, math: add omitted file
7734         * lib/itold.c: Add file, required for yesterday's float change.
7735
7736 2011-10-01  Bruno Haible  <bruno@clisp.org>
7737
7738         isinf: Fix for OpenBSD/x86.
7739         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
7740         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
7741         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
7742
7743 2011-10-01  Bruno Haible  <bruno@clisp.org>
7744
7745         isfinite: Fix syntax error in configure test.
7746         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
7747
7748         isfinite: Fix typo.
7749         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
7750         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
7751
7752 2011-10-01  Bruno Haible  <bruno@clisp.org>
7753
7754         nonblocking tests: Fix test failure on Linux/IA-64.
7755         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
7756         Set to 270000.
7757
7758 2011-10-01  Bruno Haible  <bruno@clisp.org>
7759
7760         mkfifoat tests: Fix a test failure on mingw.
7761         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
7762         with error ENOSYS.
7763
7764 2011-09-30  Bruno Haible  <bruno@clisp.org>
7765
7766         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
7767         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
7768         'long double'. Set REPLACE_ITOLD.
7769         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
7770         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
7771         * lib/itold.c: New file.
7772         * modules/float (Files): Add lib/itold.c.
7773         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
7774         (Makefile.am): Substitute REPLACE_ITOLD.
7775         * modules/math (Depends-on): Add float.
7776         (Makefile.am): Substitute REPLACE_ITOLD.
7777         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
7778         * doc/posix-headers/math.texi: Likewise.
7779         * doc/posix-functions/logl.texi: Likewise.
7780
7781 2011-09-30  Bruno Haible  <bruno@clisp.org>
7782
7783         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
7784         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
7785         Set to 140000.
7786
7787 2011-09-30  Bruno Haible  <bruno@clisp.org>
7788
7789         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
7790         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
7791         invocation, say "right after AC_PROG_CC_STDC", not "right after
7792         AC_PROG_CC".
7793         Reported by Gary V. Vaughan <gary@gnu.org>.
7794
7795 2011-09-30  Bruno Haible  <bruno@clisp.org>
7796
7797         Centralize C99 requirement.
7798         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
7799         * modules/stdarg (configure.ac-early): Invoke it instead of
7800         AC_PROG_CC_STDC.
7801         Reported by Gary V. Vaughan and Paul Eggert.
7802
7803 2011-09-29  Bruno Haible  <bruno@clisp.org>
7804
7805         float: Fix LDBL_MAX value on Linux/PowerPC.
7806         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
7807         on Linux/PowerPC.
7808         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
7809         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
7810         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
7811         platform.
7812         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
7813
7814 2011-09-29  Bruno Haible  <bruno@clisp.org>
7815
7816         doc: Improve doc about gl_EARLY.
7817         * doc/gnulib-tool.texi (Initial import): Mention where to place an
7818         AC_PROG_CC_STDC invocation.
7819         Reported by Gary V. Vaughan <gary@gnu.org>.
7820
7821 2011-09-28  Bruno Haible  <bruno@clisp.org>
7822
7823         fgetc, fputc, fread, fwrite tests: Fix link error.
7824         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
7825         on non-MSVC platforms.
7826         * tests/test-fputc.c (main): Likewise.
7827         * tests/test-fread.c (main): Likewise.
7828         * tests/test-fwrite.c (main): Likewise.
7829         Reported by Jim Meyering.
7830
7831 2011-09-27  Bruno Haible  <bruno@clisp.org>
7832
7833         fputc, fwrite tests: Avoid test failure on MSVC.
7834         * tests/test-fgetc.c: Include msvc-inval.h.
7835         (main): Invoke gl_msvc_inval_ensure_handler.
7836         * tests/test-fputc.c: Include msvc-inval.h.
7837         (main): Invoke gl_msvc_inval_ensure_handler.
7838         * tests/test-fread.c: Include msvc-inval.h.
7839         (main): Invoke gl_msvc_inval_ensure_handler.
7840         * tests/test-fwrite.c: Include msvc-inval.h.
7841         (main): Invoke gl_msvc_inval_ensure_handler.
7842         * modules/fgetc-tests (Depends-on): Add msvc-inval.
7843         * modules/fputc-tests (Depends-on): Likewise.
7844         * modules/fread-tests (Depends-on): Likewise.
7845         * modules/fwrite-tests (Depends-on): Likewise.
7846
7847 2011-09-27  Bruno Haible  <bruno@clisp.org>
7848
7849         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
7850         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
7851         (raise): Remove older, duplicated declaration.
7852         (_gl_raise_SIGPIPE): New declaration.
7853         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
7854         (rpl_raise): Remove function.
7855         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
7856         a gnulib-defined SIGPIPE here.
7857         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
7858         'sigprocmask' has detected missing signal-blocking and the module
7859         'sigpipe' is enabled.
7860         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
7861
7862 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
7863
7864         base64-tests: avoid memory leak
7865         * tests/test-base64.c (main): Plug memory leak.
7866
7867         base32: new module
7868         * modules/base32: New module.
7869         * lib/base32.c: New file.
7870         * lib/base32.h: Likewise.
7871         * m4/base32.m4: Likewise.
7872         * modules/base32-tests: New test.
7873         * tests/test-base32.c: Likewise.
7874         * MODULES.html.sh (Misc): Mention it.
7875
7876 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
7877
7878         gnulib: use more-standard license notice wording
7879         * gnulib-tool (func_emit_copyright_notice): When emitting a
7880         license notice into a file, use the standard wording as suggested
7881         by the current information for GNU maintainers, except say "file"
7882         rather than "program".  The new wording gives a license version
7883         number, which addresses an issue raised by Glenn Morris in
7884         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
7885         * m4/onceonly.m4: Use that same wording here, too.
7886
7887         dup2: minor simplification
7888         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
7889         as lib/dup2.c no longer uses 'inline'.
7890
7891 2011-09-25  Bruno Haible  <bruno@clisp.org>
7892
7893         strings: Fix compilation error on MSVC.
7894         * lib/strings.in.h: Include <stddef.h> for size_t.
7895
7896 2011-09-25  Bruno Haible  <bruno@clisp.org>
7897
7898         fflush et al.: Document limitation on MSVC.
7899         * doc/posix-functions/fflush.texi: Document possible crash in handling
7900         mode other than DEFAULT_HANDLING.
7901         * doc/posix-functions/fgetc.texi: Likewise.
7902         * doc/posix-functions/fputc.texi: Likewise.
7903         * doc/posix-functions/fread.texi: Likewise.
7904         * doc/posix-functions/fwrite.texi: Likewise.
7905
7906 2011-09-25  Bruno Haible  <bruno@clisp.org>
7907
7908         msvc-inval: Allow three invalid parameter handling modes.
7909         * lib/msvc-inval.h: Don't include <stdlib.h> here.
7910         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
7911         macros.
7912         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
7913         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
7914         SANE_LIBRARY_HANDLING as a no-op.
7915         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
7916         <stdlib.h>.
7917         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
7918
7919 2011-09-25  Bruno Haible  <bruno@clisp.org>
7920
7921         msvc-inval: Make handler multithread-safe.
7922         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
7923         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
7924         declarations.
7925         (gl_msvc_inval_current): New declaration.
7926         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
7927         Operate on the structure returned by gl_msvc_inval_current().
7928         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
7929         Remove varaiables.
7930         (tls_index, tls_initialized): New variables.
7931         (not_per_thread): New variable.
7932         (gl_msvc_inval_current): New function.
7933         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
7934         returned by gl_msvc_inval_current().
7935
7936 2011-09-25  Bruno Haible  <bruno@clisp.org>
7937
7938         msvc-inval: Install handler globally.
7939         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
7940         !_MSC_VER.
7941         (gl_msvc_invalid_parameter_handler): Remove declaration.
7942         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
7943         declarations.
7944         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
7945         Install the handler globally, don't uninstall it.
7946         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
7947         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
7948         currently valid, call RaiseException instead.
7949         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
7950         for !_MSC_VER.
7951
7952 2011-09-25  Bruno Haible  <bruno@clisp.org>
7953
7954         strerror_r-posix: Fix for MSVC 9.
7955         * lib/strerror_r.c (local_snprintf): New function.
7956         (snprintf): Define to local_snprintf, not to _snprintf.
7957
7958 2011-09-25  Bruno Haible  <bruno@clisp.org>
7959
7960         ftruncate: Support for MSVC 9.
7961         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
7962         (chsize_nothrow): New function.
7963         (chsize): Redefine as a macro.
7964         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
7965         * modules/ftruncate (Depends-on): Add msvc-inval.
7966
7967 2011-09-25  Bruno Haible  <bruno@clisp.org>
7968
7969         New module 'fstat'.
7970         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
7971         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
7972         * lib/fchdir.c (rpl_fstat): Remove function.
7973         * m4/fstat.m4: New file.
7974         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
7975         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
7976         declared.
7977         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
7978         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
7979         * modules/fstat: New file.
7980         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
7981         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
7982         is set.
7983         * doc/posix-functions/fstat.texi: Mention the new module and the
7984         problem on MSVC.
7985         * NEWS: Mention the change.
7986         * modules/acl (Depends-on): Add fstat.
7987         * modules/chdir-safer (Depends-on): Likewise.
7988         * modules/chown (Depends-on): Likewise.
7989         * modules/copy-file (Depends-on): Likewise.
7990         * modules/fchdir (Depends-on): Likewise.
7991         * modules/fdopendir (Depends-on): Likewise.
7992         * modules/fopen (Depends-on): Likewise.
7993         * modules/fts (Depends-on): Likewise.
7994         * modules/getcwd (Depends-on): Likewise.
7995         * modules/isapipe (Depends-on): Likewise.
7996         * modules/linkat (Depends-on): Likewise.
7997         * modules/lseek (Depends-on): Likewise.
7998         * modules/mkdir-p (Depends-on): Likewise.
7999         * modules/open (Depends-on): Likewise.
8000         * modules/openat (Depends-on): Likewise.
8001         * modules/read-file (Depends-on): Likewise.
8002         * modules/renameat (Depends-on): Likewise.
8003         * modules/utimens (Depends-on): Likewise.
8004
8005 2011-09-25  Bruno Haible  <bruno@clisp.org>
8006
8007         linkat: Fix compilation on MSVC 9.
8008         * lib/linkat.c: Don't include <stdint.h>.
8009
8010 2011-09-25  Bruno Haible  <bruno@clisp.org>
8011
8012         fclose: Support for MSVC 9.
8013         * lib/fclose.c: Include msvc-inval.h.
8014         (fclose_nothrow): New function.
8015         (rpl_fclose): Use it.
8016         * modules/fclose (Depends-on): Add msvc-inval.
8017         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
8018
8019 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
8020
8021         dup2: minor simplifications
8022         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
8023         that it's a performance win.
8024         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
8025         ! defined __CYGWIN__)" to "ifdef F_GETFL".
8026
8027 2011-09-24  Jim Meyering  <meyering@redhat.com>
8028
8029         test-futimens: avoid a warning from gcc -Wshadow
8030         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
8031         to avoid a shadowing warning.
8032
8033 2011-09-24  Bruno Haible  <bruno@clisp.org>
8034
8035         fdopen: Support for MSVC 9.
8036         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
8037         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
8038         * lib/fdopen.c: Include msvc-inval.h.
8039         (fdopen_nothrow): New function.
8040         (rpl_fdopen): Use it.
8041         * modules/fdopen (Depends-on): Add msvc-inval.
8042         * modules/fclose-tests (Depends-on): Add fdopen.
8043         * modules/fflush-tests (Depends-on): Likewise.
8044         * modules/fgetc-tests (Depends-on): Likewise.
8045         * modules/fputc-tests (Depends-on): Likewise.
8046         * modules/fread-tests (Depends-on): Likewise.
8047         * modules/freopen-tests (Depends-on): Likewise.
8048         * modules/fseeko-tests (Depends-on): Likewise.
8049         * modules/ftello-tests (Depends-on): Likewise.
8050         * modules/fwrite-tests  (Depends-on): Likewise.
8051         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
8052
8053 2011-09-24  Bruno Haible  <bruno@clisp.org>
8054
8055         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
8056         * modules/fgetc-tests (Depends-on): Add unistd.
8057         * modules/fputc-tests (Depends-on): Likewise.
8058         * modules/fread-tests (Depends-on): Likewise.
8059         * modules/fwrite-tests (Depends-on): Likewise.
8060
8061 2011-09-24  Bruno Haible  <bruno@clisp.org>
8062
8063         dup: Simplify autoconf test.
8064         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
8065         on gl_MSVC_INVAL's result.
8066
8067 2011-09-24  Bruno Haible  <bruno@clisp.org>
8068
8069         Tests for function fwrite().
8070         * modules/fwrite-tests: New file.
8071         * tests/test-fwrite.c: New file.
8072         * modules/stdio-tests (Depends-on): Add fwrite-tests.
8073
8074         Tests for function fread().
8075         * modules/fread-tests: New file.
8076         * tests/test-fread.c: New file.
8077         * modules/stdio-tests (Depends-on): Add fread-tests.
8078
8079         Activate fputc tests.
8080         * modules/stdio-tests (Depends-on): Add fputc-tests.
8081
8082         Enhance fgetc, fputc tests.
8083         * tests/test-fgetc.c (main): Also test the stream's error indicator.
8084         * tests/test-fputc.c (main): Likewise.
8085
8086 2011-09-24  Bruno Haible  <bruno@clisp.org>
8087
8088         write: Support for MSVC 9.
8089         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
8090         is not 1.
8091         * lib/write.c (write_nothrow): New function.
8092         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
8093         not 1. Use write_nothrow.
8094         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
8095         invalid parameter handler.
8096         (gl_PREREQ_WRITE): New macro.
8097         * modules/write (Depends-on): Add msvc-inval.
8098         (configure.ac): Invoke gl_PREREQ_WRITE.
8099         * doc/posix-functions/write.texi: Mention the problem on MSVC.
8100
8101 2011-09-24  Bruno Haible  <bruno@clisp.org>
8102
8103         read: Fix last commit.
8104         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
8105
8106 2011-09-24  Bruno Haible  <bruno@clisp.org>
8107
8108         dup2: Fix last commit.
8109         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
8110         (rpl_dup2): Disable fcntl workaround on native Windows.
8111
8112         sigprocmask: Make code safer.
8113         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
8114         section that changes macro definitions for this compilation unit.
8115
8116 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
8117
8118         dup2: clarify by coalescing Windows-specific material
8119         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
8120         "msvc-nothrow.h"' to the Windows-specific section, so that the
8121         Emacs source need not contain these include files.
8122         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
8123         Windows-specific fixes into this function rather than just the
8124         nothrow fix, as this shortens and clarifies the code.  Always
8125         define as a function, as that's a bit cleaner than having it be
8126         sometimes a function and sometimes a macro.
8127         (rpl_dup2): Move the Windows-specific stuff out of here and into
8128         ms_windows_dup2.  Don't protect the Haiku-related fix with
8129         "#if !defined __linux__", as the same code also works around
8130         a Linux kernel bug, and it doesn't add any system calls on any
8131         platform.  Add comment about FreeBSD 6.1.
8132
8133         sigprocmask: move #include directive
8134         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
8135         Windows-specific section, so that the Emacs source need not
8136         contain msvc-inval.h.
8137
8138 2011-09-23  Bruno Haible  <bruno@clisp.org>
8139
8140         read: Support for MSVC 9.
8141         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
8142         is not 1.
8143         * lib/read.c (read_nothrow): New function.
8144         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
8145         read_nothrow.
8146         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
8147         invalid parameter handler.
8148         (gl_PREREQ_READ): New macro.
8149         * modules/read (Depends-on): Add msvc-inval.
8150         (configure.ac): Invoke gl_PREREQ_READ.
8151         * doc/posix-functions/read.texi: Mention the problem on MSVC.
8152
8153 2011-09-23  Bruno Haible  <bruno@clisp.org>
8154
8155         close: Support for MSVC 9.
8156         * lib/close.c: Include <errno.h>, msvc-inval.h.
8157         (close_nothrow): New function.
8158         (rpl_close): Use it.
8159         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
8160         invalid parameter handler.
8161         * modules/close (Depends-on): Add msvc-inval.
8162         * modules/dup2-tests (Depends-on): Add close.
8163         * modules/dup3-tests (Depends-on): Likewise.
8164         * modules/fcntl-tests (Depends-on): Likewise.
8165         * modules/spawn-pipe-tests (Depends-on): Likewise.
8166         * modules/unistd-safer-tests (Depends-on): Likewise.
8167         * doc/posix-functions/close.texi: Mention the problem on MSVC.
8168
8169 2011-09-23  Bruno Haible  <bruno@clisp.org>
8170
8171         New module 'dup'.
8172         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
8173         Allow replacement.
8174         * lib/dup.c: New file.
8175         * lib/fchdir.c (rpl_dup): Remove function.
8176         * m4/dup.m4: New file.
8177         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
8178         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
8179         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
8180         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
8181         * modules/dup: New file.
8182         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
8183         'dup' module is in use.
8184         * modules/fdopendir (Depends-on): Add dup.
8185         * modules/fdutimensat-tests (Depends-on): Likewise.
8186         * modules/fts (Depends-on): Likewise.
8187         * modules/futimens-tests (Depends-on): Likewise.
8188         * modules/posix_spawnp-tests (Depends-on): Likewise.
8189         * modules/unistd-safer-tests (Depends-on): Likewise.
8190         * modules/utimens-tests (Depends-on): Likewise.
8191         * doc/posix-functions/dup.texi: Mention the new module and the problem
8192         on MSVC.
8193
8194 2011-09-23  Bruno Haible  <bruno@clisp.org>
8195
8196         getdtablesize: Support for MSVC 9.
8197         * lib/getdtablesize.c: Include msvc-inval.h.
8198         (_setmaxstdio_nothrow): New function.
8199         (_setmaxstdio): Redefine it.
8200         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
8201         * modules/getdtablesize (Depends-on): Add msvc-inval.
8202         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
8203
8204 2011-09-23  Bruno Haible  <bruno@clisp.org>
8205
8206         signal-h: Rename from signal.
8207         * modules/signal-h: Renamed from modules/signal.
8208         * modules/pthread_sigmask (Depends-on): Update.
8209         * modules/raise (Depends-on): Likewise.
8210         * modules/sigaction (Depends-on): Likewise.
8211         * modules/sigpipe (Depends-on): Likewise.
8212         * modules/sigprocmask (Depends-on): Likewise.
8213         * modules/sys_select (Depends-on): Likewise.
8214         * modules/signal-h-tests: Renamed from modules/signal-tests.
8215         (Files, Depends-on, Makefile.am): Update.
8216         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
8217         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
8218         (Files, Makefile.am): Update.
8219         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
8220         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
8221         * modules/signal: New placeholder file.
8222         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
8223         * doc/posix-headers/signal.texi: Update.
8224         * NEWS: Mention the change.
8225
8226 2011-09-23  Bruno Haible  <bruno@clisp.org>
8227
8228         sigprocmask: Avoid crashes through signal() on MSVC 9.
8229         * lib/sigprocmask.c: Include msvc-inval.h.
8230         (signal_nothrow): New function.
8231         (signal): Redefine it.
8232         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
8233         * modules/sigprocmask (Depends-on): Add msvc-inval.
8234         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
8235
8236 2011-09-23  Bruno Haible  <bruno@clisp.org>
8237
8238         Tests for module 'raise'.
8239         * modules/raise-tests: New file.
8240         * tests/test-raise.c: New file.
8241
8242         raise: Support for MSVC.
8243         * lib/signal.in.h (raise): New declaration.
8244         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
8245         for native Windows platforms.
8246         * m4/raise.m4: New file.
8247         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
8248         HAVE_RAISE, REPLACE_RAISE.
8249         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
8250         REPLACE_RAISE.
8251         * modules/raise (Status, Notice): Remove fields.
8252         (Files): Add m4/raise.m4.
8253         (Depends-on): Add signal, msvc-inval.
8254         (configure.ac): Use the common idioms.
8255         (Maintainer): Add me.
8256         * tests/test-signal-c++.cc: Check the signature of raise.
8257         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
8258
8259 2011-09-23  Bruno Haible  <bruno@clisp.org>
8260
8261         pipe2: Fix compilation on pre-C99 compilers.
8262         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
8263
8264 2011-09-23  Bruno Haible  <bruno@clisp.org>
8265
8266         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
8267         * lib/msvc-nothrow.h: New file.
8268         * lib/msvc-nothrow.c: New file.
8269         * m4/msvc-nothrow.m4: New file.
8270         * modules/msvc-nothrow: New file.
8271         * lib/dup2.c: Include msvc-nothrow.h.
8272         (rpl_dup2): No need to protect _get_osfhandle call here.
8273         * lib/accept4.c: Include msvc-nothrow.h.
8274         * lib/error.c: Likewise.
8275         * lib/fcntl.c: Likewise.
8276         * lib/lseek.c: Likewise.
8277         * lib/nonblocking.c: Likewise.
8278         * lib/poll.c: Likewise.
8279         * lib/read.c: Likewise.
8280         * lib/select.c: Likewise.
8281         * lib/sockets.h: Likewise.
8282         * lib/sockets.c: Likewise.
8283         * lib/stdio-read.c: Likewise.
8284         * lib/stdio-write.c: Likewise.
8285         * lib/write.c: Likewise.
8286         * lib/w32sock.h: Likewise.
8287         * lib/w32spawn.h: Likewise.
8288         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
8289         * lib/fsync.c: Likewise.
8290         * lib/isapipe.c: Likewise.
8291         * modules/dup2 (Depends-on): Add msvc-nothrow.
8292         * modules/accept4 (Depends-on): Likewise.
8293         * modules/error (Depends-on): Likewise.
8294         * modules/fcntl (Depends-on): Likewise.
8295         * modules/lseek (Depends-on): Likewise.
8296         * modules/nonblocking (Depends-on): Likewise.
8297         * modules/poll (Depends-on): Likewise.
8298         * modules/read (Depends-on): Likewise.
8299         * modules/select (Depends-on): Likewise.
8300         * modules/sockets (Depends-on): Likewise.
8301         * modules/sigpipe (Depends-on): Likewise.
8302         * modules/write (Depends-on): Likewise.
8303         * modules/accept (Depends-on): Likewise.
8304         * modules/bind (Depends-on): Likewise.
8305         * modules/connect (Depends-on): Likewise.
8306         * modules/gethostname (Depends-on): Likewise.
8307         * modules/getpeername (Depends-on): Likewise.
8308         * modules/getsockname (Depends-on): Likewise.
8309         * modules/getsockopt (Depends-on): Likewise.
8310         * modules/ioctl (Depends-on): Likewise.
8311         * modules/listen (Depends-on): Likewise.
8312         * modules/recv (Depends-on): Likewise.
8313         * modules/recvfrom (Depends-on): Likewise.
8314         * modules/send (Depends-on): Likewise.
8315         * modules/sendto (Depends-on): Likewise.
8316         * modules/setsockopt (Depends-on): Likewise.
8317         * modules/shutdown (Depends-on): Likewise.
8318         * modules/socket (Depends-on): Likewise.
8319         * modules/execute (Depends-on): Likewise.
8320         * modules/spawn-pipe (Depends-on): Likewise.
8321         * modules/flock (Depends-on): Likewise.
8322         * modules/fsync (Depends-on): Likewise.
8323         * modules/isapipe (Depends-on): Likewise.
8324         * tests/test-cloexec.c: Include msvc-nothrow.h.
8325         * tests/test-dup-safer.c: Likewise.
8326         * tests/test-dup2.c: Likewise.
8327         * tests/test-dup3.c: Likewise.
8328         * tests/test-fcntl.c: Likewise.
8329         * tests/test-pipe.c: Likewise.
8330         * tests/test-pipe2.c: Likewise.
8331         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
8332         * modules/unistd-safer-tests (Depends-on): Likewise.
8333         * modules/dup2-tests (Depends-on): Likewise.
8334         * modules/dup3-tests (Depends-on): Likewise.
8335         * modules/fcntl-tests (Depends-on): Likewise.
8336         * modules/pipe-posix-tests (Depends-on): Likewise.
8337         * modules/pipe2-tests (Depends-on): Likewise.
8338
8339 2011-09-23  Bruno Haible  <bruno@clisp.org>
8340
8341         dup2: Make code more maintainable.
8342         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
8343         (rpl_dup2): Use it.
8344         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
8345         * modules/dup2 (configure.ac): Invoke it.
8346         Reported by Paul Eggert.
8347
8348 2011-09-23  Bruno Haible  <bruno@clisp.org>
8349
8350         msvc-inval: Fix compilation error.
8351         * lib/msvc-inval.h: Include <excpt.h>.
8352
8353 2011-09-23  Bruno Haible  <bruno@clisp.org>
8354
8355         mkdir: Tweak for MSVC 9.
8356         * lib/sys_stat.in.h: Update comments.
8357         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
8358
8359         Tests for module 'chdir'.
8360         * modules/chdir-tests: New file.
8361         * tests/test-chdir.c: New file.
8362
8363         New module 'chdir'.
8364         * modules/chdir: New file.
8365         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
8366         (chdir): New declaration.
8367         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
8368         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
8369         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
8370         * tests/test-unistd-c++.cc: Check signature of chdir.
8371         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
8372         * modules/chdir-long (Depends-on): Add chdir.
8373         * modules/fchdir (Depends-on): Likewise.
8374         * modules/rename (Depends-on): Likewise.
8375         * modules/savewd (Depends-on): Likewise.
8376
8377         rmdir: Support for mingw, MSVC 9.
8378         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
8379         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
8380
8381         getcwd: Tweak for MSVC 9.
8382         * lib/unistd.in.h: Update comments.
8383         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
8384
8385 2011-09-22  Bruno Haible  <bruno@clisp.org>
8386
8387         strerror_r-posix: Avoid a link error on MSVC.
8388         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
8389         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
8390
8391 2011-09-22  Bruno Haible  <bruno@clisp.org>
8392
8393         select: Avoid link errors on MSVC.
8394         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
8395         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
8396         * modules/pselect (Link): Likewise.
8397         * NEWS: Mention the change.
8398         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
8399         test-select-stdin against $(LIB_SELECT).
8400         * modules/pselect-tests (Makefile.am): Link test-pselect against
8401         $(LIB_SELECT).
8402
8403 2011-09-22  Bruno Haible  <bruno@clisp.org>
8404
8405         select: Avoid compilation error on MSVC.
8406         * lib/select.c: Don't include <stdbool.h>.
8407
8408 2011-09-21  Bruno Haible  <bruno@clisp.org>
8409
8410         Consolidate all uses of PATH_MAX in *.m4 files.
8411         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
8412         macros.
8413         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
8414         and gl_PATHMAX_SNIPPET.
8415         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
8416         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
8417         * modules/chdir-long (Files): Add m4/pathmax.m4.
8418         * modules/getcwd (Files): Likewise.
8419
8420 2011-09-21  Bruno Haible  <bruno@clisp.org>
8421
8422         ftruncate: Un-deprecate, concentrate on Win32 support.
8423         * modules/ftruncate (Status, Notice): Remove sections.
8424         (Depends-on): Add largefile.
8425         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
8426         non-mingw platforms.
8427         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
8428         include <io.h>.
8429         * modules/perror-tests (Depends-on): Add ftruncate.
8430         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
8431         'ftruncate' module.
8432
8433 2011-09-21  Bruno Haible  <bruno@clisp.org>
8434
8435         Add dependencies to new dirent related modules.
8436         * modules/opendir (Depends-on): Add closedir.
8437         * modules/getcwd (Depends-on): Add opendir, closedir.
8438         * modules/dirent-safer-tests (Depends-on): Likewise.
8439         * modules/fdopendir-tests (Depends-on): Likewise.
8440         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
8441         * modules/renameat-tests (Depends-on): Likewise.
8442
8443 2011-09-21  Bruno Haible  <bruno@clisp.org>
8444
8445         opendir: Avoid compilation error on mingw.
8446         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
8447         * modules/opendir (Depends-on): Add unistd.
8448
8449 2011-09-21  Bruno Haible  <bruno@clisp.org>
8450
8451         ftruncate tests: Avoid a test failure on mingw.
8452         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
8453
8454 2011-09-21  Bruno Haible  <bruno@clisp.org>
8455
8456         select tests: Avoid test failures on OSF/1 5.1 and mingw.
8457         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
8458         native Windows.
8459
8460 2011-09-21  Bruno Haible  <bruno@clisp.org>
8461
8462         New module 'fdopen'.
8463         * lib/stdio.in.h (fdopen): New declaration.
8464         * lib/fdopen.c: New file.
8465         * m4/fdopen.m4: New file.
8466         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
8467         REPLACE_FDOPEN.
8468         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
8469         REPLACE_FDOPEN.
8470         * modules/fdopen: New file.
8471         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
8472         * tests/test-stdio-c++.cc: Check signature of fdopen.
8473         * doc/posix-functions/fdopen.texi: Mention the new module.
8474
8475 2011-09-21  Bruno Haible  <bruno@clisp.org>
8476
8477         unlockpt tests: Avoid test failure on NetBSD 5.1.
8478         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
8479         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
8480
8481 2011-09-21  Bruno Haible  <bruno@clisp.org>
8482
8483         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
8484         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
8485         * tests/test-getlogin_r.c (main): Likewise.
8486
8487 2011-09-20  Bruno Haible  <bruno@clisp.org>
8488
8489         time tests: Don't require pid_t.
8490         * doc/posix-headers/time.texi: Revert last change.
8491         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
8492         * tests/test-time.c: Comment out the check for pid_t.
8493
8494 2011-09-20  Bruno Haible  <bruno@clisp.org>
8495
8496         fsync tests: Avoid a test failure on mingw.
8497         * tests/test-fsync.c (main): Allow a failure with EIO.
8498
8499 2011-09-20  Bruno Haible  <bruno@clisp.org>
8500
8501         euidaccess: Update comments.
8502         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
8503
8504 2011-09-20  Bruno Haible  <bruno@clisp.org>
8505
8506         Ensure EBADF returns for socket functions on mingw.
8507         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
8508         descriptor is invalid.
8509         * lib/bind.c (rpl_bind): Likewise.
8510         * lib/connect.c (rpl_connect): Likewise.
8511         * lib/getpeername.c (rpl_getpeername): Likewise.
8512         * lib/getsockname.c (rpl_getsockname): Likewise.
8513         * lib/getsockopt.c (rpl_getsockopt): Likewise.
8514         * lib/listen.c (rpl_listen): Likewise.
8515         * lib/recv.c (rpl_recv): Likewise.
8516         * lib/recvfrom.c (rpl_recvfrom): Likewise.
8517         * lib/send.c (rpl_send): Likewise.
8518         * lib/sendto.c (rpl_sendto): Likewise.
8519         * lib/setsockopt.c (rpl_setsockopt): Likewise.
8520         * lib/shutdown.c (rpl_shutdown): Likewise.
8521
8522 2011-09-20  Bruno Haible  <bruno@clisp.org>
8523
8524         select tests: EBADF tests.
8525         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
8526         test_bad_fd): New functions.
8527         (test_function): Invoke also test_bad_fd.
8528
8529 2011-09-20  Bruno Haible  <bruno@clisp.org>
8530
8531         Tests for module 'posix_spawn_file_actions_addopen.
8532         * modules/posix_spawn_file_actions_addopen-tests: New file.
8533         * tests/test-posix_spawn_file_actions_addopen.c: New file.
8534
8535         Tests for module 'posix_spawn_file_actions_adddup2'.
8536         * modules/posix_spawn_file_actions_adddup2-tests: New file.
8537         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
8538
8539         Tests for module 'posix_spawn_file_actions_addclose'.
8540         * modules/posix_spawn_file_actions_addclose-tests: New file.
8541         * tests/test-posix_spawn_file_actions_addclose.c: New file.
8542
8543 2011-09-20  Bruno Haible  <bruno@clisp.org>
8544
8545         Tests for module 'unlockpt'.
8546         * modules/unlockpt-tests: New file.
8547         * tests/test-unlockpt.c: New file.
8548         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
8549
8550         Tests for module 'grantpt'.
8551         * modules/grantpt-tests: New file.
8552         * tests/test-grantpt.c: New file.
8553         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
8554
8555 2011-09-20  Bruno Haible  <bruno@clisp.org>
8556
8557         freopen tests: EBADF tests.
8558         * tests/test-freopen.c: Include errno.h, unistd.h.
8559         (main): Add tests for EBADF, commented out for the moment.
8560
8561         fclose tests: EBADF tests.
8562         * tests/test-fclose.c (main): Add tests for EBADF.
8563
8564         fflush tests: EBADF tests.
8565         * tests/test-fflush.c: Include errno.h, macros.h.
8566         (main): Add tests for EBADF.
8567
8568         ftello tests: EBADF tests.
8569         * tests/test-ftello4.sh: New file.
8570         * tests/test-ftello4.c: New file.
8571         * modules/ftello-tests (Files): Add them.
8572         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
8573
8574         fseeko tests: EBADF tests.
8575         * tests/test-fseeko4.sh: New file.
8576         * tests/test-fseeko4.c: New file.
8577         * modules/fseeko-tests (Files): Add them.
8578         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
8579
8580         Tests for function fputc().
8581         * modules/fputc-tests: New file.
8582         * tests/test-fputc.c: New file.
8583         * modules/stdio-tests (Depends-on): Add fputc-tests.
8584
8585         Tests for function fgetc().
8586         * modules/fgetc-tests: New file.
8587         * tests/test-fgetc.c: New file.
8588         * modules/stdio-tests (Depends-on): Add fgetc-tests.
8589
8590         Tests for function fdopen().
8591         * modules/fdopen-tests: New file.
8592         * tests/test-fdopen.c: New file.
8593         * modules/stdio-tests (Depends-on): Add fdopen-tests.
8594
8595         Tests for module 'vdprintf'.
8596         * modules/vdprintf-tests: New file.
8597         * tests/test-vdprintf.c: New file.
8598
8599         Tests for module 'dprintf'.
8600         * modules/dprintf-tests: New file.
8601         * tests/test-dprintf.c: New file.
8602
8603 2011-09-20  Bruno Haible  <bruno@clisp.org>
8604
8605         Tests for module 'ioctl'.
8606         * modules/ioctl-tests: New file.
8607         * tests/test-ioctl.c: New file.
8608
8609 2011-09-20  Bruno Haible  <bruno@clisp.org>
8610
8611         fcntl tests: EBADF tests.
8612         * tests/test-fcntl.c (main): Add more tests for EBADF.
8613
8614 2011-09-20  Bruno Haible  <bruno@clisp.org>
8615
8616         utimensat tests: EBADF tests.
8617         * tests/test-utimensat.c (main): Add tests for EBADF.
8618
8619         renameat tests: EBADF tests.
8620         * tests/test-renameat.c (main): Add tests for EBADF.
8621
8622         mkfifoat tests: EBADF tests.
8623         * tests/test-mkfifoat.c (main): Add tests for EBADF.
8624
8625         readlinkat tests: EBADF tests.
8626         * tests/test-readlinkat.c (main): Add tests for EBADF.
8627
8628         symlinkat tests: EBADF tests.
8629         * tests/test-symlinkat.c (main): Add tests for EBADF.
8630
8631         linkat tests: EBADF tests.
8632         * tests/test-linkat.c (main): Add tests for EBADF.
8633
8634         Tests for module 'faccessat'.
8635         * modules/faccessat-tests: New file.
8636         * tests/test-faccessat.c: New file.
8637
8638         fdopendir tests: EBADF tests.
8639         * tests/test-fdopendir.c (main): Add more tests for EBADF.
8640
8641         openat tests: EBADF tests.
8642         * tests/test-fchownat.c (main): Add tests for EBADF.
8643         * tests/test-fstatat.c (main): Likewise.
8644         * tests/test-mkdirat.c (main): Likewise.
8645         * tests/test-openat.c (main): Likewise.
8646         * tests/test-unlinkat.c (main): Likewise.
8647         * tests/test-fchmodat.c: New file.
8648         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
8649         (Makefile.am): Also run 'test-fchmodat'.
8650
8651 2011-09-20  Bruno Haible  <bruno@clisp.org>
8652
8653         utimens, futimens, fdutimensat tests: EBADF tests.
8654         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
8655
8656         Tests for function fstat().
8657         * modules/fstat-tests: New file.
8658         * tests/test-fstat.c: New file.
8659         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
8660
8661 2011-09-20  Bruno Haible  <bruno@clisp.org>
8662
8663         test-ttyname_r tests: EBADF tests.
8664         * tests/test-ttyname_r.c (main): Add tests for EBADF.
8665
8666         Tests for module 'isatty'.
8667         * modules/isatty-tests: New file.
8668         * tests/test-isatty.c: New file.
8669
8670         Tests for module 'write'.
8671         * modules/write-tests: New file.
8672         * tests/test-write.c: New file.
8673
8674         Tests for module 'read'.
8675         * modules/read-tests: New file.
8676         * tests/test-read.c: New file.
8677
8678         pwrite tests: EBADF tests.
8679         * tests/test-pwrite.c (main): Add tests for EBADF.
8680
8681         pread tests: EBADF tests.
8682         * tests/test-pread.c (main): Add tests for EBADF.
8683
8684         lseek tests: EBADF tests.
8685         * tests/test-lseek.c (main): Add more tests for EBADF.
8686
8687         Tests for module 'ftruncate'.
8688         * modules/ftruncate-tests: New file.
8689         * tests/test-ftruncate.sh: New file.
8690         * tests/test-ftruncate.c: New file.
8691
8692         fsync tests: EBADF tests.
8693         * tests/test-fsync.c (main): Add more tests for EBADF.
8694
8695         fdatasync tests: EBADF tests.
8696         * tests/test-fdatasync.c (main): Add more tests for EBADF.
8697
8698         Tests for module 'fchown'.
8699         * modules/fchown-tests: New file.
8700         * tests/test-fchown.c: New file.
8701
8702         Tests for module 'fchmod'.
8703         * modules/fchmod-tests: New file.
8704         * tests/test-fchmod.c: New file.
8705
8706         fchdir tests: EBADF tests.
8707         * tests/test-fchdir.c (main): Add more tests for EBADF.
8708
8709         dup2 tests: EBADF tests.
8710         * tests/test-dup2.c (main): Add more tests for EBADF.
8711
8712         Tests for module 'dup'.
8713         * modules/dup-tests: New file.
8714         * tests/test-dup.c: New file.
8715
8716         Tests for module 'close'.
8717         * modules/close-tests: New file.
8718         * tests/test-close.c: New file.
8719
8720 2011-09-20  Bruno Haible  <bruno@clisp.org>
8721
8722         Tests for module 'shutdown'.
8723         * modules/shutdown-tests: New file.
8724         * tests/test-shutdown.c: New file.
8725
8726         Tests for module 'setsockopt'.
8727         * modules/setsockopt-tests: New file.
8728         * tests/test-setsockopt.c: New file.
8729
8730         Tests for module 'sendto'.
8731         * modules/sendto-tests: New file.
8732         * tests/test-sendto.c: New file.
8733
8734         Tests for module 'send'.
8735         * modules/send-tests: New file.
8736         * tests/test-send.c: New file.
8737
8738         Tests for module 'recvfrom'.
8739         * modules/recvfrom-tests: New file.
8740         * tests/test-recvfrom.c: New file.
8741
8742         Tests for module 'recv'.
8743         * modules/recv-tests: New file.
8744         * tests/test-recv.c: New file.
8745
8746         Tests for module 'listen'.
8747         * modules/listen-tests: New file.
8748         * tests/test-listen.c: New file.
8749
8750         Tests for module 'getsockopt'.
8751         * modules/getsockopt-tests: New file.
8752         * tests/test-getsockopt.c: New file.
8753
8754         Tests for module 'getsockname'.
8755         * modules/getsockname-tests: New file.
8756         * tests/test-getsockname.c: New file.
8757
8758         Tests for module 'getpeername'.
8759         * modules/getpeername-tests: New file.
8760         * tests/test-getpeername.c: New file.
8761
8762         Tests for module 'connect'.
8763         * modules/connect-tests: New file.
8764         * tests/test-connect.c: New file.
8765
8766         Tests for module 'bind'.
8767         * modules/bind-tests: New file.
8768         * tests/test-bind.c: New file.
8769
8770         accept4 tests: Fix for native Windows.
8771         * tests/test-accept4.c: Include sockets.h.
8772         (main): Invoke gl_sockets_startup.
8773         * modules/accept4-tests (Depends-on): Add sockets.
8774
8775         accept tests: Fix for native Windows.
8776         * tests/test-accept.c: Include sockets.h.
8777         (main): Invoke gl_sockets_startup.
8778         * modules/accept-tests (Depends-on): Add sockets.
8779
8780 2011-09-19  Bruno Haible  <bruno@clisp.org>
8781
8782         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
8783         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
8784         do...while(0).
8785         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
8786         Suggested by Paul Eggert.
8787
8788 2011-09-19  Bruno Haible  <bruno@clisp.org>
8789
8790         sched: Ensure pid_t is defined.
8791         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
8792         not define pid_t.
8793         * lib/sched.in.h: Include <sys/types.h>.
8794         * doc/posix-headers/sched.texi: Mention the pid_t problem.
8795         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8796
8797 2011-09-19  Bruno Haible  <bruno@clisp.org>
8798
8799         msvc-inval: Ensure the entire expansion is a single statement.
8800         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
8801         of braces.
8802
8803 2011-09-19  Jim Meyering  <meyering@redhat.com>
8804
8805         tests: use printf, not echo in init.sh's warn_ function
8806         * tests/init.sh (warn_): Use printf, not echo.  The latter would
8807         misbehave when given strings containing a backslash or starting
8808         with e.g., -n.  James Youngman suggested setting IFS.
8809
8810 2011-09-19  Eric Blake  <eblake@redhat.com>
8811
8812         futimens: enhance test
8813         * tests/test-futimens.h (test_futimens): Also check for EBADF on
8814         closed non-negative fd.
8815
8816         date: accept 'hence' as opposite of 'ago'
8817         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
8818         * tests/test-parse-datetime.c (main): Enhance test.
8819         Suggested by Jesse Wilson.
8820
8821 2011-09-19  Jim Meyering  <meyering@redhat.com>
8822
8823         getcwd: don't fail in a deep directory on a system without openat
8824         Before this change, getcwd would fail when called from a directory
8825         of depth PATH_MAX / 3 or greater.  That was due to the fact that
8826         the non-openat implementation used "..", "../..", "../../..", etc.
8827         to access ancestor directories.  With too many, that string would
8828         be longer than PATH_MAX.
8829         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
8830         using gnulib's openat replacement.
8831         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
8832         we're using the replacement function.
8833
8834 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
8835
8836         maint.mk: avoid warnings from perl about missing files
8837         * top/maint.mk (def_sym_regex): Ignore files listed in
8838         $(gl_other_headers_) that do not exist, say because a project
8839         does not use a corresponding module.
8840
8841 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
8842
8843         stat: use pathmax.h only if needed
8844         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
8845         This is better for Emacs, which does not have a mingw port and
8846         therefore can avoid the pathmax module.
8847
8848         utimens: remove dependency on dup2
8849         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
8850         to work around the Linux kernel bug.
8851         * modules/utimens (Depends-on): Remove dup2.
8852
8853 2011-09-18  Bruno Haible  <bruno@clisp.org>
8854
8855         inet_ntop, inet_pton: Look for it also in libresolv.
8856         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
8857         libnsl, search for it in libresolv.
8858         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
8859         Needed on Solaris 7.
8860
8861 2011-09-18  Bruno Haible  <bruno@clisp.org>
8862
8863         accept, accept4 tests: Avoid link error on Solaris.
8864         * modules/accept-tests (Makefile.am): Link test-accept against
8865         $(LIBSOCKET).
8866         * modules/accept4-tests (Makefile.am): Link test-accept4 against
8867         $(LIBSOCKET).
8868
8869         accept4: Avoid link error on Solaris.
8870         * modules/accept4 (Link): New section.
8871
8872         socket functions: Avoid link errors on Solaris.
8873         * modules/accept (Depends-on): Add socketlib.
8874         (Link): New section.
8875         * modules/bind (Depends-on): Add socketlib.
8876         (Link): New section.
8877         * modules/connect (Depends-on): Add socketlib.
8878         (Link): New section.
8879         * modules/getpeername (Depends-on): Add socketlib.
8880         (Link): New section.
8881         * modules/getsockname (Depends-on): Add socketlib.
8882         (Link): New section.
8883         * modules/getsockopt (Depends-on): Add socketlib.
8884         (Link): New section.
8885         * modules/listen (Depends-on): Add socketlib.
8886         (Link): New section.
8887         * modules/recv (Depends-on): Add socketlib.
8888         (Link): New section.
8889         * modules/recvfrom (Depends-on): Add socketlib.
8890         (Link): New section.
8891         * modules/send (Depends-on): Add socketlib.
8892         (Link): New section.
8893         * modules/sendto (Depends-on): Add socketlib.
8894         (Link): New section.
8895         * modules/setsockopt (Depends-on): Add socketlib.
8896         (Link): New section.
8897         * modules/shutdown (Depends-on): Add socketlib.
8898         (Link): New section.
8899         * modules/socket (Depends-on): Add socketlib.
8900         (Link): New section.
8901
8902 2011-09-18  Bruno Haible  <bruno@clisp.org>
8903
8904         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
8905         * tests/test-ptsname.c (main): Terminate the test if it takes longer
8906         than 5 seconds.
8907         * modules/ptsname-tests (configure.ac): Test for alarm.
8908
8909 2011-09-18  Bruno Haible  <bruno@clisp.org>
8910
8911         posix_spawn_file_actions_add*: Fix module dependencies.
8912         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
8913         posix_spawn_file_actions_init.
8914         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
8915         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
8916
8917 2011-09-18  Bruno Haible  <bruno@clisp.org>
8918
8919         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
8920         * tests/test-rename.h (test_rename): Allow error code EEXIST.
8921         * tests/test-renameat.c (main): Likewise.
8922
8923 2011-09-18  Bruno Haible  <bruno@clisp.org>
8924
8925         Tests for module 'accept4'.
8926         * modules/accept4-tests: New file.
8927         * tests/test-accept4.c: New file.
8928
8929 2011-09-18  Bruno Haible  <bruno@clisp.org>
8930
8931         Tests for module 'accept'.
8932         * modules/accept-tests: New file.
8933         * tests/test-accept.c: New file.
8934
8935 2011-09-18  Bruno Haible  <bruno@clisp.org>
8936
8937         dup2: Support for MSVC.
8938         * lib/dup2.c: Include msvc-inval.h.
8939         (rpl_dup2): Handle invalid parameter notifications during dup2 and
8940         _get_osfhandle calls.
8941         * modules/dup2 (Depends-on): Add msvc-inval.
8942         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
8943
8944         New module 'msvc-inval'.
8945         * lib/msvc-inval.h: New file.
8946         * lib/msvc-inval.c: New file.
8947         * m4/msvc-inval.m4: New file.
8948         * modules/msvc-inval: New file.
8949
8950 2011-09-17  Bruno Haible  <bruno@clisp.org>
8951
8952         Tests for module 'pclose'.
8953         * modules/pclose-tests: New file.
8954
8955         New module 'pclose'.
8956         * lib/stdio.in.h (pclose): New declaration.
8957         * lib/pclose.c: New file.
8958         * m4/pclose.m4: New file.
8959         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
8960         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
8961         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
8962         * modules/pclose: New file.
8963         * modules/popen-tests (Depends-on): Add pclose.
8964         * modules/popen-safer-tests (Depends-on): Likewise.
8965         * doc/posix-functions/pclose.texi: Mention the new module.
8966
8967 2011-09-17  Bruno Haible  <bruno@clisp.org>
8968
8969         popen: Support for MSVC.
8970         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
8971         * lib/popen.c (popen): Provide alternate definition for native Windows.
8972         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
8973         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
8974         * modules/popen (Depends-on, configure.ac): Update condition.
8975         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
8976         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
8977         fixed.
8978
8979 2011-09-17  Bruno Haible  <bruno@clisp.org>
8980
8981         isnanl, isnand, isnanf: Work around MSVC bug.
8982         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
8983
8984 2011-09-17  Bruno Haible  <bruno@clisp.org>
8985
8986         sys_socket tests: Fix recent mistake.
8987         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
8988
8989 2011-09-17  Bruno Haible  <bruno@clisp.org>
8990
8991         putenv: Support for MSVC.
8992         * modules/putenv (Depends-on): Add environ.
8993         * lib/putenv.c (environ): Disable declaration.
8994         * lib/unistd.in.h: Update comment.
8995
8996 2011-09-17  Bruno Haible  <bruno@clisp.org>
8997
8998         math: Avoid macro redefinition warnings on MSVC.
8999         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
9000         Undefine before redefining.
9001
9002 2011-09-17  Bruno Haible  <bruno@clisp.org>
9003
9004         doc: Mention functions which are declared as macros.
9005         * doc/posix-functions/*[fl].texi: Mention that some functions are
9006         defined as macros with arguments only.
9007
9008 2011-09-17  Bruno Haible  <bruno@clisp.org>
9009
9010         Add dependencies to new dirent related modules.
9011         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
9012         * modules/fts (Depends-on): Likewise.
9013         * modules/glob (Depends-on): Likewise.
9014         * modules/savedir (Depends-on): Likewise.
9015         * modules/scandir (Depends-on): Likewise.
9016         * modules/dirent-safer (Depends-on): Add opendir, closedir.
9017         * modules/fdopendir (Depends-on): Add opendir.
9018
9019 2011-09-17  Bruno Haible  <bruno@clisp.org>
9020
9021         inet_pton: Support for MSVC on Windows Vista or newer.
9022         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
9023         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
9024         HAVE_DECL_INET_PTON is defined.
9025         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
9026         On platforms with <winsock2.h>, test whether inet_pton is declared in
9027         <ws2tcpip.h>. If so, arrange to replace it.
9028         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
9029         REPLACE_INET_PTON.
9030         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
9031         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
9032         (Depends-on, configure.ac): Update condition.
9033         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
9034
9035 2011-09-17  Bruno Haible  <bruno@clisp.org>
9036
9037         inet_ntop: Support for MSVC on Windows Vista or newer.
9038         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
9039         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
9040         HAVE_DECL_INET_NTOP is defined.
9041         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
9042         On platforms with <winsock2.h>, test whether inet_ntop is declared in
9043         <ws2tcpip.h>. If so, arrange to replace it.
9044         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
9045         REPLACE_INET_NTOP.
9046         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
9047         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
9048         (Depends-on, configure.ac): Update condition.
9049         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
9050
9051 2011-09-16  Eric Blake  <eblake@redhat.com>
9052
9053         test-fsync: yet another enhancement
9054         * tests/test-fsync.c (main): Also test behavior on read-only text
9055         file.
9056
9057 2011-09-16  Bruno Haible  <bruno@clisp.org>
9058
9059         Enhance fsync, fdatasync tests.
9060         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
9061         * tests/test-fdatasync.c (main): Likewise.
9062
9063 2011-09-16  Bruno Haible  <bruno@clisp.org>
9064
9065         Support for MSVC compiler: Ensure mode_t gets defined.
9066         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
9067         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
9068         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
9069         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
9070         * tests/test-fcntl-h.c: Check that mode_t is defined.
9071         * tests/test-sys_stat.c: Likewise.
9072         * tests/test-sys_types.c: Likewise.
9073         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
9074         * doc/posix-headers/sys_stat.texi: Likewise.
9075         * doc/posix-headers/sys_types.texi: Likewise.
9076
9077 2011-09-16  Bruno Haible  <bruno@clisp.org>
9078
9079         sys_stat: Support for MSVC.
9080         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
9081         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
9082         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
9083         MSVC.
9084
9085 2011-09-16  Bruno Haible  <bruno@clisp.org>
9086
9087         Support for MSVC compiler: Ensure off_t gets defined.
9088         * lib/unistd.in.h: Include <sys/types.h>.
9089         * tests/test-fcntl-h.c: Check that off_t is defined.
9090         * tests/test-sys_stat.c: Likewise.
9091         * tests/test-sys_types.c: Likewise.
9092
9093 2011-09-16  Eric Blake  <eblake@redhat.com>
9094
9095         fdatasync: port to Solaris
9096         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
9097         * modules/fdatasync (Link): Document it.
9098         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
9099
9100         fdatasync: port to MacOS X 10.7
9101         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
9102         declared.
9103         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
9104         * modules/unistd (Makefile.am): Substitute it.
9105         * lib/unistd.in.h (fdatasync): Declare on MacOS.
9106         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
9107
9108         fdatasync: minor improvements
9109         * modules/fdatasync (Depends-on): Add condition for fsync.
9110         * lib/fdatasync.c (fdatasync): Add comment.
9111         * tests/test-unistd-c++.cc: Test fdatasync.
9112
9113         unistd: update refs to newer POSIX
9114         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
9115         Suggested by Bruno Haible.
9116
9117         fdatasync: new module
9118         * modules/fsync (Description): Document difference to fdatasync.
9119         * modules/fdatasync: New module.
9120         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
9121         * lib/fdatasync.c (fdatasync): Likewise.
9122         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
9123         defaults.
9124         * modules/unistd (Makefile.am): Set witnesses.
9125         * lib/unistd.in.h (fdatasync): Declare.
9126         * MODULES.html.sh: Document it.
9127         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
9128         * modules/fdatasync-tests: New test.
9129         * tests/test-fdatasync.c: Likewise.
9130
9131 2011-09-16  Eric Blake  <eblake@redhat.com>
9132
9133         test-fsync: enhance tests
9134         * modules/fsync-tests (Depends-on): Add errno, for mingw.
9135         * tests/test-fsync.c (main): Enhance test.
9136
9137 2011-09-15  Bruno Haible  <bruno@clisp.org>
9138
9139         Support for MSVC compiler: Ensure ssize_t gets defined.
9140         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
9141         * doc/posix-headers/stdio.texi: Likewise.
9142         * modules/stdio (Depends-on): Add ssize_t.
9143         * modules/sys_socket (Depends-on): Likewise.
9144         * modules/sys_types (Depends-on): Likewise.
9145         * modules/sys_uio (Depends-on): Likewise.
9146         * modules/unistd (Depends-on): Likewise.
9147         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
9148         * tests/test-sys_types.c: Check that ssize_t is defined.
9149
9150 2011-09-14  Bruno Haible  <bruno@clisp.org>
9151
9152         Avoid using #, the m4 comment starter character, near brackets.
9153         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
9154         delimiter character in sed expressions.
9155         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
9156         Suggested by Eric Blake.
9157
9158         Properly quote AC_CHECK_DECLS' 4th argument.
9159         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
9160         argument.
9161         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
9162         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
9163         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
9164         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
9165         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
9166         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
9167         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
9168         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
9169         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
9170         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
9171         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
9172         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
9173         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
9174         * m4/isinf.m4 (gl_ISINF): Likewise.
9175         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
9176         * m4/readutmp.m4 (gl_READUTMP): Likewise.
9177         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
9178         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
9179         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
9180         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
9181         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
9182         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
9183         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
9184         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
9185         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
9186         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
9187         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
9188         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
9189         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
9190         Reported by Eric Blake.
9191
9192         Properly quote AC_CHECK_DECL's 4th argument.
9193         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
9194         argument.
9195         * m4/argp.m4 (gl_ARGP): Likewise.
9196         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
9197         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
9198         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
9199         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
9200         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
9201         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
9202         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
9203         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
9204         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
9205         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
9206         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
9207         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
9208         Reported by Eric Blake.
9209
9210 2011-09-14  Eric Blake  <eblake@redhat.com>
9211
9212         opendir: avoid compile warning
9213         * lib/opendir.c (includes): Always include errno.h.
9214         Reported by Tatsuro MATSUOKA.
9215
9216 2011-09-14  Jim Meyering  <meyering@redhat.com>
9217
9218         maint.mk: sc_tight_scope: propagate failure from sub-make
9219         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
9220         Reported by Martin von Gagern.
9221
9222 2011-09-13  Bruno Haible  <bruno@clisp.org>
9223
9224         tempname: Support for MSVC.
9225         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
9226         MSVC.
9227         * modules/tempname (Depends-on): Add fcntl-h.
9228
9229 2011-09-13  Bruno Haible  <bruno@clisp.org>
9230
9231         sys_time: Support for MSVC.
9232         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
9233         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
9234         include <winsock2.h>.
9235         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
9236         function declarations that collide with POSIX.
9237         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
9238         (Makefile.am): Substitute HAVE_WINSOCK2_H.
9239
9240 2011-09-13  Bruno Haible  <bruno@clisp.org>
9241
9242         stat: Support for MSVC.
9243         * lib/stat.c: Include pathmax.h.
9244         * modules/stat (Depends-on): Add pathmax.
9245
9246         pathmax: Support for native Windows.
9247         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
9248
9249 2011-09-12  Bruno Haible  <bruno@clisp.org>
9250
9251         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
9252         * lib/dirent.in.h (struct dirent): New type.
9253         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
9254         DT_WHT): New macros.
9255         (DIR): New type.
9256         (opendir, closedir): Declare only if the module 'opendir' is enabled.
9257         (readdir, rewinddir): New declarations.
9258         * lib/dirent-private.h: New file.
9259         * lib/opendir.c: New file.
9260         * lib/readdir.c: New file.
9261         * lib/rewinddir.c: New file.
9262         * lib/closedir.c: New file.
9263         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
9264         * m4/opendir.m4: New file.
9265         * m4/readdir.m4: New file.
9266         * m4/rewinddir.m4: New file.
9267         * m4/closedir.m4: New file.
9268         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
9269         REPLACE_CLOSEDIR here.
9270         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
9271         readdir, rewinddir are declared.
9272         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
9273         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
9274         HAVE_REWINDDIR, HAVE_CLOSEDIR.
9275         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
9276         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
9277         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
9278         * modules/opendir: New file.
9279         * modules/readdir: New file.
9280         * modules/rewinddir: New file.
9281         * modules/closedir: New file.
9282         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
9283         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
9284         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
9285         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
9286         * NEWS: Mention the 'fchdir' change.
9287
9288 2011-09-11  Bruno Haible  <bruno@clisp.org>
9289
9290         asm-underscore.m4: Support for MSVC.
9291         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
9292         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
9293
9294 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
9295
9296         Doc about crypt functions.
9297         * doc/posix-functions/crypt.texi: Expand range of glibc versions
9298         needing for _GNU_SOURCE to get crypt.
9299         * doc/posix-functions/encrypt.texi: Likewise.
9300         * doc/posix-functions/setkey.texi: Likewise.
9301
9302 2011-09-11  Bruno Haible  <bruno@clisp.org>
9303
9304         doc: Update regarding MSVC 9.
9305         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
9306         tested".
9307         * doc/posix-functions/*.texi: Update with info about MSVC 9.
9308         * doc/posix-headers/*.texi: Likewise.
9309         * doc/pastposix-functions/*.texi: Likewise.
9310         * doc/glibc-functions/*.texi: Likewise.
9311         * doc/glibc-headers/*.texi: Likewise.
9312
9313 2011-09-11  Bruno Haible  <bruno@clisp.org>
9314
9315         unistd et al.: Don't assume <unistd.h> exists.
9316         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
9317         does not exist.
9318         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
9319         exist. But include <stdlib.h>.
9320         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
9321         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
9322         symlink() does not exist.
9323         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
9324         include <io.h> instead.
9325         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
9326         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
9327         include <direct.h> instead.
9328         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
9329         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
9330         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
9331         <io.h> instead.
9332         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
9333         correctly if the system does not have hard links.
9334         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
9335         <direct.h> instead.
9336         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
9337         it when looking for function declarations.
9338         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
9339         <direct.h> and <io.h> instead.
9340         * doc/posix-headers/unistd.texi: More details about MSVC problem.
9341
9342 2011-09-11  Bruno Haible  <bruno@clisp.org>
9343
9344         strcase: Support for MSVC.
9345         * modules/strcase (Status, Notice): Remove obsoletion mark.
9346         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
9347         * doc/posix-functions/strncasecmp.texi: Likewise.
9348
9349         strings: Don't assume <strings.h> exists.
9350         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
9351         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
9352         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
9353         * doc/posix-headers/strings.texi: Mention the MSVC problem.
9354
9355 2011-09-11  Bruno Haible  <bruno@clisp.org>
9356
9357         dirent: Don't assume <dirent.h> exists.
9358         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
9359         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
9360         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
9361         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
9362
9363 2011-09-11  Bruno Haible  <bruno@clisp.org>
9364
9365         Fix wint_t on MSVC.
9366         * lib/wchar.in.h (wint_t): On MSVC, override it.
9367         * lib/wctype.in.h (wint_t): Likewise.
9368         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
9369         MSVC.
9370         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
9371         * doc/posix-headers/wctype.texi: Likewise.
9372
9373 2011-09-11  Bruno Haible  <bruno@clisp.org>
9374
9375         sys_types: Fix typo.
9376         * lib/sys_types.in.h: Fix typo in comment.
9377         Reported by Paul Eggert.
9378
9379         Support for MSVC compiler: Ensure size_t gets defined.
9380         * modules/strings (Depends-on): Add 'sys_types'.
9381         * modules/sys_uio (Depends-on): Likewise.
9382         * lib/sys_uio.in.h: Update comment.
9383
9384         C++ tests for module 'sys_types'.
9385         * modules/sys_types-c++-tests: New file.
9386         * tests/test-sys_types-c++.cc: New file.
9387
9388         Tests for module 'sys_types'.
9389         * modules/sys_types-tests: New file.
9390         * tests/test-sys_types.c: New file.
9391
9392         New module 'sys_types'.
9393         * lib/sys_types.in.h: New file.
9394         * m4/sys_types_h.m4: New file.
9395         * modules/sys_types: New file.
9396         * doc/posix-headers/sys_types.texi: Mention the new module and the
9397         size_t problem on MSVC 9.
9398
9399 2011-09-11  Bruno Haible  <bruno@clisp.org>
9400
9401         Support for MSVC compiler: Avoid division by a literal 0.
9402         * lib/math.in.h (NAN): Define through a function call also on MSVC.
9403         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
9404         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
9405         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
9406         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
9407         * tests/infinity.h: New file.
9408         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
9409         on MSVC.
9410         * tests/test-ceilf1.c: Include infinity.h.
9411         (main): Use Infinityf.
9412         * tests/test-ceil1.c: Include infinity.h.
9413         (main): Use Infinityd.
9414         * tests/test-ceill.c: Include infinity.h.
9415         (main): Use Infinityl.
9416         * tests/test-dprintf-posix.c: Include infinity.h.
9417         (test_function): Use Infinityd.
9418         * tests/test-floorf1.c: Include infinity.h.
9419         (main): Use Infinityf.
9420         * tests/test-floor1.c: Include infinity.h.
9421         (main): Use Infinityd.
9422         * tests/test-floorl.c: Include infinity.h.
9423         (main): Use Infinityl.
9424         * tests/test-fprintf-posix.c: Include infinity.h.
9425         (test_function): Use Infinityd.
9426         * tests/test-frexp.c: Include infinity.h.
9427         (main): Use Infinityd.
9428         * tests/test-frexpl.c: Include infinity.h.
9429         (main): Use Infinityl.
9430         * tests/test-isfinite.c: Include infinity.h.
9431         (test_isfinitef): Use Infinityf.
9432         (test_isfinited): Use Infinityd.
9433         (test_isfinitel): Use Infinityl.
9434         * tests/test-isinf.c: Include infinity.h.
9435         (test_isinff): Use Infinityf.
9436         (test_isinfd): Use Infinityd.
9437         (test_isinfl): Use Infinityl.
9438         * tests/test-isnan.c: Include infinity.h.
9439         (test_float): Use Infinityf.
9440         (test_double): Use Infinityd.
9441         (test_long_double): Use Infinityl.
9442         * tests/test-isnanf.h: Include infinity.h.
9443         (main): Use Infinityf.
9444         * tests/test-isnand.h: Include infinity.h.
9445         (main): Use Infinityd.
9446         * tests/test-isnanl.h: Include infinity.h.
9447         (main): Use Infinityl.
9448         * tests/test-ldexpl.c: Include infinity.h.
9449         (main): Use Infinityl.
9450         * tests/test-printf-posix.h: Include infinity.h.
9451         (test_function): Use Infinityd.
9452         * tests/test-roundf1.c: Include infinity.h.
9453         (main): Use Infinityf.
9454         * tests/test-round1.c: Include infinity.h.
9455         (main): Use Infinityd.
9456         * tests/test-roundl.c: Include infinity.h.
9457         (main): Use Infinityl.
9458         * tests/test-signbit.c: Include infinity.h.
9459         (test_signbitf): Use Infinityf.
9460         (test_signbitd): Use Infinityd.
9461         (test_signbitl): Use Infinityl.
9462         * tests/test-snprintf-posix.h: Include infinity.h.
9463         (test_function): Use Infinityd, Infinityl.
9464         * tests/test-sprintf-posix.h: Include infinity.h.
9465         (test_function): Use Infinityd, Infinityl.
9466         * tests/test-truncf1.c: Include infinity.h.
9467         (main): Use Infinityf.
9468         * tests/test-trunc1.c: Include infinity.h.
9469         (main): Use Infinityd.
9470         * tests/test-truncl.c: Include infinity.h.
9471         (main): Use Infinityl.
9472         * tests/test-vasnprintf-posix.c: Include infinity.h.
9473         (test_function): Use Infinityd, Infinityl.
9474         * tests/test-vasprintf-posix.c: Include infinity.h.
9475         (test_function): Use Infinityd, Infinityl.
9476         * modules/ceilf-tests (Files): Add tests/infinity.h.
9477         * modules/ceil-tests (Files): Likewise.
9478         * modules/ceill-tests (Files): Likewise.
9479         * modules/dprintf-posix-tests (Files): Likewise.
9480         * modules/floorf-tests (Files): Likewise.
9481         * modules/floor-tests (Files): Likewise.
9482         * modules/floorl-tests (Files): Likewise.
9483         * modules/fprintf-posix-tests (Files): Likewise.
9484         * modules/frexp-tests (Files): Likewise.
9485         * modules/frexp-nolibm-tests (Files): Likewise.
9486         * modules/frexpl-tests (Files): Likewise.
9487         * modules/frexpl-nolibm-tests (Files): Likewise.
9488         * modules/isfinite-tests (Files): Likewise.
9489         * modules/isinf-tests (Files): Likewise.
9490         * modules/isnan-tests (Files): Likewise.
9491         * modules/isnanf-tests (Files): Likewise.
9492         * modules/isnanf-nolibm-tests (Files): Likewise.
9493         * modules/isnand-tests (Files): Likewise.
9494         * modules/isnand-nolibm-tests (Files): Likewise.
9495         * modules/isnanl-tests (Files): Likewise.
9496         * modules/isnanl-nolibm-tests (Files): Likewise.
9497         * modules/ldexpl-tests (Files): Likewise.
9498         * modules/printf-posix-tests (Files): Likewise.
9499         * modules/roundf-tests (Files): Likewise.
9500         * modules/round-tests (Files): Likewise.
9501         * modules/roundl-tests (Files): Likewise.
9502         * modules/signbit-tests (Files): Likewise.
9503         * modules/snprintf-posix-tests (Files): Likewise.
9504         * modules/sprintf-posix-tests (Files): Likewise.
9505         * modules/truncf-tests (Files): Likewise.
9506         * modules/trunc-tests (Files): Likewise.
9507         * modules/truncl-tests (Files): Likewise.
9508         * modules/vasnprintf-posix-tests (Files): Likewise.
9509         * modules/vasprintf-posix-tests (Files): Likewise.
9510         * modules/vdprintf-posix-tests (Files): Likewise.
9511         * modules/vfprintf-posix-tests (Files): Likewise.
9512         * modules/vprintf-posix-tests (Files): Likewise.
9513         * modules/vsnprintf-posix-tests (Files): Likewise.
9514         * modules/vsprintf-posix-tests (Files): Likewise.
9515         * modules/xprintf-posix-tests (Files): Likewise.
9516
9517 2011-09-11  Bruno Haible  <bruno@clisp.org>
9518
9519         Ensure pid_t gets defined.
9520         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
9521         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
9522         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
9523         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
9524         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
9525         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
9526         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
9527         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
9528         * tests/test-fcntl-h.c: Check that pid_t is defined.
9529         * tests/test-sched.c: Likewise.
9530         * tests/test-termios.c: Likewise.
9531         * tests/test-time.c: Likewise.
9532         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
9533         * doc/posix-headers/signal.texi: Likewise.
9534         * doc/posix-headers/sys_types.texi: Likewise.
9535         * doc/posix-headers/time.texi: Likewise.
9536
9537 2011-09-11  Bruno Haible  <bruno@clisp.org>
9538
9539         acl: Fix compilation on Solaris 10 (older version).
9540         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
9541         of ACE_EVERYONE.
9542         * lib/set-mode-acl.c (qset_acl): Likewise.
9543         Reported by Christian Jullien <eligis@orange.fr>.
9544
9545 2011-09-10  Bruno Haible  <bruno@clisp.org>
9546
9547         iconv, unsetenv: Add support for MSVC compiler.
9548         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
9549         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
9550
9551 2011-09-10  Bruno Haible  <bruno@clisp.org>
9552
9553         *printf: Add support for MSVC compiler.
9554         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
9555         handles the exception caused by the %n directive. When cross-compiling,
9556         guess no on native Windows.
9557         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
9558         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
9559         emulate it through vsnprintf.
9560         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
9561         * doc/posix-functions/dprintf.texi: Update documentation regarding
9562         MSVC 9.
9563         * doc/posix-functions/fprintf.texi: Likewise.
9564         * doc/posix-functions/printf.texi: Likewise.
9565         * doc/posix-functions/snprintf.texi: Likewise.
9566         * doc/posix-functions/sprintf.texi: Likewise.
9567         * doc/posix-functions/swprintf.texi: Likewise.
9568         * doc/posix-functions/vdprintf.texi: Likewise.
9569         * doc/posix-functions/vfprintf.texi: Likewise.
9570         * doc/posix-functions/vprintf.texi: Likewise.
9571         * doc/posix-functions/vsnprintf.texi: Likewise.
9572         * doc/posix-functions/vsprintf.texi: Likewise.
9573         * doc/glibc-functions/asprintf.texi: Likewise.
9574         * doc/glibc-functions/obstack_printf.texi: Likewise.
9575         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
9576         * doc/glibc-functions/vasprintf.texi: Likewise.
9577
9578 2011-09-10  Bruno Haible  <bruno@clisp.org>
9579
9580         nocrash: Add support for native Windows.
9581         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
9582
9583 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
9584             Bruno Haible  <bruno@clisp.org>
9585
9586         absolute-header, include-next: Add support for MSVC compiler.
9587         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
9588         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
9589         directory separator in #line directives.
9590         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
9591         recognize also backslash as directory separator in #line directives.
9592
9593 2011-09-08  Jim Meyering  <meyering@redhat.com>
9594
9595         maint.mk: mark the post-release commit log with "maint: " prefix
9596         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
9597         one-line commit-log summary.
9598
9599 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
9600             Bruno Haible  <bruno@clisp.org>
9601
9602         Doc about crypt functions.
9603         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
9604         systems.
9605         * doc/posix-functions/encrypt.texi: Likewise.
9606         * doc/posix-functions/setkey.texi: Likewise.
9607
9608 2011-09-08  Simon Josefsson  <simon@josefsson.org>
9609
9610         * lib/gc.h: Fix copyright header.
9611
9612 2011-09-07  Bruno Haible  <bruno@clisp.org>
9613
9614         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
9615         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
9616         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
9617
9618 2011-09-07  Bruno Haible  <bruno@clisp.org>
9619
9620         openat: Work around compilation error with OSF/1 5.1 DTK cc.
9621         * lib/fopen.c: Use different syntax for include of <stdio.h>.
9622         * lib/freopen.c: Likewise.
9623         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
9624         * lib/lstat.c: Likewise.
9625         * lib/stat.c: Likewise.
9626         * lib/open.c: Use different syntax for include of <fcntl.h>.
9627         * lib/openat.c: Include fcntl.h again, explicitly.
9628
9629 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
9630
9631         parse-datetime: document the newly accepted format
9632         * doc/parse-datetime.texi (Combined date and time of day items):
9633         New section.
9634
9635 2011-09-06  Bruno Haible  <bruno@clisp.org>
9636
9637         acl: Fix a test failure on newer Solaris 10 with ZFS.
9638         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
9639         ENOSYS as no ACL.
9640         Reported by Jim Meyering.
9641
9642 2011-09-06  Bruno Haible  <bruno@clisp.org>
9643
9644         acl: Update for AIX >= 5.3 with NFS.
9645         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
9646         ENOSYS as no ACL.
9647
9648         acl: Fix a test failure on AIX >= 5.3 with NFS.
9649         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
9650         as no ACL.
9651
9652 2011-09-06  Bruno Haible  <bruno@clisp.org>
9653
9654         acl: Fix a test failure on IRIX 6.5 with NFS.
9655         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
9656         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
9657         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
9658         * lib/copy-acl.c (qcopy_acl): Likewise.
9659
9660 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
9661
9662         openat: port to AIX 7.1 with large files
9663         AIX 7.1 does a "#define openat open64at" if large files are in use,
9664         so we can't simply #undef openat.  Use the orig_openat trick (similar
9665         to orig_open in lib/open.c) to work around the problem.  Problem
9666         reported by Kevin Brott for GNU tar, in the thread containing
9667         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
9668         * lib/openat.c (__need_system_fcntl_h): Define first.
9669         Include <fcntl.h> and <sys/types.h> before undefining.
9670         (orig_openat) [HAVE_OPENAT]: New inline function.
9671         (openat) [HAVE_OPENAT]: Do not undef.
9672         (rpl_openat): Use orig_openat, not openat.
9673
9674 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
9675             Bruno Haible  <bruno@clisp.org>
9676
9677         acl: Avoid errors on NonStop Kernel.
9678         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
9679         ENOTSUP errors.
9680
9681 2011-09-05  Bruno Haible  <bruno@clisp.org>
9682
9683         acl: Clean up Solaris code.
9684         * lib/acl-internal.h: Remove no-op #if.
9685         * lib/file-has-acl.c: Likewise.
9686         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
9687         * lib/copy-acl.c (qcopy_acl): Likewise.
9688
9689 2011-09-05  Bruno Haible  <bruno@clisp.org>
9690
9691         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
9692         binaries built on the original Solaris 10.
9693         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
9694         trivial.
9695
9696 2011-09-05  Bruno Haible  <bruno@clisp.org>
9697
9698         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
9699         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
9700         10.
9701         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
9702         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
9703         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
9704         instead of acl_get, facl_get, acl_set, facl_set.
9705
9706 2011-09-05  Bruno Haible  <bruno@clisp.org>
9707
9708         copy-file: Try unit tests on more file systems.
9709         * tests/test-copy-file-1.sh: New file.
9710         * tests/test-copy-file-2.sh: New file.
9711         * modules/copy-file-tests (Files): Add them.
9712         (Makefile.am): Add them to TESTS.
9713
9714         acl: Try unit tests on more file systems.
9715         * tests/test-file-has-acl-1.sh: New file.
9716         * tests/test-file-has-acl-2.sh: New file.
9717         * tests/test-set-mode-acl-1.sh: New file.
9718         * tests/test-set-mode-acl-2.sh: New file.
9719         * tests/test-copy-acl-1.sh: New file.
9720         * tests/test-copy-acl-2.sh: New file.
9721         * modules/acl-tests (Files): Add them.
9722         (Makefile.am): Add them to TESTS.
9723
9724 2011-09-04  Bruno Haible  <bruno@clisp.org>
9725
9726         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
9727         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
9728         10.
9729         (OLD_ALLOW, OLD_DENY): New macros.
9730         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
9731         ACE_ACCESS_ALLOWED_ACE_TYPE.
9732         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
9733         ACE_ACCESS_DENIED_ACE_TYPE.
9734         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
9735         (NEW_ACE_EXECUTE): Fix value.
9736         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
9737         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
9738         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
9739         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
9740         NEW_ACE_SYNCHRONIZE): New macros.
9741         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
9742         instead of acl_fromtext, acl_set, facl_set.
9743         Fixes a coreutils/tests/cp/perm failure.
9744
9745 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
9746
9747         openat: test for fstatat (..., 0) bug
9748         Further testing with tar suggests that fstatat (..., 0)
9749         does not work in general, on AIX 7.1; see
9750         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
9751         So, give up entirely on AIX 7.1's fstatat, and fall back on our
9752         replacement fstatat (which is what older AIX releases were using
9753         anyway).
9754         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
9755         use is now changed to orig_fstatat.  This was probably the right
9756         thing to do anyway.
9757         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
9758         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
9759         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
9760         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
9761         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
9762         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
9763         if the bug is found.
9764
9765         openat: test for fstatat (AT_FDCWD, ..., 0) bug
9766         This tests for another fstatat bug on AIX 7.1:
9767         fstatat (AT_FDCWD, ..., 0) does not work.  See
9768         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
9769         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
9770         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
9771         (rpl_fstatat): Adjust so that it works around either (or both)
9772         bugs if present.
9773         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
9774
9775 2011-09-03  Karl Berry  <karl@gnu.org>
9776
9777         * doc/regex.texi (Character Class Operators): Avoid literal ":"
9778         in index entries.
9779
9780 2011-09-02  Bruno Haible  <bruno@clisp.org>
9781
9782         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
9783         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
9784         values of AR, ARFLAGS, RANLIB.
9785         Reported by John W. Eaton <jwe@gnu.org> for Octave.
9786
9787 2011-09-02  Bruno Haible  <bruno@clisp.org>
9788
9789         Find 'ar' program that fits with --host argument.
9790         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
9791
9792 2011-09-02  Bruno Haible  <bruno@clisp.org>
9793
9794         tests: init.sh: Support any non-GNU diff.
9795         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
9796         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
9797         Solaris 8.
9798
9799 2011-09-02  Bruno Haible  <bruno@clisp.org>
9800
9801         tests: init.sh: work also with any non-GNU diff that supports -u
9802         * tests/init.sh: Relax check for diff -u support.
9803         Rather than checking for GNU diff via --version, simply check
9804         for support for -u itself.  Useful at least on OpenBSD 4.9,
9805         AIX 7.1, IRIX 6.5, and Solaris 10.
9806
9807 2011-09-01  Bruno Haible  <bruno@clisp.org>
9808
9809         strtoimax, strtoumax: Document problem on HP-UX 11.
9810         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
9811         * doc/posix-functions/strtoumax.texi: Likewise.
9812
9813 2011-09-01  Bruno Haible  <bruno@clisp.org>
9814
9815         strtoumax: Avoid link error on OSF/1 with DTK cc.
9816         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
9817         defined as a function.
9818         * modules/strtoumax (Depends-on, configure.ac): Test only whether
9819         strtoumax is defined, not whether it is declared.
9820
9821 2011-09-01  Bruno Haible  <bruno@clisp.org>
9822
9823         strtoimax: Avoid link error on OSF/1 with DTK cc.
9824         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
9825         defined as a function.
9826         * modules/strtoimax (Depends-on, configure.ac): Test only whether
9827         strtoimax is defined, not whether it is declared.
9828
9829 2011-09-01  Bruno Haible  <bruno@clisp.org>
9830
9831         imaxdiv: Avoid link error on OSF/1 with DTK cc.
9832         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
9833         as a function.
9834         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
9835         whether it is declared.
9836
9837 2011-09-01  Bruno Haible  <bruno@clisp.org>
9838
9839         imaxabs: Avoid link error on OSF/1 with DTK cc.
9840         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
9841         as a function.
9842         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
9843         whether it is declared.
9844
9845 2011-09-01  Bruno Haible  <bruno@clisp.org>
9846
9847         Tests for module 'strtoumax'.
9848         * modules/strtoumax-tests: New file.
9849         * tests/test-strtoumax.c: New file.
9850
9851         Tests for module 'strtoimax'.
9852         * modules/strtoimax-tests: New file.
9853         * tests/test-strtoimax.c: New file.
9854
9855         Tests for module 'imaxdiv'.
9856         * modules/imaxdiv-tests: New file.
9857         * tests/test-imaxdiv.c: New file.
9858
9859         Tests for module 'imaxabs'.
9860         * modules/imaxabs-tests: New file.
9861         * tests/test-imaxabs.c: New file.
9862
9863 2011-09-01  Bruno Haible  <bruno@clisp.org>
9864
9865         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
9866         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
9867         pthread_create.
9868
9869 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
9870
9871         openat: work around AIX 7.1 fstatat issue
9872         This should fix the problem that was not properly fixed
9873         in the previous change, dated 2011-08-30.
9874         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
9875         __need_system_stat_h defined.
9876         (orig_fstatat) [HAVE_FSTATAT]: New function.
9877         (rpl_fstatat): Go back to the old way of doing things,
9878         except call orig_fstatat instead of fstatat.
9879         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
9880         Remove unnecessary check whether fstatat fills in st_size etc.
9881
9882 2011-09-01  Bruno Haible  <bruno@clisp.org>
9883
9884         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
9885         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
9886         just include the system's header.
9887
9888 2011-08-31  Jim Meyering  <meyering@redhat.com>
9889
9890         tests: avoid spurious assertion failure in test-float.c on ppc64
9891         * tests/test-float.c (test_long_double): Comment out an assertion,
9892         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
9893         with gcc-4.4.4.
9894
9895         maint: indent with spaces, not TABs
9896         I need to get in the habit of running gnulib's "make check".
9897         Both of these would have been caught.
9898         * m4/largefile.m4: Indent with spaces, not TABs.
9899         * lib/parse-datetime.y (iso_8601_time): Likewise.
9900         Spotted by Pádraig Brady.
9901
9902         test-parse-datetime.c: accommodate a relatively strict gcc warning
9903         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
9904         to avoid a warning from gcc's -Werror=missing-declarations.
9905         Insert a few spaces-before-funcall-parenthesis.
9906
9907 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
9908
9909         parse-datetime: accept ISO 8601 date and time rep with "T" separator
9910         The parser now accepts ISO 8601 date-time strings with "T" as the
9911         separator.  It has long parsed dates like "2004-02-29 16:21:42"
9912         with a space between the date and time strings.  Now it also parses
9913         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
9914         variants like "2004-02-29T16:21:42.333-07:00"
9915         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
9916         of day representation using the 'T' separator character.
9917         * doc/parse-datetime.texi (General date syntax): replace use of
9918         deprecated --iso-8601 option with --rfc-3339 in example of date
9919         command output formats that can be parsed.
9920         * tests/test-parse-datetime.c (tm_diff): New function, taken from
9921         lib/parse-datetime.y.
9922         (gmt_offset): New function.
9923         (main): Add additional test cases to validate ISO8601 extended
9924         date and time of day parsing.
9925
9926 2011-08-31  Bruno Haible  <bruno@clisp.org>
9927
9928         freopen: Documentation.
9929         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
9930         name.
9931         Reported by Claudio Bley <claudio.bley@gmail.com>.
9932
9933 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
9934
9935         freopen: Don't crash if the filename argument is NULL.
9936         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
9937         NULL.
9938
9939 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
9940
9941         openat: work around AIX 7.1 fstatat bug
9942         Problem reported by Kevin Brott for GNU tar, in the thread containing
9943         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
9944         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
9945         FSTATAT_ST_SIZE_ETC_BROKEN.
9946         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
9947         rpl_fstatat.
9948         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
9949         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
9950         AC_CHECK_FUNCS_ONCE for fstatat.
9951         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
9952         fchmodat, mkdirat, openat and unlinkat.
9953
9954 2011-08-30  Bruno Haible  <bruno@clisp.org>
9955
9956         Avoid endless recursions if config.h includes some header files.
9957         * lib/fopen.c (__need_FILE): Define already before including config.h.
9958         * lib/freopen.c (__need_FILE): Likewise.
9959         * lib/open.c (__need_system_fcntl_h): Likewise.
9960         * lib/stat.c (__need_system_sys_stat_h): Likewise.
9961         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
9962         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
9963
9964 2011-08-25  Karl Berry  <karl@gnu.org>
9965
9966         * config/srclist.txt (ylwrap): new try.
9967         * build-aux/ylwrap: new file.
9968
9969 2011-08-23  Bruno Haible  <bruno@clisp.org>
9970
9971         tmpdir: Use a good default directory on native Windows.
9972         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
9973         (P_tmpdir): Default to _P_tmpdir on native Windows.
9974         (path_search): On native Windows, try the value returned by GetTempPath
9975         before trying P_tmpdir.
9976         * modules/tmpdir (Depends-on): Add pathmax.
9977         Suggested by John Darrington <john@darrington.wattle.id.au>.
9978
9979 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
9980
9981         doc: fix typo in README-release
9982         * top/README-release: Capitalize first word of a sentence.
9983
9984 2011-08-19  Jim Meyering  <meyering@redhat.com>
9985
9986         fts: do not exhaust memory when processing million-entry directories
9987         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
9988         directory would require about 256*N bytes of memory.  Thus, it was
9989         easy to construct a directory too large to be processed by any of
9990         those tools.  With this change, fts' maximum memory utilization is
9991         now limited to around 30MB.
9992         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
9993         (fts_read): When we've processed the final entry (i.e., when
9994         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
9995         using the parent entry to read any remaining entries.  Dispatch
9996         depending on what fts_build returns:
9997         - NULL+stop, aka failure: stop
9998         - NULL otherwise: move up in the dir hierarchy
9999         - non-NULL: handle this new entry
10000         (fts_build): Declare and use new local, continue_readdir.
10001         Prepare to be called from fts_read, when the entries
10002         from a partially-read directory have just been exhausted.
10003         In that case, we'll skip the opendir and instead use the parent's
10004         fts_dirp and derive dir_fd from that.
10005         Finally, in the readdir loop, if we read max_entries entries,
10006         exit the loop ensuring *not* to call closedir.  This is required
10007         so that fts_dirp can be reused on a subsequent call.
10008         Prompted by Ben England's report of memory exhaustion in find
10009         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
10010
10011         maint: fts: move decl of `dp' down into while loop; split a long line
10012         * lib/fts.c (fts_build): No semantic change.
10013
10014         fts: add/use new struct member, fts_dirp
10015         We are about to use this to manage any directory with
10016         too many entries to read all of them into memory at once.
10017         To do that, we'll need to save the DIR* pointer in each
10018         affected FTSENT struct.
10019         * lib/fts_.h: Include <dirent.h>.
10020         (struct FTSENT) [fts_dirp]: New member.
10021         * lib/fts.c (closedir_and_clear): Define.
10022         Use it in place of closedir so that we are sure to
10023         clear the new fts_dirp member when done with it.
10024         (fts_alloc): Initialize the new member.
10025         (fts_lfree): Free, if needed.
10026
10027         maint: fts: give __opendir2 a new parameter and rename
10028         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
10029         than surreptitiously using sole caller's "dir_fd".
10030         (fts_opendir): Rename from __opendir2.
10031
10032         maint: fts.c: remove __opendir2's now-unused parameter, oflag
10033         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
10034
10035         maint: fts.c: correct off-by-one indentation
10036         * lib/fts.c (fts_build): Correct indentation, change style
10037         of a couple of block comments, and bracing style.
10038
10039         maint: fts.c: move __opendir2 #define "up" out of function body
10040         * lib/fts.c (__opendir2): Move "up".  No semantic change.
10041
10042         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
10043         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
10044         out for a long time and besides was useful only on BSD systems.
10045
10046 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
10047
10048         regex: port to Stratus OpenVOS
10049         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
10050         define to empty, rather than attempting nonportable optimizations.
10051         Problem reported by Paul Green in:
10052         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
10053         and fix suggested by Eric Blake in:
10054         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
10055
10056 2011-08-17  Eric Blake  <eblake@redhat.com>
10057
10058         getcwd: fix test failures on mingw
10059         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
10060         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
10061         test if long directory cannot be created, and allow mingw errno.
10062
10063         getcwd-lgpl: fix m4 to match relaxed test for BSD
10064         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
10065         (gl_FUNC_GETCWD_SIGNATURE): New macro.
10066         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
10067         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
10068         signature problem.
10069
10070         getcwd: fix compilation on mingw64
10071         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
10072         getcwd.
10073         Reported by Marc-André Lureau.
10074
10075         pipe2: silence compiler warning
10076         * lib/pipe2.c (pipe2): Hide label if it is not used.
10077
10078 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
10079
10080         relocatable-prog: fix link error
10081         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
10082         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
10083         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
10084         into modules/relocatable-lib without noticing that
10085         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
10086         also needs to build relocatable.c.
10087
10088 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
10089
10090         getaddrinfo: fix sh typo in gai_strerrorA decl checking
10091         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
10092         shell code: it contained a 'break' that was not in a loop.
10093         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
10094         via a shell-language loop; this may have been true in old Autoconf
10095         versions, but it's not true in Autoconf 2.68.  I found this bug
10096         when testing coreutils git on Solaris 8, whose shell complains
10097         about the syntax error.
10098
10099 2011-08-12  Simon Josefsson  <simon@josefsson.org>
10100
10101         * lib/base64.c: Fix comment to reference RFC 4648.
10102         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
10103         <gvtulder@gmail.com>.
10104
10105 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
10106
10107         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
10108
10109         po/Makefile.in.in: fix make -q problem
10110         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
10111         rule, since there's no file named 'check-macro-version' and its
10112         use as a file breaks make -q.
10113         (all): Don't depend on check-macro-version.
10114         (CHECK_MACRO_VERSION): New macro.
10115         (stamp-po): Use it.
10116
10117         configmake: fix make -q problem
10118         * modules/configmake (configmake.h): Update configmake.h's time stamp
10119         even if the file does not change.  Otherwise, 'make -q' fails.
10120         Problem reported by Simon Josefsson in
10121         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
10122
10123 2011-08-11  Jim Meyering  <meyering@redhat.com>
10124
10125         git-version-gen: correct the advice in a comment
10126         * build-aux/git-version-gen: Correct comment.
10127         Don't recommend to list .tarball-version in .gitignore.
10128
10129 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
10130
10131         base64: fix off-by-one buffer size bug
10132         Problem and (trivial) fix reported by Gijs van Tulder in
10133         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
10134         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
10135         * tests/test-base64.c (main): Catch the bug.
10136
10137 2011-08-10  Eric Blake  <eblake@redhat.com>
10138
10139         closein: correct comments
10140         * lib/closein.c (close_stdin): Improve comments.
10141
10142 2011-08-09  Bruno Haible  <bruno@clisp.org>
10143
10144         More tests for 'fseeko'.
10145         * tests/test-fseeko3.c: New file, from Eric Blake.
10146         * tests/test-fseeko3.sh: New file.
10147         * modules/fseeko-tests (Files): Add them.
10148         (TESTS): Add test-fseeko3.sh.
10149         (check_PROGRAMS): Add test-fseeko3.
10150
10151 2011-08-09  Eric Blake  <eblake@redhat.com>
10152
10153         fseeko: remove unneeded hack
10154         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
10155
10156         fseeko: fix bug on glibc
10157         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
10158         Reported by John W. Eaton.
10159
10160 2011-08-08  Bruno Haible  <bruno@clisp.org>
10161
10162         unictype/base: Fix interoperability with preinstalled libunistring.
10163         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
10164         Reported by Simon Josefsson.
10165
10166 2011-08-08  Bruno Haible  <bruno@clisp.org>
10167
10168         iswblank: Detect declaration correctly.
10169         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
10170         AC_CHECK_DECLS invocation.
10171
10172 2011-08-08  Bruno Haible  <bruno@clisp.org>
10173
10174         tcgetsid: Detect declaration correctly.
10175         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
10176         AC_CHECK_DECLS invocation.
10177         Reported by Simon Josefsson.
10178
10179 2011-08-08  Eric Blake  <eblake@redhat.com>
10180
10181         largefile: fix typo that regressed large file support
10182         * modules/largefile (configure.ac-early): Fix section name.
10183
10184 2011-08-06  Karl Berry  <karl@gnu.org>
10185
10186         * MODULES.html.sh (func_all_files): _Noreturn is no longer
10187         a separate module.
10188
10189 2011-08-05  Simon Josefsson  <simon@josefsson.org>
10190
10191         openat: Fix warnings and commens when building unlinkat.c on Hurd.
10192         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
10193         get prototype for free.
10194
10195 2011-08-04  Bruno Haible  <bruno@clisp.org>
10196
10197         Tests for module 'pathmax'.
10198         * modules/pathmax-tests: New file.
10199         * tests/test-pathmax.c: New file.
10200
10201         canonicalize-lgpl: Support larger filenames on the Hurd.
10202         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
10203         Reported by Paul Eggert.
10204
10205         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
10206         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
10207         * lib/chdir-long.h: Include pathmax.h.
10208         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
10209         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
10210         (PATH_MAX): Remove code that is done by pathmax.h.
10211         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
10212         * lib/tmpfile.c: Add a comment.
10213         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
10214         * modules/chdir-long (Depends-on): Add pathmax.
10215         * modules/getcwd (Depends-on): Add pathmax.
10216         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
10217         is not defined.
10218         * doc/posix-headers/limits.texi: Mention the pathmax module.
10219         * NEWS: Mention the change.
10220
10221 2011-08-02  Bruno Haible  <bruno@clisp.org>
10222
10223         pthread_sigmask: Actually use results of gl_THREADLIB.
10224         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
10225         gl_THREADLIB, not gl_[]THREADLIB.
10226         Reported by Eric Blake.
10227
10228 2011-08-02  Jim Meyering  <meyering@redhat.com>
10229
10230         maint.mk: relax the default _gl_TS_function_match regexp
10231         * top/maint.mk (_gl_TS_function_match): Don't require at least one
10232         space between function name and "(" in an "extern" declaration.
10233         That would fail to match a decl with no space there: extern void foo();
10234
10235 2011-07-31  Iain Nicol  <iain@thenicols.net>
10236
10237         git-version-gen: document that EXTRA_DIST must include .version
10238         * build-aux/git-version-gen: In the how-to-use comment, document
10239         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
10240         will fail when run from an unpacked distribution tarball.
10241
10242 2011-08-01  Bruno Haible  <bruno@clisp.org>
10243
10244         wctype-h: Fix last change.
10245         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
10246         REPLACE_TOWLOWER to 0.
10247         Reported by Sam Steingold <sds@gnu.org>.
10248
10249 2011-07-31  Bruno Haible  <bruno@clisp.org>
10250
10251         frexpl: Update autoconf test.
10252         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
10253         according to changes of 2011-06-20.
10254
10255 2011-07-31  Bruno Haible  <bruno@clisp.org>
10256
10257         sys_utsname: Add support for Minix.
10258         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
10259         <sys/utsname.h>.
10260         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
10261         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
10262
10263 2011-07-31  Bruno Haible  <bruno@clisp.org>
10264
10265         strings: Add support for Minix.
10266         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
10267         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
10268         * doc/posix-headers/strings.texi: Document the Minix problem.
10269
10270 2011-07-31  Bruno Haible  <bruno@clisp.org>
10271
10272         wctype-h: Add support for Minix.
10273         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
10274         REPLACE_TOWLOWER.
10275         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
10276         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
10277         REPLACE_ISWCNTRL.
10278
10279 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
10280
10281         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
10282         This is a performance improvement for 64-bit hosts: it causes the
10283         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
10284
10285 2011-07-31  Bruno Haible  <bruno@clisp.org>
10286
10287         stdioext: Add support for Minix.
10288         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
10289         * lib/fpurge.c (fpurge): Likewise.
10290         * lib/freadahead.c (freadahead): Likewise.
10291         * lib/freadable.c (freadable): Likewise.
10292         * lib/freading.c (freading): Likewise.
10293         * lib/freadptr.c (freadptr): Likewise.
10294         * lib/freadseek.c (freadptrinc): Likewise.
10295         * lib/fseeko.c (rpl_fseeko): Likewise.
10296         * lib/fseterr.c (fseterr): Likewise.
10297         * lib/fwritable.c (fwritable): Likewise.
10298         * lib/fwriting.c (fwriting): Likewise.
10299         * lib/fflush.c (clear_ungetc_buffer): Update comment.
10300         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
10301
10302 2011-07-31  Bruno Haible  <bruno@clisp.org>
10303
10304         errno: Port to Minix.
10305         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
10306         ECONNABORTED are defined.
10307         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
10308         GNULIB_defined_ECONNABORTED): New macros.
10309         * lib/strerror-override.h (strerror_override): Test also
10310         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
10311         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
10312         ECONNABORTED.
10313         * doc/posix-headers/errno.texi: Mention the Minix problem.
10314
10315 2011-07-31  Bruno Haible  <bruno@clisp.org>
10316
10317         Work around declaration collisions on Minix.
10318         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
10319         defined, set REPLACE_MBSINIT.
10320         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
10321         defined, set REPLACE_MBRTOWC.
10322         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
10323         set REPLACE_MBRLEN.
10324         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
10325         defined, set REPLACE_MBSRTOWCS.
10326         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
10327         defined, set REPLACE_WCRTOMB.
10328         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
10329         defined, set REPLACE_WCSRTOMBS.
10330
10331 2011-07-31  Bruno Haible  <bruno@clisp.org>
10332
10333         Add support for Minix with ACK compiler.
10334         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
10335         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
10336         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
10337
10338 2011-07-31  Bruno Haible  <bruno@clisp.org>
10339
10340         Documentation about Minix.
10341         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
10342         * doc/glibc-headers/*.texi: Likewise.
10343         * doc/posix-functions/*.texi: Likewise.
10344         * doc/glibc-functions/*.texi: Likewise.
10345
10346 2011-07-31  Bruno Haible  <bruno@clisp.org>
10347
10348         snippet/warn-on-use: Fix indentation.
10349         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
10350
10351 2011-07-25  Jim Meyering  <meyering@redhat.com>
10352
10353         tests: test-update-copyright.sh: remove unnecessary "rm" commands
10354         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
10355         commands.
10356
10357 2011-07-27  Jim Meyering  <meyering@redhat.com>
10358
10359         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
10360         * top/maint.mk (gl_extract_significant_defines_): Now that
10361         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
10362         gnulib/lib/signal.in.h, and now that we recommend to
10363         define-if-undefined those two symbols in application code,
10364         we must filter them out of the "significant" list.
10365         This avoids a "make syntax-check" failure in coreutils.
10366
10367 2011-07-26  Eric Blake  <eblake@redhat.com>
10368
10369         warnings: add comments about previous patch
10370         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
10371         * m4/include_next.m4: Likewise.
10372         * m4/warn-on-use.m4: Likewise.
10373         * m4/warnings.m4: Likewise, and simplify use.
10374         Suggested by Stefano Lattarini.
10375
10376         include-next, warnings: support older autoconf
10377         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
10378         AS_VAR_PUSHDEF in a way that works with older autoconf.
10379         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
10380         Reported by Daniel P. Berrange.
10381
10382 2011-07-25  Bruno Haible  <bruno@clisp.org>
10383
10384         fseek, ftell: Fix doc.
10385         * doc/posix-functions/fseek.texi: Reword statement about
10386         AC_SYS_LARGEFILE.
10387         * doc/posix-functions/ftell.texi: Likewise.
10388
10389 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
10390             Bruno Haible  <bruno@clisp.org>
10391
10392         Add dependencies to the 'largefile' module.
10393         * modules/fopen (Depends-on): Add 'largefile'.
10394         * modules/freopen (Depends-on): Likewise.
10395         * modules/fseeko (Depends-on): Likewise.
10396         * modules/ftello (Depends-on): Likewise.
10397         * modules/glob (Depends-on): Likewise.
10398         * modules/lseek (Depends-on): Likewise.
10399         * modules/lstat (Depends-on): Likewise.
10400         * modules/mkostemp (Depends-on): Likewise.
10401         * modules/mkostemps (Depends-on): Likewise.
10402         * modules/mkstemp (Depends-on): Likewise.
10403         * modules/mkstemps (Depends-on): Likewise.
10404         * modules/open (Depends-on): Likewise.
10405         * modules/openat (Depends-on): Likewise.
10406         * modules/pread (Depends-on): Likewise.
10407         * modules/pwrite (Depends-on): Likewise.
10408         * modules/scandir (Depends-on): Likewise.
10409         * modules/stat (Depends-on): Likewise.
10410         * modules/tmpfile (Depends-on): Likewise.
10411         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
10412         since the containing module now depends on the largefile module.
10413         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
10414         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
10415         off_t is fixed by gnulib.
10416         * doc/posix-functions/freopen.texi: Likewise.
10417         * doc/posix-functions/fseeko.texi: Likewise.
10418         * doc/posix-functions/fstatat.texi: Likewise.
10419         * doc/posix-functions/ftello.texi: Likewise.
10420         * doc/posix-functions/glob.texi: Likewise.
10421         * doc/posix-functions/lseek.texi: Likewise.
10422         * doc/posix-functions/lstat.texi: Likewise.
10423         * doc/posix-functions/mkstemp.texi: Likewise.
10424         * doc/posix-functions/open.texi: Likewise.
10425         * doc/posix-functions/openat.texi: Likewise.
10426         * doc/posix-functions/pread.texi: Likewise.
10427         * doc/posix-functions/pwrite.texi: Likewise.
10428         * doc/posix-functions/scandir.texi: Likewise.
10429         * doc/posix-functions/stat.texi: Likewise.
10430         * doc/posix-functions/tmpfile.texi: Likewise.
10431         * doc/glibc-functions/mkostemp.texi: Likewise.
10432         * doc/glibc-functions/mkostemps.texi: Likewise.
10433         * doc/glibc-functions/mkstemps.texi: Likewise.
10434
10435 2011-07-25  Bruno Haible  <bruno@clisp.org>
10436
10437         fcntl: Move AC_LIBOBJ invocation to module description.
10438         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
10439         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
10440
10441         fcntl: Remove call-in from fchdir.m4.
10442         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
10443         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
10444
10445         dup3: Remove potential call-in from fchdir.m4.
10446         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
10447         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
10448
10449         dup2: Move AC_LIBOBJ invocation to module description.
10450         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
10451         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
10452         Don't invoke AC_LIBOBJ.
10453         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
10454
10455         dup2: Remove call-in from fchdir.m4.
10456         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
10457         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
10458
10459         fclose: Move AC_LIBOBJ invocation to module description.
10460         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
10461         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
10462         to 1.
10463         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
10464
10465         fclose: Remove call-in from close.m4.
10466         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
10467         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
10468
10469         close: Move AC_LIBOBJ invocation to module description.
10470         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
10471         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
10472         1.
10473         * modules/close (configure.ac): Invoke AC_LIBOBJ.
10474
10475         close: Remove call-in from fchdir.m4.
10476         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
10477         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
10478
10479         open: Move AC_LIBOBJ invocation to module description.
10480         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
10481         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
10482         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
10483
10484         open: Remove call-in from fchdir.m4.
10485         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
10486         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
10487
10488         fchdir: Start to remove gl_REPLACE_* idiom.
10489         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
10490         (gl_FUNC_FCHDIR): Invoke it.
10491
10492 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
10493
10494         * lib/ftell.c (ftell): Comment out cast.
10495
10496         close: use gl_REPLACE_FCLOSE only if defined
10497         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
10498         is defined.  The close module doesn't depend on the fclose module
10499         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
10500         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
10501         I reproduced the problem with "./gnulib-tool --test close sys_socket".
10502
10503 2011-07-24  Jim Meyering  <meyering@redhat.com>
10504
10505         test-select.h: avoid warning when using gcc's -Wmissing-declarations
10506         * tests/test-select.h (test_function): Declare as "static".
10507
10508 2011-07-24  Bruno Haible  <bruno@clisp.org>
10509
10510         doc: Mention the effects of AC_SYS_LARGEFILE.
10511         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
10512         on this function.
10513         * doc/posix-functions/aio_error.texi: Likewise.
10514         * doc/posix-functions/aio_fsync.texi: Likewise.
10515         * doc/posix-functions/aio_read.texi: Likewise.
10516         * doc/posix-functions/aio_return.texi: Likewise.
10517         * doc/posix-functions/aio_suspend.texi: Likewise.
10518         * doc/posix-functions/aio_write.texi: Likewise.
10519         * doc/posix-functions/fgetpos.texi: Likewise.
10520         * doc/posix-functions/fopen.texi: Likewise.
10521         * doc/posix-functions/freopen.texi: Likewise.
10522         * doc/posix-functions/fsetpos.texi: Likewise.
10523         * doc/posix-functions/fstatvfs.texi: Likewise.
10524         * doc/posix-functions/ftruncate.texi: Likewise.
10525         * doc/posix-functions/ftw.texi: Likewise.
10526         * doc/posix-functions/getrlimit.texi: Likewise.
10527         * doc/posix-functions/glob.texi: Likewise.
10528         * doc/posix-functions/lio_listio.texi: Likewise.
10529         * doc/posix-functions/lockf.texi: Likewise.
10530         * doc/posix-functions/mkstemp.texi: Likewise.
10531         * doc/posix-functions/mmap.texi: Likewise.
10532         * doc/posix-functions/nftw.texi: Likewise.
10533         * doc/posix-functions/openat.texi: Likewise.
10534         * doc/posix-functions/opendir.texi: Likewise.
10535         * doc/posix-functions/posix_fadvise.texi: Likewise.
10536         * doc/posix-functions/posix_fallocate.texi: Likewise.
10537         * doc/posix-functions/pread.texi: Likewise.
10538         * doc/posix-functions/pwrite.texi: Likewise.
10539         * doc/posix-functions/readdir.texi: Likewise.
10540         * doc/posix-functions/readdir_r.texi: Likewise.
10541         * doc/posix-functions/rewinddir.texi: Likewise.
10542         * doc/posix-functions/scandir.texi: Likewise.
10543         * doc/posix-functions/seekdir.texi: Likewise.
10544         * doc/posix-functions/setrlimit.texi: Likewise.
10545         * doc/posix-functions/statvfs.texi: Likewise.
10546         * doc/posix-functions/telldir.texi: Likewise.
10547         * doc/posix-functions/tmpfile.texi: Likewise.
10548         * doc/posix-functions/truncate.texi: Likewise.
10549         * doc/glibc-functions/fallocate.texi: Likewise.
10550         * doc/glibc-functions/fstatfs.texi: Likewise.
10551         * doc/glibc-functions/fts_children.texi: Likewise.
10552         * doc/glibc-functions/fts_read.texi: Likewise.
10553         * doc/glibc-functions/getdirentries.texi: Likewise.
10554         * doc/glibc-functions/mkostemp.texi: Likewise.
10555         * doc/glibc-functions/mkostemps.texi: Likewise.
10556         * doc/glibc-functions/mkstemps.texi: Likewise.
10557         * doc/glibc-functions/preadv.texi: Likewise.
10558         * doc/glibc-functions/pwritev.texi: Likewise.
10559         * doc/glibc-functions/sendfile.texi: Likewise.
10560         * doc/glibc-functions/statfs.texi: Likewise.
10561
10562 2011-07-24  Bruno Haible  <bruno@clisp.org>
10563
10564         doc: Fix typo.
10565         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
10566
10567 2011-07-24  Bruno Haible  <bruno@clisp.org>
10568
10569         doc: Mention fsusage.
10570         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
10571
10572 2011-07-24  Bruno Haible  <bruno@clisp.org>
10573
10574         doc: Mention new glibc headers and functions.
10575         * doc/glibc-headers/gshadow.texi: New file.
10576         * doc/glibc-functions/endsgent.texi: New file.
10577         * doc/glibc-functions/fgetsgent.texi: New file.
10578         * doc/glibc-functions/fgetsgent_r.texi: New file.
10579         * doc/glibc-functions/getsgent.texi: New file.
10580         * doc/glibc-functions/getsgent_r.texi: New file.
10581         * doc/glibc-functions/getsgnam.texi: New file.
10582         * doc/glibc-functions/getsgnam_r.texi: New file.
10583         * doc/glibc-functions/putsgent.texi: New file.
10584         * doc/glibc-functions/setsgent.texi: New file.
10585         * doc/glibc-functions/sgetsgent.texi: New file.
10586         * doc/glibc-functions/sgetsgent_r.texi: New file.
10587         * doc/glibc-functions/malloc_info.texi: New file.
10588         * doc/glibc-functions/preadv.texi: New file.
10589         * doc/glibc-functions/pwritev.texi: New file.
10590         * doc/glibc-functions/register_printf_modifier.texi: New file.
10591         * doc/glibc-functions/register_printf_specifier.texi: New file.
10592         * doc/glibc-functions/register_printf_type.texi: New file.
10593         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
10594         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
10595         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
10596         * doc/glibc-functions/pthread_getname_np.texi: New file.
10597         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
10598         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
10599         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
10600         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
10601         * doc/glibc-functions/pthread_setname_np.texi: New file.
10602         * doc/glibc-functions/pthread_sigqueue.texi: New file.
10603         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
10604         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
10605         * doc/glibc-functions/qsort_r.texi: New file.
10606         * doc/glibc-functions/quick_exit.texi: New file.
10607         * doc/glibc-functions/syncfs.texi: New file.
10608         * doc/gnulib.texi: Include them.
10609         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
10610         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
10611         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
10612         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
10613         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
10614         * doc/glibc-functions/execvpe.texi: Likewise.
10615
10616 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
10617
10618         ftell: don't include <unistd.h>
10619         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
10620         guaranteed to define off_t, and the ftell module depends on the
10621         stdio module.
10622
10623         ftell: do not assume wraparound signed arithmetic
10624         * lib/ftell.c: Include <limits.h>.
10625         (ftell): Don't assume wraparound signed arithmetic.
10626
10627 2011-07-24  Bruno Haible  <bruno@clisp.org>
10628
10629         close: No longer depend on module 'fclose'.
10630         * modules/close (Depends-on): Remove fclose.
10631         * NEWS: Mention the change.
10632         Suggested by Sam Steingold <sds@gnu.org>.
10633
10634 2011-07-24  Bruno Haible  <bruno@clisp.org>
10635
10636         fsusage: Enable large volume support on AIX >= 5.2.
10637         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
10638         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
10639         instead of STAT_STATVFS.
10640         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
10641
10642         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
10643         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
10644         f_blocks field only on MacOS X.
10645
10646         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
10647         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
10648         * modules/fsusage (Depends-on): Add largefile.
10649
10650 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
10651
10652         * README: Modernize discussion of signed integers.
10653         Assuming overflow wraparound is no longer safe.
10654         Mention ones' complement and signed magnitude.
10655
10656 2011-07-22  Bruno Haible  <bruno@clisp.org>
10657
10658         select tests, pselect tests: Refactor.
10659         * tests/test-select.h: New file, extracted from tests/test-select.c.
10660         (select_fn): New type.
10661         (test, do_select, do_select_nowait, do_select_wait, test_tty,
10662         test_connect_first, test_accept_first, test_pair, test_socket_pair,
10663         test_pipe): Add my_select argument.
10664         (test_function): Renamed from main. Add my_select argument.
10665         * tests/test-select.c: Move most code to tests/test-select.h. Include
10666         test-select.h.
10667         * modules/select-tests (Files): Add tests/test-select.h.
10668         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
10669         (my_select, main): New functions.
10670         * modules/pselect-tests (Files): Add tests/test-select.h,
10671         tests/macros.h, tests/signature.h.
10672         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
10673         (configure.ac): Check for <sys/wait.h>.
10674
10675 2011-07-22  Bruno Haible  <bruno@clisp.org>
10676
10677         sys_select tests: Check the signature of FD_*.
10678         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
10679         signature tests from here...
10680         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
10681         here.
10682         * modules/sys_select-tests (Files): Add tests/signature.h.
10683
10684 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
10685
10686         largefile: new module, replacing large-inode
10687         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
10688         * MODULES.html.sh: Add largefile, remove large-inode.
10689         * modules/largefile, m4/largefile.m4: New files.
10690         * modules/large-inode, m4/large-inode.m4: Remove.
10691
10692         fsusage: port to MacOS X 10.7 with 4 TiB file systems
10693         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
10694         implementations that use only 32 bits to count blocks.
10695         On typical hosts with 1024-byte blocks, this fails with file
10696         systems as small as 4 TiB.  Problem reported by Herb Wartens
10697         <http://debbugs.gnu.org/9140> and this should also fix a similar
10698         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
10699
10700         large-inode: New module
10701         * MODULES.html.sh: Add it.
10702         * modules/large-inode, m4/large-inode.m4: New files.
10703
10704         extensions: Enable extensions on MacOS X 10.5 and later.
10705         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
10706
10707 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
10708
10709         file-has-acl: use acl_extended_file_nofollow if available
10710         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
10711         (acl_extended_file): New macro.
10712         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
10713         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
10714
10715 2011-07-21  Bruno Haible  <bruno@clisp.org>
10716
10717         Declare system functions in a way that works with C++.
10718         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
10719         declare fdopendir as extern "C".
10720         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
10721         declare frexpl as extern "C".
10722         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
10723         declare gai_strerror as extern "C".
10724         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
10725         programs, declare gai_strerror as extern "C".
10726         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
10727         declare getlogin_r as extern "C".
10728         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
10729         as extern "C".
10730         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
10731         declare ldexpl as extern "C".
10732         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
10733         as extern "C".
10734         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
10735         program, declare getmntinfo as extern "C".
10736         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
10737         stpncpy as extern "C".
10738         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
10739         program, declare __xpg_strerror_r as extern "C".
10740         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
10741         strndup as extern "C".
10742         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
10743         declare memset and bzero as extern "C".
10744         Reported by Sam Steingold <sds@gnu.org>.
10745
10746 2011-07-12  Jim Meyering  <meyering@redhat.com>
10747
10748         maint.mk: prohibit inclusion of "verify.h" without use
10749         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
10750
10751 2011-07-19  Pádraig Brady  <P@draigBrady.com>
10752
10753         timer-time: A new module to check for timer_settime()
10754         * m4/timer_time.m4: Check for the posix function.
10755         * modules/timer-time: Add the new module.
10756         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
10757         Mention it.
10758
10759 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
10760             Bruno Haible  <bruno@clisp.org>
10761
10762         pthread_sigmask: assume POSIX threads if --avoid=threadlib
10763         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
10764         not defined, assume POSIX threads and look for pthread_sigmask in
10765         $LIBS, without changing $CPPFLAGS.
10766
10767 2011-07-19  Bruno Haible  <bruno@clisp.org>
10768
10769         strstr: Update cross-compilation guess.
10770         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
10771         CPUs, guess no, in view of glibc
10772         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
10773         Suggested by Eric Blake. Reported by Reuben Thomas.
10774
10775 2011-07-19  Pádraig Brady  <P@draigBrady.com>
10776
10777         getopt-gnu: suppress core dumps from detection code
10778         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
10779         to suppress core dumps that may well occur on glibc systems.
10780         * modules/getopt-gnu: Depend on nocrash.
10781
10782 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
10783
10784         pthread_sigmask: ensure usleep is declared
10785         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
10786         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
10787
10788 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
10789
10790         doc: Document NonStop portability issues.
10791         * doc/posix-functions/sigaction.texi (sigaction):
10792         * doc/posix-headers/signal.texi (signal.h):
10793         Document NonStop.  See Joachim Schmitz in
10794         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
10795
10796 2011-07-15  Bruno Haible  <bruno@clisp.org>
10797
10798         ffsl, ffsll: Avoid unportable behaviour.
10799         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
10800
10801 2011-07-15  Bruno Haible  <bruno@clisp.org>
10802
10803         ffs: More tests.
10804         * tests/test-ffs.c (NBITS): New macro.
10805         (main): Add more tests.
10806         * tests/test-ffsl.c (NBITS): New macro.
10807         (main): Add more tests.
10808         * tests/test-ffsll.c (NBITS): New macro.
10809         (main): Add more tests.
10810
10811 2011-07-15  Eric Blake  <eblake@redhat.com>
10812
10813         ffsl, ffsll: new modules
10814         * modules/ffsl: New file.
10815         * modules/ffsll: Likewise.
10816         * m4/ffsl.m4: Likewise.
10817         * m4/ffsll.m4: Likewise.
10818         * lib/ffsl.c: Likewise.
10819         * lib/ffsl.h: Likewise.
10820         * lib/ffsll.c: Likewise.
10821         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
10822         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
10823         * modules/string (Makefile.am): Substitute witnesses.
10824         * lib/strings.in.h (ffsl, ffsll): Declare.
10825         * modules/ffsl-tests: New test file.
10826         * modules/ffsll-tests: Likewise.
10827         * tests/test-ffsl.c: Likewise.
10828         * tests/test-ffsll.c: Likewise.
10829         * MODULES.html.sh (Integer arithmetic functions): Mention it.
10830         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
10831         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
10832
10833         ffs: fix m4 prerequisite
10834         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
10835
10836         ffs: avoid undefined behavior
10837         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
10838         * tests/test-ffs.c (naive, main): Avoid signed shifts.
10839         Reported by Bruno Haible.
10840
10841 2011-07-12  Bruno Haible  <bruno@clisp.org>
10842
10843         pthread_sigmask: Rely on module 'threadlib'.
10844         * modules/pthread_sigmask (Depends-on): Add threadlib.
10845         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
10846         is defined.
10847
10848 2011-07-12  Bruno Haible  <bruno@clisp.org>
10849
10850         regex: Depend on module 'strcase'.
10851         * modules/regex (Depends-on): Add strcase, for strcasecmp().
10852
10853 2011-07-12  Jim Meyering  <meyering@redhat.com>
10854
10855         warn-on-use: fix typo in file name
10856         * modules/snippet/warn-on-use (Files): Correct file name:
10857         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
10858
10859 2011-07-12  Bruno Haible  <bruno@clisp.org>
10860
10861         strings: Document module.
10862         * doc/posix-headers/strings.texi: Mention module 'strings'.
10863
10864 2011-07-12  Bruno Haible  <bruno@clisp.org>
10865
10866         Rename module '_Noreturn' to 'snippet/_Noreturn'.
10867         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
10868         (Files, Makefile.am): Update.
10869         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
10870         * modules/stdlib (Depends-on): Update.
10871
10872 2011-07-12  Bruno Haible  <bruno@clisp.org>
10873
10874         * NEWS: Mention the changes.
10875
10876         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
10877         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
10878         (Files, Makefile.am): Update.
10879         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
10880         * modules/arpa_inet (Depends-on): Update.
10881         * modules/ctype (Depends-on): Update.
10882         * modules/dirent (Depends-on): Update.
10883         * modules/fcntl-h (Depends-on): Update.
10884         * modules/glob (Depends-on): Update.
10885         * modules/iconv-h (Depends-on): Update.
10886         * modules/inttypes-incomplete (Depends-on): Update.
10887         * modules/langinfo (Depends-on): Update.
10888         * modules/locale (Depends-on): Update.
10889         * modules/math (Depends-on): Update.
10890         * modules/netdb (Depends-on): Update.
10891         * modules/poll-h (Depends-on): Update.
10892         * modules/pty (Depends-on): Update.
10893         * modules/search (Depends-on): Update.
10894         * modules/signal (Depends-on): Update.
10895         * modules/spawn (Depends-on): Update.
10896         * modules/stdio (Depends-on): Update.
10897         * modules/stdlib (Depends-on): Update.
10898         * modules/string (Depends-on): Update.
10899         * modules/strings (Depends-on): Update.
10900         * modules/sys_file (Depends-on): Update.
10901         * modules/sys_ioctl (Depends-on): Update.
10902         * modules/sys_select (Depends-on): Update.
10903         * modules/sys_socket (Depends-on): Update.
10904         * modules/sys_stat (Depends-on): Update.
10905         * modules/sys_time (Depends-on): Update.
10906         * modules/sys_times (Depends-on): Update.
10907         * modules/sys_utsname (Depends-on): Update.
10908         * modules/sys_wait (Depends-on): Update.
10909         * modules/termios (Depends-on): Update.
10910         * modules/time (Depends-on): Update.
10911         * modules/unistd (Depends-on): Update.
10912         * modules/wchar (Depends-on): Update.
10913         * modules/wctype-h (Depends-on): Update.
10914         * MODULES.html.sh (Support for building libraries and executables):
10915         Update.
10916
10917         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
10918         * modules/snippet/unused-parameter: Renamed from
10919         modules/unused-parameter.
10920         (Files, Makefile.am): Update.
10921         * build-aux/snippet/unused-parameter.h: Renamed from
10922         build-aux/unused-parameter.h.
10923         * modules/selinux-h (Depends-on): Update.
10924         * modules/unistr/base (Depends-on): Update.
10925         * MODULES.html.sh (Core language properties): Update.
10926
10927         Rename module 'link-warning' to 'snippet/link-warning'.
10928         * modules/snippet/link-warning: Renamed from modules/link-warning.
10929         (Files, Makefile.am): Update.
10930         * build-aux/snippet/link-warning.h: Renamed from
10931         build-aux/link-warning.h.
10932         * MODULES.html.sh (Support for building libraries and executables):
10933         Update.
10934
10935         Rename module 'c++defs' to 'snippet/c++defs'.
10936         * modules/snippet/c++defs: Renamed from modules/c++defs.
10937         (Files, Makefile.am): Update.
10938         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
10939         * modules/arpa_inet (Depends-on): Update.
10940         * modules/ctype (Depends-on): Update.
10941         * modules/dirent (Depends-on): Update.
10942         * modules/fcntl-h (Depends-on): Update.
10943         * modules/glob (Depends-on): Update.
10944         * modules/iconv-h (Depends-on): Update.
10945         * modules/langinfo (Depends-on): Update.
10946         * modules/locale (Depends-on): Update.
10947         * modules/math (Depends-on): Update.
10948         * modules/netdb (Depends-on): Update.
10949         * modules/poll-h (Depends-on): Update.
10950         * modules/pty (Depends-on): Update.
10951         * modules/search (Depends-on): Update.
10952         * modules/signal (Depends-on): Update.
10953         * modules/spawn (Depends-on): Update.
10954         * modules/stdio (Depends-on): Update.
10955         * modules/stdlib (Depends-on): Update.
10956         * modules/string (Depends-on): Update.
10957         * modules/strings (Depends-on): Update.
10958         * modules/sys_ioctl (Depends-on): Update.
10959         * modules/sys_select (Depends-on): Update.
10960         * modules/sys_socket (Depends-on): Update.
10961         * modules/sys_stat (Depends-on): Update.
10962         * modules/sys_time (Depends-on): Update.
10963         * modules/sys_wait (Depends-on): Update.
10964         * modules/termios (Depends-on): Update.
10965         * modules/time (Depends-on): Update.
10966         * modules/unistd (Depends-on): Update.
10967         * modules/wchar (Depends-on): Update.
10968         * modules/wctype-h (Depends-on): Update.
10969
10970         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
10971         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
10972         (Files, Makefile.am): Update.
10973         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
10974         * modules/argv-iter (Depends-on): Update.
10975         * modules/arpa_inet (Depends-on): Update.
10976         * modules/dirent (Depends-on): Update.
10977         * modules/fcntl-h (Depends-on): Update.
10978         * modules/fnmatch (Depends-on): Update.
10979         * modules/getopt-posix (Depends-on): Update.
10980         * modules/glob (Depends-on): Update.
10981         * modules/iconv-h (Depends-on): Update.
10982         * modules/inttypes-incomplete (Depends-on): Update.
10983         * modules/locale (Depends-on): Update.
10984         * modules/math (Depends-on): Update.
10985         * modules/netdb (Depends-on): Update.
10986         * modules/search (Depends-on): Update.
10987         * modules/signal (Depends-on): Update.
10988         * modules/spawn (Depends-on): Update.
10989         * modules/stdio (Depends-on): Update.
10990         * modules/stdlib (Depends-on): Update.
10991         * modules/string (Depends-on): Update.
10992         * modules/strings (Depends-on): Update.
10993         * modules/sys_socket (Depends-on): Update.
10994         * modules/sys_stat (Depends-on): Update.
10995         * modules/sys_time (Depends-on): Update.
10996         * modules/sys_times (Depends-on): Update.
10997         * modules/sys_utsname (Depends-on): Update.
10998         * modules/time (Depends-on): Update.
10999         * modules/unistd (Depends-on): Update.
11000         * modules/wchar (Depends-on): Update.
11001         * MODULES.html.sh (Support for building libraries and executables):
11002         Update.
11003
11004 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
11005
11006         Improvements on _Noreturn and related modules.
11007
11008         modules/_Exit-tests: test _Noreturn too
11009         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
11010         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
11011         (main): Use them.
11012
11013         stdnoreturn, stdnoreturn-tests: remove modules
11014         They're not needed here and a bit premature for use elsewhere.  See
11015         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
11016         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
11017         * tests/test-stdnoreturn.c: Remove files.
11018         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
11019         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
11020         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
11021         and using noreturn.
11022         * modules/openat, modules/sigpipe-die, modules/xalloc:
11023         * modules/xmemdup0, modules/xstrtol:
11024         Remove dependency on stdnoreturn.
11025
11026         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
11027         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
11028         Reparenthesize to avoid GCC warning.
11029         Support Microsoft's syntax.
11030         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
11031
11032         _Noreturn-tests: remove module
11033         * modules/_Noreturn-tests: Remove.
11034         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
11035         * tests/test-_Noreturn.c: Remove.
11036         * tests/test-stdnoreturn.c: Merge from the old
11037         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
11038
11039 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
11040
11041         _Noreturn, stdnoreturn, and related modules.
11042
11043         * top/maint.mk: Adjust to new noreturn support.
11044         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
11045         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
11046
11047         xalloc: use stdnoreturn.h
11048         * lib/xalloc.h: Include <stdnoreturn.h>.
11049         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
11050         * modules/xalloc (Depends-on): Add stdnoreturn.
11051
11052         xstrtol: use stdnoreturn.h
11053         * lib/xstrtol.h: Include <stdnoreturn.h>.
11054         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
11055         * modules/xstrtol (Depends-on): Add stdnoreturn.
11056
11057         xmemdup0: use stdnoreturn.h
11058         * lib/xmemdup0.h: Include <stdnoreturn.h>.
11059         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
11060         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
11061
11062         sigpipe-die: use stdnoreturn.h
11063         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
11064         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
11065         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
11066
11067         openat: use stdnoreturn.h
11068         * lib/openat.h: Include <stdnoreturn.h>.
11069         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
11070         * modules/openat (Depends-on): Add stdnoreturn.
11071
11072         * lib/openat-die.c (openat_save_fail): Modernize comment.
11073
11074         * lib/xalloc-die.c (xalloc_die): Modernize comment.
11075
11076         * lib/glthread/thread.h: Modernize comment.
11077
11078         obstack: use _Noreturn
11079         * lib/obstack.c (__attribute__): Remove macro.
11080         (print_and_abort): Use _Noreturn.
11081
11082         c-stack: use _Noreturn
11083         * lib/c-stack.c (die, overflow_handler, segv_handler):
11084         Use _Noreturn rather than __attribute__((noreturn)).
11085
11086         argmatch-tests, exclude_tests: use _Noreturn
11087         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
11088         Remove.
11089         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
11090
11091         stdlib: use _Noreturn
11092         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
11093         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
11094         * modules/stdlib (Depends-on): Add _Noreturn.
11095         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
11096
11097         stdnoreturn-tests: new module
11098         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
11099
11100         stdnoreturn: new module
11101         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
11102         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
11103
11104         _Noreturn-tests: new module
11105         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
11106
11107         _Noreturn: new module
11108         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
11109         New section, mentioning it.
11110         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
11111
11112         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
11113
11114 2011-07-11  Eric Blake  <eblake@redhat.com>
11115
11116         ffs: new module
11117         * modules/ffs: New file.
11118         * m4/ffs.m4: Likewise.
11119         * lib/ffs.c: Likewise.
11120         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
11121         * modules/strings (Makefile.am): Substitute witness.
11122         (Depends-on): Add c++defs.
11123         * lib/strings.in.h (ffs): Declare.
11124         * modules/ffs-tests: New test file.
11125         * tests/test-ffs.c: Test new module.
11126         * MODULES.html.sh (Integer arithmetic functions): Mention it.
11127         * doc/posix-functions/ffs.texi (ffs): Likewise.
11128
11129         regex: avoid compiler warning
11130         * lib/regex.c (includes): Include <strings.h>, for use of
11131         strcasecmp in regcomp.c.
11132         Reported by Joachim Schmitz.
11133
11134 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
11135
11136         stdint: respect system's intmax_t if INTMAX_MAX
11137         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
11138         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
11139         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
11140         long but int64_t is long long, and where we will clash with the
11141         system intmax_t if we override it.  See
11142         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
11143         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
11144         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
11145         similarly for UINTMAX_C.
11146
11147 2011-07-08  Bruno Haible  <bruno@clisp.org>
11148
11149         pthread_sigmask tests: Avoid a compiler warning.
11150         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
11151         non-zero.
11152
11153         sigprocmask tests: A better way to avoid a compiler warning.
11154         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
11155         (main): Complain if system() returns non-zero.
11156         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
11157
11158 2011-07-08  Bruno Haible  <bruno@clisp.org>
11159
11160         pthread_sigmask: Work around IRIX bug.
11161         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
11162         bug.
11163         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
11164         there may be unblocked pending signals.
11165         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
11166
11167 2011-07-08  Bruno Haible  <bruno@clisp.org>
11168
11169         pthread_sigmask: Work around Cygwin bug.
11170         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
11171         bug.
11172         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
11173         the system's pthread_sigmask function.
11174         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
11175
11176 2011-07-08  Bruno Haible  <bruno@clisp.org>
11177
11178         pthread_sigmask: Work around bug in single-threaded implementation.
11179         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
11180         FreeBSD, HP-UX, Solaris bug.
11181         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
11182         * lib/pthread_sigmask.c: Include <stddef.h>.
11183         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
11184         the system's pthread_sigmask function.
11185         * modules/pthread_sigmask (configure.ac): Invoke
11186         gl_PREREQ_PTHREAD_SIGMASK.
11187         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
11188         HP-UX, Solaris.
11189
11190 2011-07-08  Eric Blake  <eblake@redhat.com>
11191
11192         test-sigprocmask: avoid compiler warning
11193         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
11194         * tests/test-sigprocmask.c (main): Use it to silence warning.
11195         Reported by Jim Meyering.
11196
11197         test-snprintf: avoid compiler warning
11198         * tests/test-snprintf.c (main): Avoid shadowed declaration.
11199         * tests/test-vsnprintf.c (main): Likewise.
11200         Reported by Jim Meyering.
11201
11202 2011-07-08  Bruno Haible  <bruno@clisp.org>
11203
11204         Tests for module 'pthread_sigmask'.
11205         * modules/pthread_sigmask-tests: New file.
11206         * tests/test-pthread_sigmask1.c: New file, based on
11207         tests/test-sigprocmask.c.
11208         * tests/test-pthread_sigmask2.c: New file.
11209
11210 2011-07-08  Jim Meyering  <meyering@redhat.com>
11211
11212         test-getopt.h: avoid warning about an unused variable
11213         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
11214
11215 2011-07-07  Jim Meyering  <meyering@redhat.com>
11216
11217         maint: reduce list of files exempt from sc_prohibit_leading_TABs
11218         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
11219         now that it no longer contains leading TABs.
11220         Remove unused "url=FIXME" statement.
11221
11222 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
11223
11224         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
11225         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
11226         When gl_THREADLIB is not in use, assume that the POSIX sematics
11227         are desired.  This is better for Emacs, which uses POSIX semantics
11228         on GNUish and/or POSIXish platforms, and does not use threads at
11229         all otherwise.
11230
11231         pthread_sigmask: fix typo when testing for libraries
11232         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
11233         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
11234
11235 2011-07-08  Eric Blake  <eblake@redhat.com>
11236
11237         fts: introduce FTS_NOATIME
11238         * lib/fts_.h (FTS_NOATIME): New bit flag.
11239         (FTS_OPTIONMASK): Adjust.
11240         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
11241         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
11242
11243 2011-07-08  Bruno Haible  <bruno@clisp.org>
11244
11245         Tests for module 'thread'.
11246         * modules/thread-tests: New file.
11247         * tests/test-thread_self.c: New file.
11248         * tests/test-thread_create.cc: New file.
11249
11250 2011-07-08  Bruno Haible  <bruno@clisp.org>
11251
11252         thread: Avoid gcc warnings when using gl_thread_self().
11253         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
11254         'void *'.
11255         (gl_thread_self_pointer): Update.
11256
11257 2011-07-07  Bruno Haible  <bruno@clisp.org>
11258
11259         signal-c++-tests: Check declaration of pthread_sigmask.
11260         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
11261         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
11262         $(LIB_PTHREAD_SIGMASK).
11263
11264 2011-07-07  Bruno Haible  <bruno@clisp.org>
11265
11266         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
11267         * lib/signal.in.h (pthread_sigmask): Override if
11268         REPLACE_PTHREAD_SIGMASK is 1.
11269         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
11270         REPLACE_PTHREAD_SIGMASK.
11271         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
11272         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
11273         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
11274         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
11275         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
11276
11277 2011-07-07  Bruno Haible  <bruno@clisp.org>
11278
11279         pthread_sigmask: Ensure declaration in <signal.h>.
11280         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
11281         include <pthread.h>.
11282         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
11283         problem.
11284
11285 2011-07-07  Bruno Haible  <bruno@clisp.org>
11286
11287         pthread_sigmask: Document the module.
11288         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
11289
11290 2011-07-07  Bruno Haible  <bruno@clisp.org>
11291
11292         pthread_sigmask: Follow gnulib conventions.
11293         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
11294         gl_PTHREAD_SIGMASK.
11295         * modules/pthread_sigmask (configure.ac): Update.
11296
11297 2011-07-07  Bruno Haible  <bruno@clisp.org>
11298
11299         pthread_sigmask: Make declaration C++ safe.
11300         * lib/signal.in.h: In two special conditions, just do an #include_next.
11301         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
11302         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
11303         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
11304         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
11305         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
11306         not REPLACE_PTHREAD_MASK.
11307         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
11308         not REPLACE_PTHREAD_MASK.
11309         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
11310
11311 2011-07-07  Bruno Haible  <bruno@clisp.org>
11312
11313         pthread_sigmask: Fix return value.
11314         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
11315         * lib/pthread_sigmask.c: New file.
11316         * modules/pthread_sigmask (Files): Add it.
11317         (configure.ac): Invoke AC_LIBOBJ.
11318
11319 2011-07-07  Eric Blake  <eblake@redhat.com>
11320
11321         getopt: more portable argv creation
11322         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
11323         const, use char arrays rather than strings.
11324         Suggested by Paul Eggert.
11325
11326 2011-07-07  Bruno Haible  <bruno@clisp.org>
11327
11328         Tests for module 'sigprocmask'.
11329         * modules/sigprocmask-tests: New file.
11330         * tests/test-sigprocmask.c: New file.
11331
11332 2011-07-07  Bruno Haible  <bruno@clisp.org>
11333
11334         float tests: Tweak.
11335         * tests/test-float.c (main): Tweak skip message.
11336
11337 2011-07-07  Eric Blake  <eblake@redhat.com>
11338
11339         getopt: avoid compiler warning during configure
11340         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
11341         assigning string literals to non-const pointer.
11342
11343         getopt-gnu: avoid crash in glibc getopt
11344         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
11345         * tests/test-getopt.h (test_getopt): Enhance test.
11346         * tests/test-getopt_long.h (test_getopt_long): Likewise.
11347         * doc/posix-functions/getopt.texi (getopt): Document it.
11348         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
11349         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
11350         Likewise.
11351
11352 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
11353
11354         getopt: handle W; without long options in getopt [BZ #12922]
11355         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
11356         but no long options are defined, just return 'W'.
11357
11358 2011-07-07  Bruno Haible  <bruno@clisp.org>
11359
11360         Avoid literal tabs.
11361         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
11362         variable containing a tab instead of a literal tab.
11363         Reported by Jim Meyering.
11364
11365 2011-07-07  Bruno Haible  <bruno@clisp.org>
11366
11367         Comments.
11368         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
11369
11370 2011-07-06  Bruno Haible  <bruno@clisp.org>
11371
11372         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
11373         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
11374         <winsock2.h>.
11375         (rpl_fd_isset, FD_ISSET): New definitions, copied from
11376         lib/sys_socket.in.h.
11377         (close, gethostname): Hide declarations from <winsock2.h>.
11378         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
11379         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
11380         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
11381         (select): Don't override if gnulib's <sys/select.h> was already
11382         included.
11383         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
11384         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
11385         setsockopt, shutdown, select): Tweak indentation.
11386
11387 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
11388
11389         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
11390         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
11391         in an application that does not use the sys_select module.
11392
11393 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
11394
11395         poll: do not return 0 on timeout=-1
11396         * lib/poll.c: Loop with yield if no events occured
11397
11398 2011-07-06  Eric Blake  <eblake@redhat.com>
11399
11400         pthread_sigmask: always replace when not using pthread
11401         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
11402         replacement when using some threading other than pthread.  Fix
11403         logic bug.
11404
11405 2011-07-06  Bruno Haible  <bruno@clisp.org>
11406
11407         Comments.
11408         * m4/printf.m4: Update comments about mingw.
11409
11410 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
11411
11412         sys_select: define sigset_t more portably
11413         * lib/sys_select.in.h: Always include <sys/types.h>, since
11414         we now need sigset_t and mingw defines it there.
11415         Include <signal.h> before split inclusion guard, to avoid
11416         mishaps on Solaris, whose <signal.h> eventually includes us.
11417         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
11418         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
11419         which come from ...
11420         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
11421         gl_CHECK_TYPE_SIGSET_T.
11422         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
11423         does the real work.
11424         * modules/sys_select (Depends-on): Add 'signal'.
11425
11426         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
11427         Suggested by Bruno Haible.
11428
11429         pselect: Use pthread_sigmask, not sigprocmask.
11430         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
11431         multithreaded apps better than sigprocmask does.
11432         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
11433         sigprocmask directly.
11434
11435 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
11436
11437         * lib/pselect.c (pselect): Use plain name, without "rpl_".
11438         Don't #undef,  since we don't need any underlying pselect.
11439         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
11440         (Depends-on): Add select.
11441         (Link): Add $(LIBSOCKET).
11442         These changes suggested by Bruno Haible.
11443
11444         pselect: document better
11445         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
11446         * doc/posix-functions/pselect.texi (pselect): Document new module.
11447
11448         pthread_sigmask: new module
11449         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
11450         * doc/posix-functions/pthread_sigmask.texi: Document new module.
11451         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
11452         This is done only as a macro; I don't know how well that'll
11453         work for C++.  Move <sys/types.h> include before the include_next,
11454         to avoid mishap on Solaris.
11455         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
11456         * modules/signal (Makefile.am): Substitute the check's results.
11457         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
11458
11459         test-pselect: new module
11460         * modules/pselect-tests, tests/test-pselect.c: New files.
11461         * tests/test-select.c, tests/test-sys_select-c++.cc:
11462         If TEST_PSELECT is defined, test pselect instead of testing select.
11463
11464         * tests/test-sys_select.c (sigset_t): Test for it, too.
11465         Suggested by Bruno Haible.
11466
11467 2011-07-05  Eric Blake  <eblake@redhat.com>
11468
11469         snprintf: guarantee %1$d, for libintl
11470         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
11471         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
11472         * doc/posix-functions/snprintf.texi (snprintf): Update.
11473         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
11474         * tests/test-snprintf.c (main): Enhance test.
11475         * tests/test-vsnprintf.c (main): Likewise.
11476
11477 2011-07-05  Jim Meyering  <meyering@redhat.com>
11478
11479         maint: exempt stdio-read.c and stdio-write.c from the cppi check
11480         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
11481         per Bruno's request, to accommodate this idiom (no space after "#")
11482         even when the function is inside an #if block:
11483         char *
11484         gets (char *s)
11485         #undef gets
11486         {
11487           ...
11488         }
11489
11490 2011-07-04  Jim Meyering  <meyering@redhat.com>
11491
11492         maint: indent with spaces, not TABs, and add a rule to check this
11493         * tests/test-userspec.c: Indent with spaces, not TABs.
11494         * tests/test-argp.c: Likewise.
11495         * tests/test-c-stack2.sh: Likewise.
11496         * tests/test-parse-duration.sh: Likewise
11497         * m4/strtod.m4: Likewise.
11498         * m4/alloca.m4: Likewise.
11499         * m4/pselect.m4: Likewise.
11500         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
11501
11502 2011-07-03  Jim Meyering  <meyering@redhat.com>
11503
11504         maint.mk: correct omissions in prohibit_argmatch_without_use check
11505         This rule would mistakenly report that argmatch.h is included without
11506         use even when both the argmatch and invalid_arg macro were used.
11507         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
11508         of argmatch and invalid_arg.
11509
11510 2011-07-03  Bruno Haible  <bruno@clisp.org>
11511
11512         Comments about EINTR.
11513         * lib/safe-read.h: Explain the purpose of this module.
11514         * lib/safe-write.h: Likewise.
11515         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
11516         module.
11517         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
11518         module.
11519         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
11520
11521 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
11522
11523         xnanosleep: Rewrite to use new dtotimespec module.
11524         It has the conversion code that used to be in xnanosleep.
11525         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
11526         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
11527         (TIME_T_MAX): Remove.
11528         (xnanosleep): Rewrite in terms of dtotimespec.
11529         * modules/xnanosleep (Depends-on): Add dtotimespec.
11530         Remove intprops, stdbool.
11531
11532         timespec-add, timespec-sub: new modules
11533         * lib/timespec.h (timespec_add, timespec_sub): New decls.
11534         * lib/timespec-add.c, lib/timespec-sub.c:
11535         * modules/timespec-add, modules/timespec-sub: New files.
11536
11537         dtotimespec: new module
11538         * lib/timespec.h (dtotimespec): New decl.
11539         * lib/dtotimespec.c, modules/dtotimespec: New files.
11540
11541         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
11542
11543         pselect: new module
11544         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
11545         (pselect): New decls.
11546         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
11547         since the standard pselect decl uses 'restrict'.
11548         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
11549         HAVE_PSELECT, REPLACE_PSELECT.
11550         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
11551         HAVE_PSELECT, REPLACE_PSELECT.
11552         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
11553
11554         sys_select: don't depend on sys_socket
11555         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
11556         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
11557         This fix works on GNU and GNU-like platforms, but has not been tested
11558         on native Windows.
11559         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
11560         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
11561         gl_HEADER_SYS_SOCKET.
11562         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
11563         gl_PREREQ_SYS_H_WINSOCK2.
11564
11565 2011-06-29  Eric Blake  <eblake@redhat.com>
11566
11567         pipe2: fix C89 compile problem
11568         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
11569         Reported by Bruno Haible.
11570
11571         pipe, pipe2: don't corrupt fd on error
11572         * lib/pipe.c (pipe): Leave fd unchanged on error.
11573         * lib/pipe2.c (pipe2): Likewise.
11574         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
11575         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
11576
11577 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
11578
11579         mmap-anon: do not use regular expressions inadvertently
11580         * m4/mmap-anon.m4: Remove trailing period from strings sought
11581         in the output.
11582
11583 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
11584
11585         nanosleep: fix integer overflow problem
11586         * lib/nanosleep.c (my_usleep): Don't assume signed integer
11587         arithmetic wraps around on overflow.
11588
11589         nanosleep: simplify carrying
11590         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
11591         first call to the underyling nanosleep, not for the last one.
11592         This doesn't fix any bugs, but it simplifies the computation of
11593         the remaining delay.  Found while auditing integer overflow issues.
11594
11595         dup2: remove test for existence of fcntl
11596         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
11597         "#if HAVE_FCNTL", in the configure-time test program.
11598         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
11599         and therefore speeds up "configure" a bit.  Found while
11600         adding the dup2 module to Emacs.
11601
11602 2011-06-24  Eric Blake  <eblake@redhat.com>
11603
11604         maint.mk: enhance useless header checks
11605         * top/maint.mk (_sc_header_without_use): Check both include
11606         styles.
11607         (sc_prohibit_assert_without_use)
11608         (sc_prohibit_close_stream_without_use)
11609         (sc_prohibit_getopt_without_use)
11610         (sc_prohibit_quotearg_without_use)
11611         (sc_prohibit_quote_without_use)
11612         (sc_prohibit_long_options_without_use)
11613         (sc_prohibit_inttostr_without_use)
11614         (sc_prohibit_ignore_value_without_use)
11615         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
11616         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
11617         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
11618         (sc_prohibit_hash_pjw_without_use)
11619         (sc_prohibit_safe_read_without_use)
11620         (sc_prohibit_argmatch_without_use)
11621         (sc_prohibit_canonicalize_without_use)
11622         (sc_prohibit_root_dev_ino_without_use)
11623         (sc_prohibit_openat_without_use)
11624         (sc_prohibit_c_ctype_without_use)
11625         (sc_prohibit_signal_without_use)
11626         (sc_prohibit_stdio--_without_use)
11627         (sc_prohibit_stdio-safer_without_use)
11628         (sc_prohibit_strings_without_use)
11629         (sc_prohibit_intprops_without_use)
11630         (sc_prohibit_stddef_without_use)
11631         (sc_prohibit_xfreopen_without_use): Update clients.
11632
11633 2011-06-24  Jim Meyering  <meyering@redhat.com>
11634
11635         syntax-check: keep one maint.mk rule in sync with its header
11636         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
11637         of the bug Eric has just fixed, with today's commit 25e4c2ec.
11638         I prefer to avoid temporary files here, so use <(...), but that
11639         is not supported by /bin/sh, so...
11640         (SHELL): Define to /bin/bash.
11641
11642 2011-06-24  Eric Blake  <eblake@redhat.com>
11643
11644         maint.mk: update sc_prohibit_intprops_without_use
11645         * top/maint.mk (_intprops_names): Match recent changes.
11646
11647 2011-06-24  Bruno Haible  <bruno@clisp.org>
11648
11649         strerror-override: No-op tweak.
11650         * lib/strerror-override.h (strerror_override): Reorder conditions,
11651         for consistency with lib/strerror-override.c.
11652
11653 2011-06-23  Eric Blake  <eblake@redhat.com>
11654
11655         maint.mk: test further PATH_MAX issues
11656         * top/maint.mk (sc_prohibit_path_max_array): Rename...
11657         (sc_prohibit_path_max_allocation): ...and also test alloca.
11658         Suggested by Jim Meyering.
11659
11660 2011-06-22  Eric Blake  <eblake@redhat.com>
11661
11662         maint.mk: add syntax-check to avoid char[PATH_MAX]
11663         * top/maint.mk (sc_prohibit_path_max_array): New rule.
11664
11665         stat: be robust to PATH_MAX definition
11666         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
11667         * modules/stat (Depends-on): Add verify.
11668
11669         link: work around IRIX bug
11670         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
11671         * lib/link.c (rpl_link): Work around it.
11672         * tests/test-link.h (test_link): Enhance test.
11673         * doc/posix-functions/link.texi (link): Document the bug.
11674
11675         getopt: silence clang warning
11676         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
11677         dereference.
11678         Reported by Gustavo Martin Domato.
11679
11680 2011-06-22  Jim Meyering  <meyering@redhat.com>
11681
11682         bootstrap: do not insert a blank line into each .gitignore file
11683         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
11684
11685 2011-06-21  Eric Blake  <eblake@redhat.com>
11686
11687         perror: test for output mismatch
11688         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
11689         perror on IRIX.
11690
11691         strerror_r: fix OpenBSD behavior on out-of-range
11692         * lib/strerror_r.c (strerror_r): Always use maximal string.
11693         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
11694
11695         strerror_r: fix OpenBSD behavior on 0
11696         * lib/strerror-override.c (strerror_override): Also override 0
11697         when needed.
11698         * lib/strerror-override.h (strerror_override): Likewise.
11699         * lib/strerror.c (strerror): Simplify, now that 0 override is done
11700         earlier.
11701         * lib/strerror_r.c (strerror_r): Likewise.
11702         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
11703         behavior...
11704         (gl_FUNC_STRERROR_0): ...into new macro.
11705         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
11706         is overridden.
11707         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
11708         * modules/strerror-override (Files): Add strerror.m4.
11709         (configure.ac): Also provide override for 0 when needed.
11710         * doc/posix-functions/strerror.texi (strerror): Document this.
11711         * doc/posix-functions/perror.texi (perror): Likewise.
11712
11713         perror: adjust array size
11714         * modules/perror (Depends-on): Add strerror-override.
11715         * lib/perror.c (perror): Use it to avoid magic number.
11716
11717         strerror-override: reduce size
11718         * lib/strerror-override.c (strerror_override): Use fewer lines.
11719
11720 2011-06-20  Bruno Haible  <bruno@clisp.org>
11721
11722         pathmax: Ensure correct value for PATH_MAX on HP-UX.
11723         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
11724
11725 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
11726
11727         alloca: port to compilers that can optimize like GCC 4.6.0
11728         * lib/alloca.c (find_stack_direction): New signature, taken from
11729         Autoconf git.  This works with GCC 4.6.0.  This code should never
11730         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
11731         be used with other compilers that optimize as well as GCC 4.6.0 does.
11732         (alloca): Adjust to new signature.
11733         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
11734         New macro, which patches Autoconf in a similar way.
11735
11736         c-stack: stop worrying about stack direction
11737         * lib/c-stack.c (find_stack_direction): Remove.
11738         (segv_handler): Don't worry about stack direction growth, as it's
11739         too much of a pain to configure this correctly, given how compilers
11740         are optimizing-away our stack-growth detection code.  Instead, assume
11741         that any access to just before or just after the stack is OK.
11742         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
11743         Don't require AC_FUNC_ALLOCA; no longer needed.
11744
11745 2011-06-20  Eric Blake  <eblake@redhat.com>
11746
11747         test-stat: don't allocate PATH_MAX bytes
11748         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
11749         PATH_MAX-sized buffer.
11750         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
11751         * modules/stat-tests (Depends-on): Likewise.
11752         * tests/test-fstatat.c (includes): Drop pathmax.h.
11753         * tests/test-stat.c (includes): Likewise.
11754         Reported by Bruno Haible.
11755
11756 2011-06-20  Bruno Haible  <bruno@clisp.org>
11757
11758         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
11759         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
11760         * lib/float.c: New file.
11761         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
11762         REPLACE_FLOAT_LDBL.
11763         * modules/float (Files): Add lib/float.c.
11764         (configure.ac): Invoke AC_LIBOBJ.
11765         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
11766
11767 2011-06-20  Bruno Haible  <bruno@clisp.org>
11768
11769         Tests for module 'float'.
11770         * modules/float-tests: New file.
11771         * tests/test-float.c: New file.
11772
11773 2011-06-19  Bruno Haible  <bruno@clisp.org>
11774
11775         isinf: Coding style.
11776         * lib/isinf.c: Use GNU coding style.
11777
11778 2011-06-19  Bruno Haible  <bruno@clisp.org>
11779
11780         linkat test: Avoid test failure on AIX 7.1.
11781         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
11782         * tests/test-link.h (test_link): Likewise.
11783
11784 2011-06-19  Bruno Haible  <bruno@clisp.org>
11785
11786         pread test: Avoid test failure on OpenBSD 4.9.
11787         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
11788
11789 2011-06-19  Bruno Haible  <bruno@clisp.org>
11790
11791         sprintf-posix: Fix test failure on AIX 7.1.
11792         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
11793         * doc/posix-functions/dprintf.texi: Mention limited precision problem
11794         on AIX.
11795         * doc/posix-functions/fprintf.texi: Likewise.
11796         * doc/posix-functions/printf.texi: Likewise.
11797         * doc/posix-functions/snprintf.texi: Likewise.
11798         * doc/posix-functions/sprintf.texi: Likewise.
11799         * doc/posix-functions/vdprintf.texi: Likewise.
11800         * doc/posix-functions/vfprintf.texi: Likewise.
11801         * doc/posix-functions/vprintf.texi: Likewise.
11802         * doc/posix-functions/vsnprintf.texi: Likewise.
11803         * doc/posix-functions/vsprintf.texi: Likewise.
11804
11805 2011-06-19  Bruno Haible  <bruno@clisp.org>
11806
11807         roundl-ieee: Fix test failure on AIX 7.1.
11808         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
11809         * doc/posix-functions/roundl.texi: Mention problem with negative
11810         arguments.
11811
11812 2011-06-19  Bruno Haible  <bruno@clisp.org>
11813
11814         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
11815         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
11816         * doc/posix-functions/round.texi: Mention problem with negative
11817         arguments.
11818         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
11819
11820 2011-06-19  Bruno Haible  <bruno@clisp.org>
11821
11822         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
11823         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
11824         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
11825         * doc/posix-functions/roundf.texi: Mention problem with negative
11826         arguments.
11827         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
11828
11829 2011-06-19  Bruno Haible  <bruno@clisp.org>
11830
11831         ceilf-ieee: Work around bug on MacOS X 10.5.
11832         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
11833
11834         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
11835         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
11836         IEEE compliant, avoid compiler optimizations.
11837         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
11838         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
11839         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
11840         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
11841         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
11842         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
11843         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
11844         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
11845         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
11846         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
11847
11848 2011-06-19  Bruno Haible  <bruno@clisp.org>
11849
11850         ceilf-ieee: Work around bug on AIX 7.1.
11851         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
11852         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
11853
11854 2011-06-19  Bruno Haible  <bruno@clisp.org>
11855
11856         ceil-ieee: Work around bug on AIX 7.1.
11857         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
11858         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
11859
11860 2011-06-18  Bruno Haible  <bruno@clisp.org>
11861
11862         fsync test: Avoid test failure on MacOS X and AIX.
11863         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
11864         EINVAL.
11865
11866 2011-06-18  Bruno Haible  <bruno@clisp.org>
11867
11868         openat, fdopendir tests: Fix link errors.
11869         * modules/openat-tests (Depends-on): Add progname.
11870         * modules/fdopendir-tests (Depends-on): Likewise.
11871         * tests/test-fchownat.c: Include progname.h.
11872         (main): Call set_program_name.
11873         * tests/test-fstatat.c: Include progname.h.
11874         (main): Call set_program_name.
11875         * tests/test-mkdirat.c: Include progname.h.
11876         (main): Call set_program_name.
11877         * tests/test-openat.c: Include progname.h.
11878         (main): Call set_program_name.
11879         * tests/test-unlinkat.c: Include progname.h.
11880         (main): Call set_program_name.
11881         * tests/test-fdopendir.c: Include progname.h.
11882         (main): Call set_program_name.
11883
11884 2011-06-18  Bruno Haible  <bruno@clisp.org>
11885
11886         Doc update.
11887         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
11888         HP-UX.
11889         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
11890
11891 2011-06-18  Bruno Haible  <bruno@clisp.org>
11892
11893         getcwd tests: Avoid compilation error on HP-UX 11.31.
11894         * modules/getcwd-tests (Depends-on): Add pathmax.
11895         * tests/test-getcwd.c: Include pathmax.h.
11896
11897 2011-06-18  Bruno Haible  <bruno@clisp.org>
11898
11899         isfinite, isinf: Fix link error on AIX 6 and 7.
11900         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
11901         needed, also test the macro with a 'float' argument.
11902         * m4/isinf.m4 (gl_ISINF): Likewise.
11903
11904 2011-06-18  Bruno Haible  <bruno@clisp.org>
11905
11906         getloadavg: Don't clobber LIBS. Regression from previous commit.
11907         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
11908         AC_CHECK_LIB from here...
11909         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
11910         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
11911         gl_func_getloadavg_done.
11912         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11913
11914 2011-06-18  Bruno Haible  <bruno@clisp.org>
11915
11916         clean-temp: Improve documentation.
11917         * lib/clean-temp.h: Explain better how to use this module.
11918         Reported by John Darrington <john@darrington.wattle.id.au>.
11919
11920 2011-06-17  Bruno Haible  <bruno@clisp.org>
11921
11922         pread, pwrite: Avoid cc warning on AIX.
11923         * lib/unistd.in.h (pread): Undefine before defining as a macro.
11924         (pwrite): Likewise.
11925
11926 2011-06-17  Bruno Haible  <bruno@clisp.org>
11927
11928         spawn-pipe tests: Fix link error.
11929         * tests/test-spawn-pipe-child.c: Undefine fprintf.
11930         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11931
11932 2011-06-17  Bruno Haible  <bruno@clisp.org>
11933
11934         Tests: Remove unnecessary dependency.
11935         * modules/canonicalize-tests (Depends-on): Remove progname.
11936         * modules/chown-tests (Depends-on): Likewise.
11937         * modules/dirname-tests (Depends-on): Likewise.
11938         * modules/fdopendir-tests (Depends-on): Likewise.
11939         * modules/fdutimensat-tests (Depends-on): Likewise.
11940         * modules/hash-tests (Depends-on): Likewise.
11941         * modules/lchown-tests (Depends-on): Likewise.
11942         * modules/linkat-tests (Depends-on): Likewise.
11943         * modules/renameat-tests (Depends-on): Likewise.
11944         * modules/spawn-pipe-tests (Depends-on): Likewise.
11945         * modules/utimensat-tests (Depends-on): Likewise.
11946
11947 2011-06-17  Bruno Haible  <bruno@clisp.org>
11948
11949         spawn-pipe tests: Fix link error.
11950         * tests/test-spawn-pipe-child.c: Undefine fflush.
11951
11952 2011-06-17  Bruno Haible  <bruno@clisp.org>
11953
11954         Fix tests link errors.
11955         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
11956         * modules/chown-tests (Makefile.am): Don't link test-chown with
11957         LIBINTL.
11958         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
11959         LIBINTL.
11960         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
11961         LIBINTL.
11962         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
11963         LIBINTL.
11964
11965 2011-06-16  Bruno Haible  <bruno@clisp.org>
11966
11967         crypto/gc-sha1: Fix recent regression.
11968         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
11969         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
11970
11971         crypto/gc-md5: Fix recent regression.
11972         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
11973
11974         crypto/gc-md4: Fix recent regression.
11975         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
11976         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
11977
11978         crypto/gc-arctwo: Fix recent regression.
11979         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
11980         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
11981
11982         crypto/gc-rijndael: Fix recent regression.
11983         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
11984         (configure.ac): Invoke AC_LIBOBJ here.
11985         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
11986         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11987
11988         crypto/gc-hmac-sha1: Fix recent regression.
11989         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
11990         (configure.ac): Invoke AC_LIBOBJ here.
11991         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
11992         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11993
11994         crypto/gc-hmac-md5: Fix recent regression.
11995         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
11996         (configure.ac): Invoke AC_LIBOBJ here.
11997         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
11998         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11999
12000         crypto/gc-des: Fix recent regression.
12001         * modules/crypto/gc-des (Files): Remove m4/des.m4.
12002         (configure.ac): Invoke AC_LIBOBJ here.
12003         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
12004         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12005
12006         crypto/gc-arcfour: Fix recent regression.
12007         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
12008         (configure.ac): Invoke AC_LIBOBJ here.
12009         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
12010         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12011
12012 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
12013
12014         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
12015         After the 2011-05-21 change, this macro requires
12016         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
12017         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
12018
12019 2011-06-16  Bruno Haible  <bruno@clisp.org>
12020
12021         fprintftime: Move AC_LIBOBJ invocations to module description.
12022         * m4/fprintftime.m4: Remove file.
12023         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
12024         (configure.ac): Remove gl_FPRINTFTIME call.
12025         (Makefile.am): Augment lib_SOURCES.
12026         Reported by Jim Meyering.
12027
12028 2011-06-16  Bruno Haible  <bruno@clisp.org>
12029
12030         tmpfile-safer: Finish 2011-05-23 commit.
12031         * m4/stdio-safer.m4: Really remove file.
12032         Reported by Jim Meyering.
12033
12034 2011-06-16  Bruno Haible  <bruno@clisp.org>
12035
12036         syntax-check: Fix typo.
12037         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
12038         printf-posix.m4.
12039         Reported by Jim Meyering.
12040
12041 2011-06-13  Jim Meyering  <meyering@redhat.com>
12042
12043         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
12044         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
12045
12046 2011-05-23  Bruno Haible  <bruno@clisp.org>
12047
12048         yesno: Move AC_LIBOBJ invocations to module description.
12049         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
12050         * modules/yesno (Makefile.am): Augment lib_SOURCES.
12051
12052 2011-05-23  Bruno Haible  <bruno@clisp.org>
12053
12054         xstrtol: Move AC_LIBOBJ invocations to module description.
12055         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
12056         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
12057
12058 2011-05-23  Bruno Haible  <bruno@clisp.org>
12059
12060         xstrtold: Move AC_LIBOBJ invocations to module description.
12061         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
12062         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
12063
12064 2011-05-23  Bruno Haible  <bruno@clisp.org>
12065
12066         xstrtod: Move AC_LIBOBJ invocations to module description.
12067         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
12068         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
12069
12070 2011-05-23  Bruno Haible  <bruno@clisp.org>
12071
12072         xnanosleep: Move AC_LIBOBJ invocations to module description.
12073         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
12074         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
12075
12076 2011-05-23  Bruno Haible  <bruno@clisp.org>
12077
12078         xgetcwd: Move AC_LIBOBJ invocations to module description.
12079         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
12080         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
12081
12082 2011-05-23  Bruno Haible  <bruno@clisp.org>
12083
12084         xalloc: Move AC_LIBOBJ invocations to module description.
12085         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
12086         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
12087
12088 2011-05-23  Bruno Haible  <bruno@clisp.org>
12089
12090         write-any-file: Move AC_LIBOBJ invocations to module description.
12091         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
12092         invocation.
12093         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
12094
12095 2011-05-23  Bruno Haible  <bruno@clisp.org>
12096
12097         utimens: Move AC_LIBOBJ invocations to module description.
12098         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
12099         * modules/utimens (Makefile.am): Augment lib_SOURCES.
12100
12101 2011-05-23  Bruno Haible  <bruno@clisp.org>
12102
12103         utimecmp: Move AC_LIBOBJ invocations to module description.
12104         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
12105         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
12106
12107 2011-05-23  Bruno Haible  <bruno@clisp.org>
12108
12109         userspec: Move AC_LIBOBJ invocations to module description.
12110         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
12111         * modules/userspec (Makefile.am): Augment lib_SOURCES.
12112
12113 2011-05-23  Bruno Haible  <bruno@clisp.org>
12114
12115         unlinkdir: Move AC_LIBOBJ invocations to module description.
12116         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
12117         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
12118
12119 2011-05-23  Bruno Haible  <bruno@clisp.org>
12120
12121         unistd-safer: Move AC_LIBOBJ invocations to module description.
12122         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
12123         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
12124
12125 2011-05-23  Bruno Haible  <bruno@clisp.org>
12126
12127         tempname: Move AC_LIBOBJ invocations to module description.
12128         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
12129         * modules/tempname (Makefile.am): Augment lib_SOURCES.
12130
12131 2011-05-23  Bruno Haible  <bruno@clisp.org>
12132
12133         strftime: Move AC_LIBOBJ invocations to module description.
12134         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
12135         * modules/strftime (Makefile.am): Augment lib_SOURCES.
12136
12137 2011-05-23  Bruno Haible  <bruno@clisp.org>
12138
12139         stdlib-safer: Move AC_LIBOBJ invocations to module description.
12140         * m4/stdlib-safer.m4: Remove file.
12141         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
12142         (configure.ac): Remove gl_STDLIB_SAFER call.
12143         (Makefile.am): Augment lib_SOURCES.
12144
12145 2011-05-23  Bruno Haible  <bruno@clisp.org>
12146
12147         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
12148         * m4/stdio-safer.m4: Remove file.
12149         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
12150         (configure.ac): Remove gl_TMPFILE_SAFER call.
12151         (Makefile.am): Augment lib_SOURCES.
12152
12153 2011-05-23  Bruno Haible  <bruno@clisp.org>
12154
12155         popen-safer: Move AC_LIBOBJ invocations to module description.
12156         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
12157         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
12158         (configure.ac): Remove gl_POPEN_SAFER call.
12159         (Makefile.am): Augment lib_SOURCES.
12160
12161 2011-05-23  Bruno Haible  <bruno@clisp.org>
12162
12163         freopen-safer: Move AC_LIBOBJ invocations to module description.
12164         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
12165         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
12166         (configure.ac): Remove gl_FREOPEN_SAFER call.
12167         (Makefile.am): Augment lib_SOURCES.
12168
12169 2011-05-23  Bruno Haible  <bruno@clisp.org>
12170
12171         fopen-safer: Move AC_LIBOBJ invocations to module description.
12172         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
12173         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
12174         (configure.ac): Remove gl_FOPEN_SAFER call.
12175         (Makefile.am): Augment lib_SOURCES.
12176
12177 2011-05-23  Bruno Haible  <bruno@clisp.org>
12178
12179         crypto/sha512: Move AC_LIBOBJ invocations to module description.
12180         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
12181         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
12182
12183 2011-05-23  Bruno Haible  <bruno@clisp.org>
12184
12185         crypto/sha256: Move AC_LIBOBJ invocations to module description.
12186         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
12187         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
12188
12189 2011-05-23  Bruno Haible  <bruno@clisp.org>
12190
12191         crypto/sha1: Move AC_LIBOBJ invocations to module description.
12192         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
12193         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
12194
12195 2011-05-23  Bruno Haible  <bruno@clisp.org>
12196
12197         settime: Move AC_LIBOBJ invocations to module description.
12198         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
12199         * modules/settime (Makefile.am): Augment lib_SOURCES.
12200
12201 2011-05-23  Bruno Haible  <bruno@clisp.org>
12202
12203         savedir: Move AC_LIBOBJ invocations to module description.
12204         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
12205         * modules/savedir (Makefile.am): Augment lib_SOURCES.
12206
12207 2011-05-23  Bruno Haible  <bruno@clisp.org>
12208
12209         save-cwd: Move AC_LIBOBJ invocations to module description.
12210         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
12211         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
12212
12213 2011-05-23  Bruno Haible  <bruno@clisp.org>
12214
12215         same: Move AC_LIBOBJ invocations to module description.
12216         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
12217         * modules/same (Makefile.am): Augment lib_SOURCES.
12218
12219 2011-05-23  Bruno Haible  <bruno@clisp.org>
12220
12221         safe-write: Move AC_LIBOBJ invocations to module description.
12222         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
12223         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
12224         instead of gl_SAFE_WRITE.
12225         (Makefile.am): Augment lib_SOURCES.
12226
12227 2011-05-23  Bruno Haible  <bruno@clisp.org>
12228
12229         safe-read: Move AC_LIBOBJ invocations to module description.
12230         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
12231         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
12232         of gl_SAFE_READ.
12233         (Makefile.am): Augment lib_SOURCES.
12234
12235 2011-05-23  Bruno Haible  <bruno@clisp.org>
12236
12237         safe-alloc: Move AC_LIBOBJ invocations to module description.
12238         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
12239         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
12240
12241 2011-05-23  Bruno Haible  <bruno@clisp.org>
12242
12243         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
12244         * m4/rijndael.m4: Remove file.
12245         * modules/crypto/rijndael (Files): Remove it.
12246         (configure.ac): Remove gl_RIJNDAEL call.
12247         (Makefile.am): Augment lib_SOURCES.
12248
12249 2011-05-23  Bruno Haible  <bruno@clisp.org>
12250
12251         readtokens: Move AC_LIBOBJ invocations to module description.
12252         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
12253         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
12254
12255 2011-05-23  Bruno Haible  <bruno@clisp.org>
12256
12257         read-file: Move AC_LIBOBJ invocations to module description.
12258         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
12259         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
12260         of gl_FUNC_READ_FILE.
12261         (Makefile.am): Augment lib_SOURCES.
12262
12263 2011-05-23  Bruno Haible  <bruno@clisp.org>
12264
12265         quotearg: Move AC_LIBOBJ invocations to module description.
12266         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
12267         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
12268
12269 2011-05-23  Bruno Haible  <bruno@clisp.org>
12270
12271         quote: Move AC_LIBOBJ invocations to module description.
12272         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
12273         * modules/quote (Makefile.am): Augment lib_SOURCES.
12274
12275 2011-05-23  Bruno Haible  <bruno@clisp.org>
12276
12277         posixver: Move AC_LIBOBJ invocations to module description.
12278         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
12279         * modules/posixver (Makefile.am): Augment lib_SOURCES.
12280
12281 2011-05-23  Bruno Haible  <bruno@clisp.org>
12282
12283         posixtm: Move AC_LIBOBJ invocations to module description.
12284         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
12285         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
12286
12287 2011-05-23  Bruno Haible  <bruno@clisp.org>
12288
12289         physmem: Move AC_LIBOBJ invocations to module description.
12290         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
12291         * modules/physmem (Makefile.am): Augment lib_SOURCES.
12292
12293 2011-05-23  Bruno Haible  <bruno@clisp.org>
12294
12295         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
12296         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
12297         invocation.
12298         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
12299
12300 2011-05-23  Bruno Haible  <bruno@clisp.org>
12301
12302         mpsort: Move AC_LIBOBJ invocations to module description.
12303         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
12304         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
12305
12306 2011-05-23  Bruno Haible  <bruno@clisp.org>
12307
12308         modechange: Move AC_LIBOBJ invocations to module description.
12309         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
12310         * modules/modechange (Makefile.am): Augment lib_SOURCES.
12311
12312 2011-05-23  Bruno Haible  <bruno@clisp.org>
12313
12314         mkdir-p: Move AC_LIBOBJ invocations to module description.
12315         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
12316         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
12317
12318 2011-05-23  Bruno Haible  <bruno@clisp.org>
12319
12320         mkancesdirs: Move AC_LIBOBJ invocations to module description.
12321         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
12322         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
12323
12324 2011-05-23  Bruno Haible  <bruno@clisp.org>
12325
12326         mgetgroups: Move AC_LIBOBJ invocations to module description.
12327         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
12328         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
12329
12330 2011-05-23  Bruno Haible  <bruno@clisp.org>
12331
12332         memxor: Move AC_LIBOBJ invocations to module description.
12333         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
12334         * modules/memxor (Makefile.am): Augment lib_SOURCES.
12335
12336 2011-05-23  Bruno Haible  <bruno@clisp.org>
12337
12338         memcoll: Move AC_LIBOBJ invocations to module description.
12339         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
12340         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
12341
12342 2011-05-23  Bruno Haible  <bruno@clisp.org>
12343
12344         memcasecmp: Move AC_LIBOBJ invocations to module description.
12345         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
12346         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
12347
12348 2011-05-23  Bruno Haible  <bruno@clisp.org>
12349
12350         crypto/md5: Move AC_LIBOBJ invocations to module description.
12351         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
12352         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
12353
12354 2011-05-23  Bruno Haible  <bruno@clisp.org>
12355
12356         crypto/md4: Move AC_LIBOBJ invocations to module description.
12357         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
12358         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
12359
12360 2011-05-23  Bruno Haible  <bruno@clisp.org>
12361
12362         crypto/md2: Move AC_LIBOBJ invocations to module description.
12363         * m4/md2.m4: Remove file.
12364         * modules/crypto/md2 (Files): Remove it.
12365         (configure.ac): Remove gl_MD2 call.
12366         (Makefile.am): Augment lib_SOURCES.
12367
12368 2011-05-23  Bruno Haible  <bruno@clisp.org>
12369
12370         long-options: Move AC_LIBOBJ invocations to module description.
12371         * m4/long-options.m4: Remove file.
12372         * modules/long-options (Files): Remove it.
12373         (configure.ac): Remove gl_LONG_OPTIONS call.
12374         (Makefile.am): Augment lib_SOURCES.
12375
12376 2011-05-23  Bruno Haible  <bruno@clisp.org>
12377
12378         i-ring: Move AC_LIBOBJ invocations to module description.
12379         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
12380         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
12381
12382 2011-05-23  Bruno Haible  <bruno@clisp.org>
12383
12384         idcache: Move AC_LIBOBJ invocations to module description.
12385         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
12386         * modules/idcache (Makefile.am): Augment lib_SOURCES.
12387
12388 2011-05-23  Bruno Haible  <bruno@clisp.org>
12389
12390         human: Move AC_LIBOBJ invocations to module description.
12391         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
12392         * modules/human (Makefile.am): Augment lib_SOURCES.
12393
12394 2011-05-23  Bruno Haible  <bruno@clisp.org>
12395
12396         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
12397         * m4/hmac-sha1.m4: Remove file.
12398         * modules/crypto/hmac-sha1 (Files): Remove it.
12399         (configure.ac): Remove gl_HMAC_SHA1 call.
12400         (Makefile.am): Augment lib_SOURCES.
12401
12402 2011-05-23  Bruno Haible  <bruno@clisp.org>
12403
12404         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
12405         * m4/hmac-md5.m4: Remove file.
12406         * modules/crypto/hmac-md5 (Files): Remove it.
12407         (configure.ac): Remove gl_HMAC_MD5 call.
12408         (Makefile.am): Augment lib_SOURCES.
12409
12410 2011-05-23  Bruno Haible  <bruno@clisp.org>
12411
12412         hash: Move AC_LIBOBJ invocations to module description.
12413         * m4/hash.m4: Remove file.
12414         * modules/hash (Files): Remove it.
12415         (configure.ac): Remove gl_HASH call.
12416         (Makefile.am): Augment lib_SOURCES.
12417
12418 2011-05-23  Bruno Haible  <bruno@clisp.org>
12419
12420         hard-locale: Move AC_LIBOBJ invocations to module description.
12421         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
12422         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
12423
12424 2011-05-23  Bruno Haible  <bruno@clisp.org>
12425
12426         getugroups: Move AC_LIBOBJ invocations to module description.
12427         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
12428         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
12429
12430 2011-05-23  Bruno Haible  <bruno@clisp.org>
12431
12432         gettime: Move AC_LIBOBJ invocations to module description.
12433         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
12434         * modules/gettime (Makefile.am): Augment lib_SOURCES.
12435
12436 2011-05-23  Bruno Haible  <bruno@clisp.org>
12437
12438         getndelim2: Move AC_LIBOBJ invocations to module description.
12439         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
12440         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
12441
12442 2011-05-23  Bruno Haible  <bruno@clisp.org>
12443
12444         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
12445         * m4/gc-pbkdf2-sha1.m4: Remove file.
12446         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
12447         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
12448         (Makefile.am): Augment lib_SOURCES.
12449
12450 2011-05-23  Bruno Haible  <bruno@clisp.org>
12451
12452         fts: Move AC_LIBOBJ invocations to module description.
12453         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
12454         * modules/fts (configure.ac): ... to here.
12455
12456 2011-05-23  Bruno Haible  <bruno@clisp.org>
12457
12458         file-type: Move AC_LIBOBJ invocations to module description.
12459         * m4/file-type.m4: Remove file.
12460         * modules/file-type (Files): Remove it.
12461         (configure.ac): Remove gl_FILE_TYPE call.
12462         (Makefile.am): Augment lib_SOURCES.
12463
12464 2011-05-23  Bruno Haible  <bruno@clisp.org>
12465
12466         filenamecat*: Respect rules for use of AC_LIBOBJ.
12467         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
12468         Remove AC_LIBOBJ invocation.
12469         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
12470         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
12471
12472 2011-05-23  Bruno Haible  <bruno@clisp.org>
12473
12474         filemode: Move AC_LIBOBJ invocations to module description.
12475         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
12476         * modules/filemode (Makefile.am): Augment lib_SOURCES.
12477
12478 2011-05-23  Bruno Haible  <bruno@clisp.org>
12479
12480         openat-safer: Move AC_LIBOBJ invocations to module description.
12481         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
12482         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
12483
12484 2011-05-23  Bruno Haible  <bruno@clisp.org>
12485
12486         fcntl-safer: Move AC_LIBOBJ invocations to module description.
12487         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
12488         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
12489
12490 2011-05-23  Bruno Haible  <bruno@clisp.org>
12491
12492         exclude: Move AC_LIBOBJ invocations to module description.
12493         * m4/exclude.m4: Remove file.
12494         * modules/exclude (Files): Remove it.
12495         (configure.ac): Remove gl_EXCLUDE call.
12496         (Makefile.am): Augment lib_SOURCES.
12497
12498 2011-05-23  Bruno Haible  <bruno@clisp.org>
12499
12500         dirname*: Respect rules for use of AC_LIBOBJ.
12501         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
12502         invocations.
12503         * modules/dirname (Makefile.am): Augment lib_SOURCES.
12504         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
12505
12506 2011-05-23  Bruno Haible  <bruno@clisp.org>
12507
12508         dirent-safer: Move AC_LIBOBJ invocations to module description.
12509         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
12510         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
12511
12512 2011-05-23  Bruno Haible  <bruno@clisp.org>
12513
12514         crypto/des: Move AC_LIBOBJ invocations to module description.
12515         * m4/des.m4: Remove file.
12516         * modules/crypto/des (Files): Remove it.
12517         (configure.ac): Remove gl_DES call.
12518         (Makefile.am): Augment lib_SOURCES.
12519
12520 2011-05-23  Bruno Haible  <bruno@clisp.org>
12521
12522         cycle-check: Move AC_LIBOBJ invocations to module description.
12523         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
12524         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
12525
12526 2011-05-23  Bruno Haible  <bruno@clisp.org>
12527
12528         c-strtold: Move AC_LIBOBJ invocations to module description.
12529         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
12530         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
12531
12532 2011-05-23  Bruno Haible  <bruno@clisp.org>
12533
12534         c-strtod: Move AC_LIBOBJ invocations to module description.
12535         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
12536         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
12537
12538 2011-05-23  Bruno Haible  <bruno@clisp.org>
12539
12540         crc: Move AC_LIBOBJ invocations to module description.
12541         * m4/crc.m4: Remove file.
12542         * modules/crc (Files): Remove it.
12543         (configure.ac): Remove gl_CRC call.
12544         (Makefile.am): Augment lib_SOURCES.
12545
12546 2011-05-23  Bruno Haible  <bruno@clisp.org>
12547
12548         close-stream: Move AC_LIBOBJ invocations to module description.
12549         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
12550         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
12551
12552 2011-05-23  Bruno Haible  <bruno@clisp.org>
12553
12554         closeout: Move AC_LIBOBJ invocations to module description.
12555         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
12556         * modules/closeout (Makefile.am): Augment lib_SOURCES.
12557
12558 2011-05-23  Bruno Haible  <bruno@clisp.org>
12559
12560         closein: Move AC_LIBOBJ invocations to module description.
12561         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
12562         * modules/closein (Makefile.am): Augment lib_SOURCES.
12563
12564 2011-05-23  Bruno Haible  <bruno@clisp.org>
12565
12566         cloexec: Move AC_LIBOBJ invocations to module description.
12567         * m4/cloexec.m4: Remove file.
12568         * modules/cloexec (Files): Remove it.
12569         (configure.ac): Remove gl_CLOEXEC call.
12570         (Makefile.am): Augment lib_SOURCES.
12571
12572 2011-05-23  Bruno Haible  <bruno@clisp.org>
12573
12574         check-version: Move AC_LIBOBJ invocations to module description.
12575         * m4/check-version.m4: Remove file.
12576         * modules/check-version (Files): Remove it.
12577         (configure.ac): Remove gl_CHECK_VERSION call.
12578         (Makefile.am): Augment lib_SOURCES.
12579
12580 2011-05-23  Bruno Haible  <bruno@clisp.org>
12581
12582         chdir-safer: Move AC_LIBOBJ invocations to module description.
12583         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
12584         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
12585
12586 2011-05-23  Bruno Haible  <bruno@clisp.org>
12587
12588         canonicalize: Move AC_LIBOBJ invocations to module description.
12589         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
12590         AC_LIBOBJ invocation.
12591         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
12592
12593 2011-05-23  Bruno Haible  <bruno@clisp.org>
12594
12595         canon-host: Move AC_LIBOBJ invocations to module description.
12596         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
12597         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
12598         instead of gl_CANON_HOST.
12599         (Makefile.am): Augment lib_SOURCES.
12600
12601 2011-05-23  Bruno Haible  <bruno@clisp.org>
12602
12603         backupfile: Move AC_LIBOBJ invocations to module description.
12604         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
12605         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
12606
12607 2011-05-23  Bruno Haible  <bruno@clisp.org>
12608
12609         argmatch: Move AC_LIBOBJ invocations to module description.
12610         * m4/argmatch.m4: Remove file.
12611         * modules/argmatch (Files): Remove it.
12612         (configure.ac): Remove gl_ARGMATCH call.
12613         (Makefile.am): Augment lib_SOURCES.
12614
12615 2011-05-23  Bruno Haible  <bruno@clisp.org>
12616
12617         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
12618         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
12619         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
12620
12621 2011-05-23  Bruno Haible  <bruno@clisp.org>
12622
12623         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
12624         * m4/arcfour.m4: Remove file.
12625         * modules/crypto/arcfour (Files): Remove it.
12626         (configure.ac): Remove gl_ARCFOUR call.
12627         (Makefile.am): Augment lib_SOURCES.
12628
12629 2011-05-22  Bruno Haible  <bruno@clisp.org>
12630
12631         write: Move AC_LIBOBJ invocations to module description.
12632         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
12633         * modules/write (configure.ac): ... to here.
12634
12635 2011-05-22  Bruno Haible  <bruno@clisp.org>
12636
12637         wmemset: Move AC_LIBOBJ invocations to module description.
12638         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
12639         here...
12640         * modules/wmemset (configure.ac): ... to here.
12641
12642 2011-05-22  Bruno Haible  <bruno@clisp.org>
12643
12644         wmemmove: Move AC_LIBOBJ invocations to module description.
12645         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
12646         here...
12647         * modules/wmemmove (configure.ac): ... to here.
12648
12649 2011-05-22  Bruno Haible  <bruno@clisp.org>
12650
12651         wmemcpy: Move AC_LIBOBJ invocations to module description.
12652         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
12653         here...
12654         * modules/wmemcpy (configure.ac): ... to here.
12655
12656 2011-05-22  Bruno Haible  <bruno@clisp.org>
12657
12658         wmemcmp: Move AC_LIBOBJ invocations to module description.
12659         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
12660         here...
12661         * modules/wmemcmp (configure.ac): ... to here.
12662
12663 2011-05-22  Bruno Haible  <bruno@clisp.org>
12664
12665         wmemchr: Move AC_LIBOBJ invocations to module description.
12666         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
12667         here...
12668         * modules/wmemchr (configure.ac): ... to here.
12669
12670 2011-05-22  Bruno Haible  <bruno@clisp.org>
12671
12672         wcswidth: Move AC_LIBOBJ invocations to module description.
12673         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
12674         here...
12675         * modules/wcswidth (configure.ac): ... to here.
12676
12677 2011-05-22  Bruno Haible  <bruno@clisp.org>
12678
12679         wcwidth: Respect rules for use of AC_LIBOBJ.
12680         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
12681         invocation from here...
12682         * modules/wcwidth (configure.ac): ... to here.
12683         (Depends-on): Update conditions.
12684
12685 2011-05-22  Bruno Haible  <bruno@clisp.org>
12686
12687         wctype: Move AC_LIBOBJ invocations to module description.
12688         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
12689         invocation from here...
12690         * modules/wctype (configure.ac): ... to here.
12691         (Depends-on): Update conditions.
12692
12693 2011-05-22  Bruno Haible  <bruno@clisp.org>
12694
12695         wctrans: Move AC_LIBOBJ invocations to module description.
12696         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
12697         invocation from here...
12698         * modules/wctrans (configure.ac): ... to here.
12699
12700 2011-05-22  Bruno Haible  <bruno@clisp.org>
12701
12702         wctomb: Move AC_LIBOBJ invocations to module description.
12703         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
12704         invocations from here...
12705         * modules/wctomb (configure.ac): ... to here.
12706
12707 2011-05-22  Bruno Haible  <bruno@clisp.org>
12708
12709         wctob: Move AC_LIBOBJ invocations to module description.
12710         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
12711         gl_PREREQ_WCTOB invocations from here...
12712         * modules/wctob (configure.ac): ... to here.
12713         (Depends-on): Update conditions.
12714
12715 2011-05-22  Bruno Haible  <bruno@clisp.org>
12716
12717         wcsxfrm: Move AC_LIBOBJ invocations to module description.
12718         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
12719         here...
12720         * modules/wcsxfrm (configure.ac): ... to here.
12721
12722 2011-05-22  Bruno Haible  <bruno@clisp.org>
12723
12724         wcstok: Move AC_LIBOBJ invocations to module description.
12725         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
12726         * modules/wcstok (configure.ac): ... to here.
12727
12728 2011-05-22  Bruno Haible  <bruno@clisp.org>
12729
12730         wcsstr: Move AC_LIBOBJ invocations to module description.
12731         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
12732         * modules/wcsstr (configure.ac): ... to here.
12733
12734 2011-05-22  Bruno Haible  <bruno@clisp.org>
12735
12736         wcsspn: Move AC_LIBOBJ invocations to module description.
12737         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
12738         * modules/wcsspn (configure.ac): ... to here.
12739
12740 2011-05-22  Bruno Haible  <bruno@clisp.org>
12741
12742         wcsrtombs: Move AC_LIBOBJ invocations to module description.
12743         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
12744         gl_PREREQ_WCSRTOMBS invocations from here...
12745         * modules/wcsrtombs (configure.ac): ... to here.
12746
12747 2011-05-22  Bruno Haible  <bruno@clisp.org>
12748
12749         wcsrchr: Move AC_LIBOBJ invocations to module description.
12750         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
12751         here...
12752         * modules/wcsrchr (configure.ac): ... to here.
12753
12754 2011-05-22  Bruno Haible  <bruno@clisp.org>
12755
12756         wcspbrk: Move AC_LIBOBJ invocations to module description.
12757         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
12758         here...
12759         * modules/wcspbrk (configure.ac): ... to here.
12760
12761 2011-05-22  Bruno Haible  <bruno@clisp.org>
12762
12763         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
12764         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
12765         gl_PREREQ_WCSNRTOMBS invocations from here...
12766         * modules/wcsnrtombs (configure.ac): ... to here.
12767
12768 2011-05-22  Bruno Haible  <bruno@clisp.org>
12769
12770         wcsnlen: Move AC_LIBOBJ invocations to module description.
12771         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
12772         here...
12773         * modules/wcsnlen (configure.ac): ... to here.
12774
12775 2011-05-22  Bruno Haible  <bruno@clisp.org>
12776
12777         wcsncpy: Move AC_LIBOBJ invocations to module description.
12778         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
12779         here...
12780         * modules/wcsncpy (configure.ac): ... to here.
12781
12782 2011-05-22  Bruno Haible  <bruno@clisp.org>
12783
12784         wcsncmp: Move AC_LIBOBJ invocations to module description.
12785         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
12786         here...
12787         * modules/wcsncmp (configure.ac): ... to here.
12788
12789 2011-05-22  Bruno Haible  <bruno@clisp.org>
12790
12791         wcsncat: Move AC_LIBOBJ invocations to module description.
12792         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
12793         here...
12794         * modules/wcsncat (configure.ac): ... to here.
12795
12796 2011-05-22  Bruno Haible  <bruno@clisp.org>
12797
12798         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
12799         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
12800         from here...
12801         * modules/wcsncasecmp (configure.ac): ... to here.
12802
12803 2011-05-22  Bruno Haible  <bruno@clisp.org>
12804
12805         wcslen: Move AC_LIBOBJ invocations to module description.
12806         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
12807         * modules/wcslen (configure.ac): ... to here.
12808
12809 2011-05-22  Bruno Haible  <bruno@clisp.org>
12810
12811         wcsdup: Move AC_LIBOBJ invocations to module description.
12812         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
12813         * modules/wcsdup (configure.ac): ... to here.
12814
12815 2011-05-22  Bruno Haible  <bruno@clisp.org>
12816
12817         wcscspn: Move AC_LIBOBJ invocations to module description.
12818         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
12819         here...
12820         * modules/wcscspn (configure.ac): ... to here.
12821
12822 2011-05-22  Bruno Haible  <bruno@clisp.org>
12823
12824         wcscpy: Move AC_LIBOBJ invocations to module description.
12825         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
12826         * modules/wcscpy (configure.ac): ... to here.
12827
12828 2011-05-22  Bruno Haible  <bruno@clisp.org>
12829
12830         wcscoll: Move AC_LIBOBJ invocations to module description.
12831         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
12832         here...
12833         * modules/wcscoll (configure.ac): ... to here.
12834
12835 2011-05-22  Bruno Haible  <bruno@clisp.org>
12836
12837         wcscmp: Move AC_LIBOBJ invocations to module description.
12838         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
12839         * modules/wcscmp (configure.ac): ... to here.
12840
12841 2011-05-22  Bruno Haible  <bruno@clisp.org>
12842
12843         wcschr: Move AC_LIBOBJ invocations to module description.
12844         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
12845         * modules/wcschr (configure.ac): ... to here.
12846
12847 2011-05-22  Bruno Haible  <bruno@clisp.org>
12848
12849         wcscat: Move AC_LIBOBJ invocations to module description.
12850         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
12851         * modules/wcscat (configure.ac): ... to here.
12852
12853 2011-05-22  Bruno Haible  <bruno@clisp.org>
12854
12855         wcscasecmp: Move AC_LIBOBJ invocations to module description.
12856         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
12857         here...
12858         * modules/wcscasecmp (configure.ac): ... to here.
12859
12860 2011-05-22  Bruno Haible  <bruno@clisp.org>
12861
12862         wcrtomb: Move AC_LIBOBJ invocations to module description.
12863         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
12864         invocations from here...
12865         * modules/wcrtomb (configure.ac): ... to here.
12866
12867 2011-05-22  Bruno Haible  <bruno@clisp.org>
12868
12869         wcpncpy: Move AC_LIBOBJ invocations to module description.
12870         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
12871         here...
12872         * modules/wcpncpy (configure.ac): ... to here.
12873
12874 2011-05-22  Bruno Haible  <bruno@clisp.org>
12875
12876         wcpcpy: Move AC_LIBOBJ invocations to module description.
12877         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
12878         * modules/wcpcpy (configure.ac): ... to here.
12879
12880 2011-05-22  Bruno Haible  <bruno@clisp.org>
12881
12882         waitpid: Move AC_LIBOBJ invocations to module description.
12883         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
12884         invocation from here...
12885         * modules/waitpid (configure.ac): ... to here.
12886
12887 2011-05-22  Bruno Haible  <bruno@clisp.org>
12888
12889         utimensat: Move AC_LIBOBJ invocations to module description.
12890         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
12891         here...
12892         * modules/utimensat (configure.ac): ... to here.
12893
12894 2011-05-22  Bruno Haible  <bruno@clisp.org>
12895
12896         usleep: Move AC_LIBOBJ invocations to module description.
12897         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
12898         here...
12899         * modules/usleep (configure.ac): ... to here.
12900
12901 2011-05-22  Bruno Haible  <bruno@clisp.org>
12902
12903         unlockpt: Move AC_LIBOBJ invocations to module description.
12904         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
12905         gl_PREREQ_UNLOCKPT invocations from here...
12906         * modules/unlockpt (configure.ac): ... to here.
12907
12908 2011-05-22  Bruno Haible  <bruno@clisp.org>
12909
12910         unlink: Respect rules for use of AC_LIBOBJ.
12911         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
12912         * modules/unlink (configure.ac): ... to here.
12913
12914 2011-05-22  Bruno Haible  <bruno@clisp.org>
12915
12916         uname: Move AC_LIBOBJ invocations to module description.
12917         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
12918         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
12919         here...
12920         * modules/uname (configure.ac): ... to here.
12921
12922 2011-05-22  Bruno Haible  <bruno@clisp.org>
12923
12924         ttyname_r: Move AC_LIBOBJ invocations to module description.
12925         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
12926         gl_PREREQ_TTYNAME_R invocations from here...
12927         * modules/ttyname_r (configure.ac): ... to here.
12928
12929 2011-05-22  Bruno Haible  <bruno@clisp.org>
12930
12931         tsearch: Move AC_LIBOBJ invocations to module description.
12932         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
12933         invocations from here...
12934         * modules/tsearch (configure.ac): ... to here.
12935
12936 2011-05-22  Bruno Haible  <bruno@clisp.org>
12937
12938         towctrans: Move AC_LIBOBJ invocations to module description.
12939         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
12940         AC_LIBOBJ invocation from here...
12941         * modules/towctrans (configure.ac): ... to here.
12942
12943 2011-05-22  Bruno Haible  <bruno@clisp.org>
12944
12945         tmpfile: Move AC_LIBOBJ invocations to module description.
12946         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
12947         invocations from here...
12948         * modules/tmpfile (configure.ac): ... to here.
12949
12950 2011-05-22  Bruno Haible  <bruno@clisp.org>
12951
12952         times: Move AC_LIBOBJ invocations to module description.
12953         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
12954         * modules/times (configure.ac): ... to here.
12955
12956 2011-05-22  Bruno Haible  <bruno@clisp.org>
12957
12958         time_r: Move AC_LIBOBJ invocations to module description.
12959         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
12960         invocations from here...
12961         * modules/time_r (configure.ac): ... to here.
12962
12963 2011-05-22  Bruno Haible  <bruno@clisp.org>
12964
12965         timegm: Move AC_LIBOBJ invocations to module description.
12966         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
12967         invocations from here...
12968         * modules/timegm (configure.ac): ... to here.
12969
12970 2011-05-22  Bruno Haible  <bruno@clisp.org>
12971
12972         tcgetsid: Move AC_LIBOBJ invocations to module description.
12973         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
12974         and gl_PREREQ_TCGETSID invocations from here...
12975         * modules/tcgetsid (configure.ac): ... to here.
12976         (Depends-on): Update conditions.
12977
12978 2011-05-22  Bruno Haible  <bruno@clisp.org>
12979
12980         symlinkat: Move AC_LIBOBJ invocations to module description.
12981         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
12982         here...
12983         * modules/symlinkat (configure.ac): ... to here.
12984
12985 2011-05-22  Bruno Haible  <bruno@clisp.org>
12986
12987         symlink: Move AC_LIBOBJ invocations to module description.
12988         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
12989         here...
12990         * modules/symlink (configure.ac): ... to here.
12991
12992 2011-05-22  Bruno Haible  <bruno@clisp.org>
12993
12994         strverscmp: Move AC_LIBOBJ invocations to module description.
12995         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
12996         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
12997         from here...
12998         * modules/strverscmp (configure.ac): ... to here.
12999
13000 2011-05-22  Bruno Haible  <bruno@clisp.org>
13001
13002         strtok_r: Move AC_LIBOBJ invocations to module description.
13003         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
13004         and gl_PREREQ_STRTOK_R invocations from here...
13005         * modules/strtok_r (configure.ac): ... to here.
13006         (Depends-on): Update conditions.
13007
13008 2011-05-22  Bruno Haible  <bruno@clisp.org>
13009
13010         strtoumax: Move AC_LIBOBJ invocations to module description.
13011         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
13012         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
13013         from here...
13014         * modules/strtoumax (configure.ac): ... to here.
13015
13016 2011-05-22  Bruno Haible  <bruno@clisp.org>
13017
13018         strtoimax: Move AC_LIBOBJ invocations to module description.
13019         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
13020         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
13021         from here...
13022         * modules/strtoimax (configure.ac): ... to here.
13023
13024 2011-05-22  Bruno Haible  <bruno@clisp.org>
13025
13026         strtoull: Move AC_LIBOBJ invocations to module description.
13027         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
13028         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
13029         from here...
13030         * modules/strtoull (configure.ac): ... to here.
13031
13032 2011-05-22  Bruno Haible  <bruno@clisp.org>
13033
13034         strtoll: Move AC_LIBOBJ invocations to module description.
13035         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
13036         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
13037         here...
13038         * modules/strtoll (configure.ac): ... to here.
13039
13040 2011-05-22  Bruno Haible  <bruno@clisp.org>
13041
13042         strtoul: Move AC_LIBOBJ invocations to module description.
13043         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
13044         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
13045         * modules/strtoul (configure.ac): ... to here.
13046
13047 2011-05-22  Bruno Haible  <bruno@clisp.org>
13048
13049         strtol: Move AC_LIBOBJ invocations to module description.
13050         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
13051         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
13052         * modules/strtol (configure.ac): ... to here.
13053
13054 2011-05-22  Bruno Haible  <bruno@clisp.org>
13055
13056         strtod: Move AC_LIBOBJ invocations to module description.
13057         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
13058         invocations from here...
13059         * modules/strtod (configure.ac): ... to here.
13060
13061 2011-05-22  Bruno Haible  <bruno@clisp.org>
13062
13063         strstr*: Move AC_LIBOBJ invocations to module description.
13064         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
13065         invocations from here...
13066         * modules/strstr-simple (configure.ac): ... to here.
13067         * modules/strstr (configure.ac): ... and here.
13068
13069 2011-05-22  Bruno Haible  <bruno@clisp.org>
13070
13071         strsignal: Move AC_LIBOBJ invocations to module description.
13072         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
13073         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
13074         * modules/strsignal (configure.ac): ... to here.
13075         (Depends-on): Update conditions.
13076
13077 2011-05-22  Bruno Haible  <bruno@clisp.org>
13078
13079         strsep: Move AC_LIBOBJ invocations to module description.
13080         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
13081         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
13082         here...
13083         * modules/strsep (configure.ac): ... to here.
13084
13085 2011-05-22  Bruno Haible  <bruno@clisp.org>
13086
13087         strptime: Move AC_LIBOBJ invocations to module description.
13088         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
13089         gl_PREREQ_STRPTIME invocations from here...
13090         * modules/strptime (configure.ac): ... to here.
13091
13092 2011-05-22  Bruno Haible  <bruno@clisp.org>
13093
13094         strpbrk: Move AC_LIBOBJ invocations to module description.
13095         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
13096         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
13097         here...
13098         * modules/strpbrk (configure.ac): ... to here.
13099
13100 2011-05-22  Bruno Haible  <bruno@clisp.org>
13101
13102         strnlen: Move AC_LIBOBJ invocations to module description.
13103         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
13104         invocations from here...
13105         * modules/strnlen (configure.ac): ... to here.
13106
13107 2011-05-22  Bruno Haible  <bruno@clisp.org>
13108
13109         strndup: Move AC_LIBOBJ invocations to module description.
13110         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
13111         invocations from here...
13112         * modules/strndup (configure.ac): ... to here.
13113         (Depends-on): Update conditions.
13114
13115 2011-05-22  Bruno Haible  <bruno@clisp.org>
13116
13117         strncat: Move AC_LIBOBJ invocations to module description.
13118         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
13119         invocations from here...
13120         * modules/strncat (configure.ac): ... to here.
13121
13122 2011-05-22  Bruno Haible  <bruno@clisp.org>
13123
13124         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
13125         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
13126         invocations from here...
13127         * modules/strdup (configure.ac): ... to here.
13128         * modules/strdup-posix (configure.ac): ... and here.
13129
13130 2011-05-22  Bruno Haible  <bruno@clisp.org>
13131
13132         strcspn: Move AC_LIBOBJ invocations to module description.
13133         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
13134         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
13135         here...
13136         * modules/strcspn (configure.ac): ... to here.
13137
13138 2011-05-22  Bruno Haible  <bruno@clisp.org>
13139
13140         strchrnul: Move AC_LIBOBJ invocations to module description.
13141         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
13142         gl_PREREQ_STRCHRNUL invocations from here...
13143         * modules/strchrnul (configure.ac): ... to here.
13144
13145 2011-05-22  Bruno Haible  <bruno@clisp.org>
13146
13147         strcasestr*: Move AC_LIBOBJ invocations to module description.
13148         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
13149         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
13150         * modules/strcasestr-simple (configure.ac): ... to here.
13151         * modules/strcasestr (configure.ac): ... and here.
13152
13153 2011-05-22  Bruno Haible  <bruno@clisp.org>
13154
13155         strcase: Move AC_LIBOBJ invocations to module description.
13156         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
13157         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
13158         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
13159         gl_PREREQ_STRNCASECMP invocations from here...
13160         * modules/strcase (configure.ac): ... to here.
13161
13162 2011-05-22  Bruno Haible  <bruno@clisp.org>
13163
13164         stpncpy: Move AC_LIBOBJ invocations to module description.
13165         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
13166         here...
13167         * modules/stpncpy (configure.ac): ... to here.
13168
13169 2011-05-22  Bruno Haible  <bruno@clisp.org>
13170
13171         stpcpy: Move AC_LIBOBJ invocations to module description.
13172         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
13173         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
13174         here...
13175         * modules/stpcpy (configure.ac): ... to here.
13176
13177 2011-05-21  Bruno Haible  <bruno@clisp.org>
13178
13179         stat: Move AC_LIBOBJ invocations to module description.
13180         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
13181         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
13182         here...
13183         * modules/stat (configure.ac): ... to here.
13184
13185 2011-05-21  Bruno Haible  <bruno@clisp.org>
13186
13187         sleep: Move AC_LIBOBJ invocations to module description.
13188         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
13189         * modules/sleep (configure.ac): ... to here.
13190
13191 2011-05-21  Bruno Haible  <bruno@clisp.org>
13192
13193         signbit: Move AC_LIBOBJ invocations to module description.
13194         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
13195         * modules/signbit (configure.ac): ... to here.
13196
13197 2011-05-21  Bruno Haible  <bruno@clisp.org>
13198
13199         sigprocmask: Move AC_LIBOBJ invocations to module description.
13200         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
13201         gl_PREREQ_SIGPROMASK invocations from here...
13202         * modules/sigprocmask (configure.ac): ... to here.
13203
13204 2011-05-21  Bruno Haible  <bruno@clisp.org>
13205
13206         sigaction: Move AC_LIBOBJ invocations to module description.
13207         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
13208         gl_PREREQ_SIGACTION invocations from here...
13209         * modules/sigaction (configure.ac): ... to here.
13210
13211 2011-05-21  Bruno Haible  <bruno@clisp.org>
13212
13213         sig2str: Move AC_LIBOBJ invocations to module description.
13214         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
13215         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
13216         here...
13217         * modules/sig2str (configure.ac): ... to here.
13218
13219 2011-05-21  Bruno Haible  <bruno@clisp.org>
13220
13221         setlocale: Move AC_LIBOBJ invocations to module description.
13222         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
13223         gl_PREREQ_SETLOCALE invocations from here...
13224         * modules/setlocale (configure.ac): ... to here.
13225
13226 2011-05-21  Bruno Haible  <bruno@clisp.org>
13227
13228         unsetenv: Move AC_LIBOBJ invocations to module description.
13229         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
13230         and gl_PREREQ_UNSETENV invocations from here...
13231         * modules/unsetenv (configure.ac): ... to here.
13232         (Depends-on): Update.
13233
13234 2011-05-21  Bruno Haible  <bruno@clisp.org>
13235
13236         setenv: Move AC_LIBOBJ invocations to module description.
13237         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
13238         here...
13239         * modules/setenv (configure.ac): ... to here.
13240
13241 2011-05-21  Bruno Haible  <bruno@clisp.org>
13242
13243         selinux-h: Move AC_LIBOBJ invocations to module description.
13244         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
13245         AC_LIBOBJ invocation from here...
13246         * modules/selinux-h (configure.ac): ... to here.
13247
13248 2011-05-21  Bruno Haible  <bruno@clisp.org>
13249
13250         select: Respect rules for use of AC_LIBOBJ.
13251         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
13252         here...
13253         * modules/select (configure.ac): ... to here.
13254
13255 2011-05-21  Bruno Haible  <bruno@clisp.org>
13256
13257         scandir: Move AC_LIBOBJ invocations to module description.
13258         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
13259         invocations from here...
13260         * modules/scandir (configure.ac): ... to here.
13261
13262 2011-05-21  Bruno Haible  <bruno@clisp.org>
13263
13264         rpmatch: Move AC_LIBOBJ invocations to module description.
13265         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
13266         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
13267         here...
13268         * modules/rpmatch (configure.ac): ... to here.
13269
13270 2011-05-21  Bruno Haible  <bruno@clisp.org>
13271
13272         rmdir: Respect rules for use of AC_LIBOBJ.
13273         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
13274         * modules/rmdir (configure.ac): ... to here.
13275
13276 2011-05-21  Bruno Haible  <bruno@clisp.org>
13277
13278         renameat: Move AC_LIBOBJ invocations to module description.
13279         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
13280         here...
13281         * modules/renameat (configure.ac): ... to here.
13282
13283 2011-05-21  Bruno Haible  <bruno@clisp.org>
13284
13285         rename: Respect rules for use of AC_LIBOBJ.
13286         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
13287         here...
13288         * modules/rename (configure.ac): ... to here.
13289
13290 2011-05-21  Bruno Haible  <bruno@clisp.org>
13291
13292         remove: Move AC_LIBOBJ invocations to module description.
13293         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
13294         here...
13295         * modules/remove (configure.ac): ... to here.
13296
13297 2011-05-21  Bruno Haible  <bruno@clisp.org>
13298
13299         relocatable-lib: Move AC_LIBOBJ invocations to module description.
13300         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
13301         macro.
13302         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
13303         * modules/relocatable-lib (configure.ac): ... to here.
13304         * modules/relocatable-prog-wrapper (configure.ac): Invoke
13305         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
13306
13307 2011-05-21  Bruno Haible  <bruno@clisp.org>
13308
13309         relocatable-prog: Move AC_LIBOBJ invocations to module description.
13310         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
13311         here...
13312         * modules/relocatable-prog (configure.ac): ... to here.
13313
13314 2011-05-21  Bruno Haible  <bruno@clisp.org>
13315
13316         regex: Move AC_LIBOBJ invocations to module description.
13317         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
13318         invocations from here...
13319         * modules/regex (configure.ac): ... to here.
13320
13321 2011-05-21  Bruno Haible  <bruno@clisp.org>
13322
13323         realloc-*: Move AC_LIBOBJ invocations to module description.
13324         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
13325         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
13326         AC_LIBOBJ invocations from here...
13327         * modules/realloc-gnu (configure.ac): ... to here.
13328         * modules/realloc-posix (configure.ac): ... and here.
13329
13330 2011-05-21  Bruno Haible  <bruno@clisp.org>
13331
13332         readutmp: Move AC_LIBOBJ invocations to module description.
13333         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
13334         * modules/readutmp (configure.ac): ... to here.
13335
13336 2011-05-21  Bruno Haible  <bruno@clisp.org>
13337
13338         readlinkat: Move AC_LIBOBJ invocations to module description.
13339         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
13340         here...
13341         * modules/readlinkat (configure.ac): ... to here.
13342
13343 2011-05-21  Bruno Haible  <bruno@clisp.org>
13344
13345         readlink: Move AC_LIBOBJ invocations to module description.
13346         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
13347         gl_PREREQ_READLINK invocations from here...
13348         * modules/readlink (configure.ac): ... to here.
13349
13350 2011-05-21  Bruno Haible  <bruno@clisp.org>
13351
13352         readline: Move AC_LIBOBJ invocations to module description.
13353         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
13354         gl_PREREQ_READLINE invocations from here...
13355         * modules/readline (configure.ac): ... to here.
13356
13357 2011-05-21  Bruno Haible  <bruno@clisp.org>
13358
13359         read: Move AC_LIBOBJ invocations to module description.
13360         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
13361         * modules/read (configure.ac): ... to here.
13362
13363 2011-05-21  Bruno Haible  <bruno@clisp.org>
13364
13365         rawmemchr: Move AC_LIBOBJ invocations to module description.
13366         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
13367         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
13368         from here...
13369         * modules/rawmemchr (configure.ac): ... to here.
13370
13371 2011-05-21  Bruno Haible  <bruno@clisp.org>
13372
13373         random_r: Move AC_LIBOBJ invocations to module description.
13374         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
13375         gl_PREREQ_RANDOM_R invocations from here...
13376         * modules/random_r (configure.ac): ... to here.
13377
13378 2011-05-21  Bruno Haible  <bruno@clisp.org>
13379
13380         pwrite: Move AC_LIBOBJ invocations to module description.
13381         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
13382         * modules/pwrite (configure.ac): ... to here.
13383
13384 2011-05-21  Bruno Haible  <bruno@clisp.org>
13385
13386         putenv: Move AC_LIBOBJ invocations to module description.
13387         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
13388         * modules/putenv (configure.ac): ... to here.
13389
13390 2011-05-21  Bruno Haible  <bruno@clisp.org>
13391
13392         login_tty: Move AC_LIBOBJ invocations to module description.
13393         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
13394         * modules/login_tty (configure.ac): ... to here.
13395
13396 2011-05-21  Bruno Haible  <bruno@clisp.org>
13397
13398         openpty: Move AC_LIBOBJ invocations to module description.
13399         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
13400         * modules/openpty (configure.ac): ... to here.
13401
13402 2011-05-21  Bruno Haible  <bruno@clisp.org>
13403
13404         forkpty: Move AC_LIBOBJ invocations to module description.
13405         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
13406         * modules/forkpty (configure.ac): ... to here.
13407
13408 2011-05-21  Bruno Haible  <bruno@clisp.org>
13409
13410         ptsname: Move AC_LIBOBJ invocations to module description.
13411         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
13412         invocations from here...
13413         * modules/ptsname (configure.ac): ... to here.
13414
13415 2011-05-21  Bruno Haible  <bruno@clisp.org>
13416
13417         pread: Move AC_LIBOBJ invocations to module description.
13418         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
13419         * modules/pread (configure.ac): ... to here.
13420
13421 2011-05-21  Bruno Haible  <bruno@clisp.org>
13422
13423         posix_spawn*: Move AC_LIBOBJ invocations to module description.
13424         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
13425         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
13426         * modules/posix_spawn (configure.ac): ... to here.
13427         * modules/posix_spawnp (configure.ac): ... and here.
13428
13429 2011-05-21  Bruno Haible  <bruno@clisp.org>
13430
13431         popen: Move AC_LIBOBJ invocations to module description.
13432         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
13433         invocations from here...
13434         * modules/popen (configure.ac): ... to here.
13435
13436 2011-05-21  Bruno Haible  <bruno@clisp.org>
13437
13438         poll: Move AC_LIBOBJ invocations to module description.
13439         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
13440         invocations from here...
13441         * modules/poll (configure.ac): ... to here.
13442
13443 2011-05-21  Bruno Haible  <bruno@clisp.org>
13444
13445         pipe-posix: Move AC_LIBOBJ invocations to module description.
13446         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
13447         * modules/pipe-posix (configure.ac): ... to here.
13448
13449 2011-05-21  Bruno Haible  <bruno@clisp.org>
13450
13451         openat: Respect rules for use of AC_LIBOBJ.
13452         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
13453         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
13454         * modules/openat (configure.ac): ... to here.
13455
13456 2011-05-21  Bruno Haible  <bruno@clisp.org>
13457
13458         obstack-printf*: Move AC_LIBOBJ invocations to module description.
13459         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
13460         invocation from here...
13461         * modules/obstack-printf (configure.ac): ... to here.
13462         * modules/obstack-printf-posix (configure.ac): ... and here.
13463
13464 2011-05-21  Bruno Haible  <bruno@clisp.org>
13465
13466         nl_langinfo: Move AC_LIBOBJ invocations to module description.
13467         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
13468         from here...
13469         * modules/nl_langinfo (configure.ac): ... to here.
13470
13471 2011-05-21  Bruno Haible  <bruno@clisp.org>
13472
13473         nanosleep: Move AC_LIBOBJ invocations to module description.
13474         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
13475         gl_PREREQ_NANOSLEEP invocations from here...
13476         * modules/nanosleep (configure.ac): ... to here.
13477
13478 2011-05-21  Bruno Haible  <bruno@clisp.org>
13479
13480         mountlist: Move AC_LIBOBJ invocations to module description.
13481         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
13482         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
13483         * modules/mountlist (configure.ac): ... to here.
13484
13485 2011-05-21  Bruno Haible  <bruno@clisp.org>
13486
13487         mktime: Respect rules for use of AC_LIBOBJ.
13488         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
13489         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
13490         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
13491         (gl_FUNC_MKTIME_INTERNAL): ... and here...
13492         * modules/mktime (configure.ac): ... to here.
13493         * modules/mktime-internal (configure.ac): ... and here.
13494         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
13495
13496 2011-05-21  Bruno Haible  <bruno@clisp.org>
13497
13498         mkstemps: Move AC_LIBOBJ invocations to module description.
13499         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
13500         here...
13501         * modules/mkstemps (configure.ac): ... to here.
13502
13503 2011-05-21  Bruno Haible  <bruno@clisp.org>
13504
13505         mkstemp: Move AC_LIBOBJ invocations to module description.
13506         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
13507         gl_PREREQ_MKSTEMP invocations from here...
13508         * modules/mkstemp (configure.ac): ... to here.
13509
13510 2011-05-21  Bruno Haible  <bruno@clisp.org>
13511
13512         mkostemps: Move AC_LIBOBJ invocations to module description.
13513         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
13514         here...
13515         * modules/mkostemps (configure.ac): ... to here.
13516
13517 2011-05-21  Bruno Haible  <bruno@clisp.org>
13518
13519         mkostemp: Move AC_LIBOBJ invocations to module description.
13520         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
13521         gl_PREREQ_MKOSTEMP invocations from here...
13522         * modules/mkostemp (configure.ac): ... to here.
13523
13524 2011-05-21  Bruno Haible  <bruno@clisp.org>
13525
13526         mknod: Move AC_LIBOBJ invocations to module description.
13527         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
13528         * modules/mknod (configure.ac): ... to here.
13529
13530 2011-05-21  Bruno Haible  <bruno@clisp.org>
13531
13532         mkfifoat: Move AC_LIBOBJ invocations to module description.
13533         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
13534         here...
13535         * modules/mkfifoat (configure.ac): ... to here.
13536
13537 2011-05-21  Bruno Haible  <bruno@clisp.org>
13538
13539         mkfifo: Respect rules for use of AC_LIBOBJ.
13540         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
13541         here...
13542         * modules/mkfifo (configure.ac): ... to here.
13543
13544 2011-05-21  Bruno Haible  <bruno@clisp.org>
13545
13546         mkdtemp: Move AC_LIBOBJ invocations to module description.
13547         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
13548         invocations from here...
13549         * modules/mkdtemp (configure.ac): ... to here.
13550
13551 2011-05-21  Bruno Haible  <bruno@clisp.org>
13552
13553         mkdir: Move AC_LIBOBJ invocations to module description.
13554         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
13555         * modules/mkdir (configure.ac): ... to here.
13556
13557 2011-05-21  Bruno Haible  <bruno@clisp.org>
13558
13559         memset: Move AC_LIBOBJ invocations to module description.
13560         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
13561         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
13562         here...
13563         * modules/memset (configure.ac): ... to here.
13564
13565 2011-05-21  Bruno Haible  <bruno@clisp.org>
13566
13567         memrchr: Move AC_LIBOBJ invocations to module description.
13568         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
13569         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
13570         here...
13571         * modules/memrchr (configure.ac): ... to here.
13572
13573 2011-05-21  Bruno Haible  <bruno@clisp.org>
13574
13575         mempcpy: Move AC_LIBOBJ invocations to module description.
13576         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
13577         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
13578         here...
13579         * modules/mempcpy (configure.ac): ... to here.
13580
13581 2011-05-21  Bruno Haible  <bruno@clisp.org>
13582
13583         memmove: Move AC_LIBOBJ invocations to module description.
13584         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
13585         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
13586         here...
13587         * modules/memmove (configure.ac): ... to here.
13588
13589 2011-05-21  Bruno Haible  <bruno@clisp.org>
13590
13591         memmem*: Move AC_LIBOBJ invocations to module description.
13592         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
13593         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
13594         here...
13595         (gl_FUNC_MEMMEM): ... and here...
13596         * modules/memmem-simple (configure.ac): ... to here.
13597         * modules/memmem (configure.ac): ... and here.
13598
13599 2011-05-21  Bruno Haible  <bruno@clisp.org>
13600
13601         memcpy: Move AC_LIBOBJ invocations to module description.
13602         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
13603         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
13604         here...
13605         * modules/memcpy (configure.ac): ... to here.
13606
13607 2011-05-21  Bruno Haible  <bruno@clisp.org>
13608
13609         memcmp: Simplify autoconf macro.
13610         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
13611         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
13612         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
13613
13614 2011-05-21  Bruno Haible  <bruno@clisp.org>
13615
13616         memcmp: Move AC_LIBOBJ invocations to module description.
13617         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
13618         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
13619         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
13620         * modules/memcmp (configure.ac): ... to here.
13621         (Depends-on): Update conditions.
13622
13623 2011-05-21  Bruno Haible  <bruno@clisp.org>
13624
13625         memchr: Respect rules for use of AC_LIBOBJ.
13626         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
13627         invocations from here...
13628         * modules/memchr (configure.ac): ... to here.
13629
13630 2011-05-21  Bruno Haible  <bruno@clisp.org>
13631
13632         mbtowc: Move AC_LIBOBJ invocations to module description.
13633         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
13634         invocations from here...
13635         * modules/mbtowc (configure.ac): ... to here.
13636
13637 2011-05-21  Bruno Haible  <bruno@clisp.org>
13638
13639         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
13640         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
13641         gl_PREREQ_MBSRTOWCS invocations from here...
13642         * modules/mbsrtowcs (configure.ac): ... to here.
13643
13644 2011-05-21  Bruno Haible  <bruno@clisp.org>
13645
13646         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
13647         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
13648         gl_PREREQ_MBSNRTOWCS invocations from here...
13649         * modules/mbsnrtowcs (configure.ac): ... to here.
13650
13651 2011-05-21  Bruno Haible  <bruno@clisp.org>
13652
13653         mbsinit: Move AC_LIBOBJ invocations to module description.
13654         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
13655         invocations from here...
13656         * modules/mbsinit (configure.ac): ... to here.
13657
13658 2011-05-21  Bruno Haible  <bruno@clisp.org>
13659
13660         mbrlen: Move AC_LIBOBJ invocations to module description.
13661         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
13662         invocations from here...
13663         * modules/mbrlen (configure.ac): ... to here.
13664
13665 2011-05-21  Bruno Haible  <bruno@clisp.org>
13666
13667         mbrtowc: Respect rules for use of AC_LIBOBJ.
13668         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
13669         invocations from here...
13670         * modules/mbrtowc (configure.ac): ... to here.
13671
13672 2011-05-21  Bruno Haible  <bruno@clisp.org>
13673
13674         malloc-*: Move AC_LIBOBJ invocations to module description.
13675         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
13676         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
13677         AC_LIBOBJ invocations from here...
13678         * modules/malloc-gnu (configure.ac): ... to here.
13679         * modules/malloc-posix (configure.ac): ... and here.
13680
13681 2011-05-21  Bruno Haible  <bruno@clisp.org>
13682
13683         lstat, openat: Respect rules for use of AC_LIBOBJ.
13684         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
13685         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
13686         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
13687         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
13688         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
13689         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
13690         here.
13691         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
13692
13693 2011-05-21  Bruno Haible  <bruno@clisp.org>
13694
13695         lseek: Move AC_LIBOBJ invocations to module description.
13696         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
13697         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
13698         * modules/lseek (configure.ac): ... to here.
13699
13700 2011-05-21  Bruno Haible  <bruno@clisp.org>
13701
13702         linkat: Move AC_LIBOBJ invocations to module description.
13703         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
13704         here...
13705         * modules/linkat (configure.ac): ... to here.
13706
13707 2011-05-21  Bruno Haible  <bruno@clisp.org>
13708
13709         link: Respect rules for use of AC_LIBOBJ.
13710         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
13711         * modules/link (configure.ac): ... to here.
13712
13713 2011-05-21  Bruno Haible  <bruno@clisp.org>
13714
13715         lchown: Move AC_LIBOBJ invocations to module description.
13716         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
13717         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
13718         * modules/lchown (configure.ac): ... to here.
13719
13720 2011-05-21  Bruno Haible  <bruno@clisp.org>
13721
13722         iswctype: Move AC_LIBOBJ invocations to module description.
13723         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
13724         here...
13725         * modules/iswctype (configure.ac): ... to here.
13726
13727 2011-05-21  Bruno Haible  <bruno@clisp.org>
13728
13729         iswblank: Move AC_LIBOBJ invocations to module description.
13730         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
13731         here...
13732         * modules/iswblank (configure.ac): ... to here.
13733
13734 2011-05-21  Bruno Haible  <bruno@clisp.org>
13735
13736         atanl: Move AC_LIBOBJ invocations to module description.
13737         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
13738         * modules/atanl (configure.ac): ... to here.
13739
13740 2011-05-21  Bruno Haible  <bruno@clisp.org>
13741
13742         acosl: Move AC_LIBOBJ invocations to module description.
13743         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
13744         * modules/acosl (configure.ac): ... to here.
13745
13746 2011-05-21  Bruno Haible  <bruno@clisp.org>
13747
13748         asinl: Respect rules for use of AC_LIBOBJ.
13749         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
13750         * modules/asinl (configure.ac): ... to here.
13751
13752 2011-05-21  Bruno Haible  <bruno@clisp.org>
13753
13754         tanl: Move AC_LIBOBJ invocations to module description.
13755         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
13756         * modules/tanl (configure.ac): ... to here.
13757
13758 2011-05-21  Bruno Haible  <bruno@clisp.org>
13759
13760         cosl: Move AC_LIBOBJ invocations to module description.
13761         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
13762         * modules/cosl (configure.ac): ... to here.
13763
13764 2011-05-21  Bruno Haible  <bruno@clisp.org>
13765
13766         sinl: Move AC_LIBOBJ invocations to module description.
13767         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
13768         * modules/sinl (configure.ac): ... to here.
13769
13770 2011-05-21  Bruno Haible  <bruno@clisp.org>
13771
13772         logl: Move AC_LIBOBJ invocations to module description.
13773         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
13774         * modules/logl (configure.ac): ... to here.
13775
13776 2011-05-21  Bruno Haible  <bruno@clisp.org>
13777
13778         expl: Move AC_LIBOBJ invocations to module description.
13779         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
13780         * modules/expl (configure.ac): ... to here.
13781
13782 2011-05-21  Bruno Haible  <bruno@clisp.org>
13783
13784         roundl: Move AC_LIBOBJ invocations to module description.
13785         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
13786         * modules/roundl (configure.ac): ... to here.
13787
13788 2011-05-21  Bruno Haible  <bruno@clisp.org>
13789
13790         round: Move AC_LIBOBJ invocations to module description.
13791         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
13792         * modules/round (configure.ac): ... to here.
13793
13794 2011-05-21  Bruno Haible  <bruno@clisp.org>
13795
13796         roundf: Move AC_LIBOBJ invocations to module description.
13797         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
13798         * modules/roundf (configure.ac): ... to here.
13799
13800 2011-05-21  Bruno Haible  <bruno@clisp.org>
13801
13802         truncl: Move AC_LIBOBJ invocations to module description.
13803         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
13804         * modules/truncl (configure.ac): ... to here.
13805
13806 2011-05-21  Bruno Haible  <bruno@clisp.org>
13807
13808         trunc: Move AC_LIBOBJ invocations to module description.
13809         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
13810         * modules/trunc (configure.ac): ... to here.
13811
13812 2011-05-21  Bruno Haible  <bruno@clisp.org>
13813
13814         truncf: Move AC_LIBOBJ invocations to module description.
13815         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
13816         * modules/truncf (configure.ac): ... to here.
13817
13818 2011-05-21  Bruno Haible  <bruno@clisp.org>
13819
13820         ceill: Move AC_LIBOBJ invocations to module description.
13821         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
13822         * modules/ceill (configure.ac): ... to here.
13823
13824 2011-05-21  Bruno Haible  <bruno@clisp.org>
13825
13826         ceil: Move AC_LIBOBJ invocations to module description.
13827         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
13828         * modules/ceil (configure.ac): ... to here.
13829
13830 2011-05-21  Bruno Haible  <bruno@clisp.org>
13831
13832         ceilf: Move AC_LIBOBJ invocations to module description.
13833         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
13834         * modules/ceilf (configure.ac): ... to here.
13835
13836 2011-05-21  Bruno Haible  <bruno@clisp.org>
13837
13838         floorl: Respect rules for use of AC_LIBOBJ.
13839         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
13840         * modules/floorl (configure.ac): ... to here.
13841
13842 2011-05-21  Bruno Haible  <bruno@clisp.org>
13843
13844         floor: Respect rules for use of AC_LIBOBJ.
13845         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
13846         * modules/floor (configure.ac): ... to here.
13847
13848 2011-05-21  Bruno Haible  <bruno@clisp.org>
13849
13850         floorf: Move AC_LIBOBJ invocations to module description.
13851         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
13852         * modules/floorf (configure.ac): ... to here.
13853
13854 2011-05-20  Bruno Haible  <bruno@clisp.org>
13855
13856         sqrtl: Respect rules for use of AC_LIBOBJ.
13857         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
13858         * modules/sqrtl (configure.ac): ... to here.
13859
13860 2011-05-20  Bruno Haible  <bruno@clisp.org>
13861
13862         ldexpl: Respect rules for use of AC_LIBOBJ.
13863         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
13864         * modules/ldexpl (configure.ac): ... to here.
13865
13866 2011-05-20  Bruno Haible  <bruno@clisp.org>
13867
13868         frexpl*: Respect rules for use of AC_LIBOBJ.
13869         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
13870         invocation from here...
13871         * modules/frexpl (configure.ac): ... to here.
13872         * modules/frexpl-nolibm (configure.ac): ... and here.
13873
13874 2011-05-20  Bruno Haible  <bruno@clisp.org>
13875
13876         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
13877         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
13878         invocation from here...
13879         * modules/frexp (configure.ac): ... to here.
13880         * modules/frexp-nolibm (configure.ac): ... and here.
13881
13882 2011-05-20  Bruno Haible  <bruno@clisp.org>
13883
13884         isnan: Respect rules for use of AC_LIBOBJ.
13885         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
13886         invocations here.
13887         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
13888         REPLACE_ISNAN.
13889         * modules/isnand (configure.ac): Likewise.
13890         * modules/isnanl (configure.ac): Likewise.
13891
13892 2011-05-20  Bruno Haible  <bruno@clisp.org>
13893
13894         isnanl*: Respect rules for use of AC_LIBOBJ.
13895         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
13896         invocation from here...
13897         * modules/isnanl (configure.ac): ... to here.
13898         * modules/isnanl-nolibm (configure.ac): ... and here.
13899
13900 2011-05-20  Bruno Haible  <bruno@clisp.org>
13901
13902         isnand*: Move AC_LIBOBJ invocations to module description.
13903         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
13904         invocation from here...
13905         * modules/isnand (configure.ac): ... to here.
13906         * modules/isnand-nolibm (configure.ac): ... and here.
13907
13908 2011-05-20  Bruno Haible  <bruno@clisp.org>
13909
13910         isnanf*: Move AC_LIBOBJ invocations to module description.
13911         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
13912         invocation from here...
13913         * modules/isnanf (configure.ac): ... to here.
13914         * modules/isnanf-nolibm (configure.ac): ... and here.
13915
13916 2011-05-20  Bruno Haible  <bruno@clisp.org>
13917
13918         isnan*: Separate the AC_LIBOBJ invocations.
13919         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
13920         AC_LIBOBJ invocation.
13921         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
13922         here.
13923         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
13924         AC_LIBOBJ invocation.
13925         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
13926         here.
13927         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
13928         AC_LIBOBJ invocation.
13929         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
13930         here.
13931         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
13932
13933 2011-05-08  Bruno Haible  <bruno@clisp.org>
13934
13935         isinf: Move AC_LIBOBJ invocations to module description.
13936         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
13937         * modules/isinf (configure.ac): ... to here.
13938
13939 2011-05-08  Bruno Haible  <bruno@clisp.org>
13940
13941         isfinite: Move AC_LIBOBJ invocations to module description.
13942         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
13943         * modules/isfinite (configure.ac): ... to here.
13944
13945 2011-05-08  Bruno Haible  <bruno@clisp.org>
13946
13947         isblank: Move AC_LIBOBJ invocations to module description.
13948         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
13949         here...
13950         * modules/isblank (configure.ac): ... to here.
13951
13952 2011-05-08  Bruno Haible  <bruno@clisp.org>
13953
13954         isapipe: Move AC_LIBOBJ invocations to module description.
13955         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
13956         gl_PREREQ_ISAPIPE invocations from here...
13957         * modules/isapipe (configure.ac): ... to here.
13958         (Depends-on): Update condition.
13959
13960 2011-05-08  Bruno Haible  <bruno@clisp.org>
13961
13962         ioctl: Move AC_LIBOBJ invocations to module description.
13963         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
13964         invocations from here...
13965         * modules/ioctl (configure.ac): ... to here.
13966         (Depends-on): Update condition.
13967
13968 2011-05-08  Bruno Haible  <bruno@clisp.org>
13969
13970         imaxdiv: Move AC_LIBOBJ invocations to module description.
13971         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
13972         invocations from here...
13973         * modules/imaxdiv (configure.ac): ... to here.
13974
13975 2011-05-08  Bruno Haible  <bruno@clisp.org>
13976
13977         imaxabs: Move AC_LIBOBJ invocations to module description.
13978         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
13979         invocations from here...
13980         * modules/imaxabs (configure.ac): ... to here.
13981
13982 2011-05-08  Bruno Haible  <bruno@clisp.org>
13983
13984         getaddrinfo: Move AC_LIBOBJ invocations to module description.
13985         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
13986         AC_LIBOBJ invocations from here...
13987         * modules/getaddrinfo (configure.ac): ... to here.
13988         (Depends-on): Add conditions.
13989
13990 2011-05-08  Bruno Haible  <bruno@clisp.org>
13991
13992         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
13993         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
13994         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
13995         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
13996         (gl_PREREQ_INET_PTON): ... from here.
13997         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
13998         gl_PREREQ_INET_PTON here.
13999         (Depends-on): Update condition.
14000
14001 2011-05-08  Bruno Haible  <bruno@clisp.org>
14002
14003         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
14004         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
14005         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
14006         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
14007         (gl_PREREQ_INET_NTOP): ... from here.
14008         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
14009         gl_PREREQ_INET_NTOP here.
14010         (Depends-on): Update condition.
14011
14012 2011-05-08  Bruno Haible  <bruno@clisp.org>
14013
14014         iconv_open: Move AC_LIBOBJ invocations to module description.
14015         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
14016         AC_LIBOBJ invocations from here...
14017         * modules/iconv_open (configure.ac): ... to here.
14018
14019 2011-05-08  Bruno Haible  <bruno@clisp.org>
14020
14021         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
14022         If module 'iconv_open' is among the main modules and module
14023         'iconv_open-utf' is among the tests dependencies, then
14024         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
14025         return the special iconv_t values. Therefore iconv() and iconv_close()
14026         must support these special iconv_t values, already in lib, not only in
14027         tests.
14028         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
14029         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
14030         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
14031         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
14032         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
14033         (Depends-on): Add the dependencies of iconv_open-utf.
14034         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
14035         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
14036         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
14037
14038 2011-05-08  Bruno Haible  <bruno@clisp.org>
14039
14040         group-member: Move AC_LIBOBJ invocations to module description.
14041         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
14042         gl_PREREQ_GROUP_MEMBER invocations from here...
14043         * modules/group-member (configure.ac): ... to here.
14044
14045 2011-05-08  Bruno Haible  <bruno@clisp.org>
14046
14047         grantpt: Move AC_LIBOBJ invocations to module description.
14048         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
14049         invocations from here...
14050         * modules/grantpt (configure.ac): ... to here.
14051
14052 2011-05-08  Bruno Haible  <bruno@clisp.org>
14053
14054         glob: Move AC_LIBOBJ invocations to module description.
14055         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
14056         from here...
14057         * modules/glob (configure.ac): ... to here.
14058
14059 2011-05-08  Bruno Haible  <bruno@clisp.org>
14060
14061         getusershell: Move AC_LIBOBJ invocations to module description.
14062         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
14063         Move AC_LIBOBJ invocation from here...
14064         * modules/getusershell (configure.ac): ... to here.
14065         (Depends-on): Update condition.
14066
14067 2011-05-08  Bruno Haible  <bruno@clisp.org>
14068
14069         gettimeofday: Move AC_LIBOBJ invocations to module description.
14070         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
14071         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
14072         gl_PREREQ_GETTIMEOFDAY invocations from here...
14073         * modules/gettimeofday (configure.ac): ... to here.
14074
14075 2011-05-08  Bruno Haible  <bruno@clisp.org>
14076
14077         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
14078         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
14079         just gl_FUNC_TZSET.
14080         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
14081         (gl_FUNC_TZSET_CLOBBER): Remove actions.
14082         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
14083         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
14084
14085 2011-05-08  Bruno Haible  <bruno@clisp.org>
14086
14087         getsubopt: Move AC_LIBOBJ invocations to module description.
14088         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
14089         gl_PREREQ_GETSUBOPT invocations from here...
14090         * modules/getsubopt (configure.ac): ... to here.
14091
14092 2011-05-08  Bruno Haible  <bruno@clisp.org>
14093
14094         getpass-gnu: Move AC_LIBOBJ invocations to module description.
14095         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
14096         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
14097         * modules/getpass-gnu (configure.ac): ... to here.
14098
14099 2011-05-08  Bruno Haible  <bruno@clisp.org>
14100
14101         getpass: Move AC_LIBOBJ invocations to module description.
14102         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
14103         gl_PREREQ_GETPASS invocations from here...
14104         * modules/getpass (configure.ac): ... to here.
14105
14106 2011-05-08  Bruno Haible  <bruno@clisp.org>
14107
14108         getpagesize: Move AC_LIBOBJ invocations to module description.
14109         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
14110         from here...
14111         * modules/getpagesize (configure.ac): ... to here.
14112
14113 2011-05-08  Bruno Haible  <bruno@clisp.org>
14114
14115         getopt: Move AC_LIBOBJ invocations to module description.
14116         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
14117         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
14118         invocations from here...
14119         * modules/getopt-gnu (configure.ac): ... to here.
14120         * modules/getopt-posix (configure.ac): ... and here.
14121         (Depends-on): Update condition.
14122
14123 2011-05-08  Bruno Haible  <bruno@clisp.org>
14124
14125         getopt, argp: Respect rules for use of AC_LIBOBJ.
14126         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
14127         (gl_REPLACE_GETOPT_ALWAYS): New macro.
14128         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
14129         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
14130
14131 2011-05-08  Bruno Haible  <bruno@clisp.org>
14132
14133         getlogin_r: Move AC_LIBOBJ invocations to module description.
14134         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
14135         gl_PREREQ_GETLOGIN_R invocations from here...
14136         * modules/getlogin_r (configure.ac): ... to here.
14137
14138 2011-05-08  Bruno Haible  <bruno@clisp.org>
14139
14140         getlogin: Move AC_LIBOBJ invocations to module description.
14141         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
14142         here...
14143         * modules/getlogin (configure.ac): ... to here.
14144
14145 2011-05-08  Bruno Haible  <bruno@clisp.org>
14146
14147         getloadavg: Move AC_LIBOBJ invocations to module description.
14148         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
14149         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
14150         * modules/getloadavg (configure.ac): ... to here.
14151
14152 2011-05-08  Bruno Haible  <bruno@clisp.org>
14153
14154         gethrxtime: Move AC_LIBOBJ invocations to module description.
14155         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
14156         LIB_GETHRXTIME from here...
14157         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
14158         invocations from here...
14159         * modules/gethrxtime (configure.ac): ... to here.
14160
14161 2011-05-08  Bruno Haible  <bruno@clisp.org>
14162
14163         gethostname: Move AC_LIBOBJ invocations to module description.
14164         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
14165         gl_PREREQ_GETHOSTNAME invocations from here...
14166         * modules/gethostname (configure.ac): ... to here.
14167
14168 2011-05-08  Bruno Haible  <bruno@clisp.org>
14169
14170         getgroups: Move AC_LIBOBJ invocations to module description.
14171         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
14172         here...
14173         * modules/getgroups (configure.ac): ... to here.
14174
14175 2011-05-08  Bruno Haible  <bruno@clisp.org>
14176
14177         getdtablesize: Move AC_LIBOBJ invocations to module description.
14178         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
14179         invocation from here...
14180         * modules/getdtablesize (configure.ac): ... to here.
14181
14182 2011-05-08  Bruno Haible  <bruno@clisp.org>
14183
14184         getdomainname: Move AC_LIBOBJ invocations to module description.
14185         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
14186         gl_PREREQ_GETDOMAINNAME invocations from here...
14187         * modules/getdomainname (configure.ac): ... to here.
14188
14189 2011-05-08  Bruno Haible  <bruno@clisp.org>
14190
14191         getline: Move AC_LIBOBJ invocations to module description.
14192         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
14193         invocations from here...
14194         * modules/getline (configure.ac): ... to here.
14195
14196 2011-05-08  Bruno Haible  <bruno@clisp.org>
14197
14198         getline: Simplify.
14199         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
14200         It's already handled through the module dependency.
14201
14202 2011-05-08  Bruno Haible  <bruno@clisp.org>
14203
14204         getdelim: Move AC_LIBOBJ invocations to module description.
14205         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
14206         and gl_PREREQ_GETDELIM invocations from here...
14207         * modules/getdelim (configure.ac): ... to here.
14208         (Depends-on): Fix condition.
14209
14210 2011-05-08  Bruno Haible  <bruno@clisp.org>
14211
14212         getcwd: Move AC_LIBOBJ invocations to module description.
14213         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
14214         invocations from here...
14215         * modules/getcwd (configure.ac): ... to here.
14216
14217 2011-05-08  Bruno Haible  <bruno@clisp.org>
14218
14219         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
14220         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
14221         here...
14222         * modules/getcwd-lgpl (configure.ac): ... to here.
14223
14224 2011-05-07  Bruno Haible  <bruno@clisp.org>
14225
14226         crypto/gc: Move AC_LIBOBJ invocations to module description.
14227         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
14228         * modules/crypto/gc (configure.ac): ... to here.
14229
14230 2011-05-07  Bruno Haible  <bruno@clisp.org>
14231
14232         fwriting: Move AC_LIBOBJ invocations to module description.
14233         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
14234         here...
14235         * modules/fwriting (configure.ac): ... to here.
14236
14237 2011-05-07  Bruno Haible  <bruno@clisp.org>
14238
14239         fwritable: Move AC_LIBOBJ invocations to module description.
14240         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
14241         here...
14242         * modules/fwritable (configure.ac): ... to here.
14243
14244 2011-05-07  Bruno Haible  <bruno@clisp.org>
14245
14246         futimens: Move AC_LIBOBJ invocations to module description.
14247         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
14248         here...
14249         * modules/futimens (configure.ac): ... to here.
14250
14251 2011-05-07  Bruno Haible  <bruno@clisp.org>
14252
14253         ftruncate: Move AC_LIBOBJ invocations to module description.
14254         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
14255         gl_PREREQ_FTRUNCATE invocations from here...
14256         * modules/ftruncate (configure.ac): ... to here.
14257
14258 2011-05-07  Bruno Haible  <bruno@clisp.org>
14259
14260         fsync: Move AC_LIBOBJ invocations to module description.
14261         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
14262         invocations from here...
14263         * modules/fsync (configure.ac): ... to here.
14264
14265 2011-05-07  Bruno Haible  <bruno@clisp.org>
14266
14267         fsusage: Move AC_LIBOBJ invocations to module description.
14268         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
14269         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
14270         * modules/fsusage (configure.ac): ... to here.
14271
14272 2011-05-07  Bruno Haible  <bruno@clisp.org>
14273
14274         freopen: Move AC_LIBOBJ invocations to module description.
14275         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
14276         invocations from here...
14277         * modules/freopen (configure.ac): ... to here.
14278
14279 2011-05-07  Bruno Haible  <bruno@clisp.org>
14280
14281         free: Move AC_LIBOBJ invocations to module description.
14282         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
14283         invocations from here...
14284         * modules/free (configure.ac): ... to here.
14285
14286 2011-05-07  Bruno Haible  <bruno@clisp.org>
14287
14288         freadable: Move AC_LIBOBJ invocations to module description.
14289         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
14290         here...
14291         * modules/freadable (configure.ac): ... to here.
14292
14293 2011-05-07  Bruno Haible  <bruno@clisp.org>
14294
14295         fpurge: Move AC_LIBOBJ invocations to module description.
14296         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
14297         invocations from here...
14298         * modules/fpurge (configure.ac): ... to here.
14299
14300 2011-05-07  Bruno Haible  <bruno@clisp.org>
14301
14302         fpending: Move AC_LIBOBJ invocations to module description.
14303         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
14304         gl_FUNC_FPENDING.
14305         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
14306         invocations from here...
14307         * modules/fpending (configure.ac): ... to here.
14308
14309 2011-05-07  Bruno Haible  <bruno@clisp.org>
14310
14311         fopen: Move AC_LIBOBJ invocations to module description.
14312         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
14313         invocations from here...
14314         * modules/fopen (configure.ac): ... to here.
14315
14316 2011-05-07  Bruno Haible  <bruno@clisp.org>
14317
14318         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
14319         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
14320         gl_FUNC_FNMATCH_POSIX.
14321         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
14322         invocations from here...
14323         * modules/fnmatch (configure.ac): ... to here.
14324         * modules/fnmatch-gnu (configure.ac): ... and here.
14325
14326 2011-05-07  Bruno Haible  <bruno@clisp.org>
14327
14328         flock: Move AC_LIBOBJ invocations to module description.
14329         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
14330         invocations from here...
14331         * modules/flock (configure.ac): ... to here.
14332
14333 2011-05-07  Bruno Haible  <bruno@clisp.org>
14334
14335         fileblocks: Move AC_LIBOBJ invocations to module description.
14336         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
14337         gl_PREREQ_FILEBLOCKS invocations from here...
14338         * modules/fileblocks (configure.ac): ... to here.
14339
14340 2011-05-06  Bruno Haible  <bruno@clisp.org>
14341
14342         fflush: Move AC_LIBOBJ invocations to module description.
14343         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
14344         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
14345         invocations from here...
14346         * modules/fflush (configure.ac): ... to here.
14347
14348 2011-05-06  Bruno Haible  <bruno@clisp.org>
14349
14350         fdopendir: Move AC_LIBOBJ invocations to module description.
14351         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
14352         here...
14353         * modules/fdopendir (configure.ac): ... to here.
14354         (Depends-on): Improve conditions.
14355
14356 2011-05-06  Bruno Haible  <bruno@clisp.org>
14357
14358         _Exit: Move AC_LIBOBJ invocations to module description.
14359         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
14360         invocations from here...
14361         * modules/_Exit (configure.ac): ... to here.
14362
14363 2011-05-21  Bruno Haible  <bruno@clisp.org>
14364
14365         euidaccess: Respect rules for use of AC_LIBOBJ.
14366         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
14367         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
14368         from here...
14369         * modules/euidaccess (configure.ac): ... to here.
14370
14371 2011-05-06  Bruno Haible  <bruno@clisp.org>
14372
14373         error: Move AC_LIBOBJ invocations to module description.
14374         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
14375         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
14376         invocations from here...
14377         * modules/error (configure.ac): ... to here.
14378
14379 2011-05-06  Bruno Haible  <bruno@clisp.org>
14380
14381         duplocale: Move AC_LIBOBJ invocations to module description.
14382         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
14383         gl_PREREQ_DUPLOCALE invocations from here...
14384         * modules/duplocale (configure.ac): ... to here.
14385
14386 2011-05-05  Bruno Haible  <bruno@clisp.org>
14387
14388         dirfd: Move AC_LIBOBJ invocations to module description.
14389         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
14390         gl_FUNC_DIRFD.
14391         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
14392         here...
14393         * modules/dirfd (configure.ac): ... to here.
14394         (Depends-on): Fix condition.
14395
14396 2011-05-05  Bruno Haible  <bruno@clisp.org>
14397
14398         chown: Respect rules for use of AC_LIBOBJ.
14399         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
14400         * modules/chown (configure.ac): ... to here.
14401
14402 2011-05-05  Bruno Haible  <bruno@clisp.org>
14403
14404         chdir-long: Move AC_LIBOBJ invocations to module description.
14405         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
14406         gl_PREREQ_CHDIR_LONG invocations from here...
14407         * modules/chdir-long (configure.ac): ... to here.
14408
14409 2011-05-05  Bruno Haible  <bruno@clisp.org>
14410
14411         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
14412         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
14413         from here...
14414         * modules/canonicalize-lgpl (configure.ac): ... to here.
14415
14416 2011-05-05  Bruno Haible  <bruno@clisp.org>
14417
14418         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
14419         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
14420         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
14421         REPLACE_CALLOC.
14422         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
14423         * modules/calloc-gnu (configure.ac): Likewise.
14424
14425 2011-05-05  Bruno Haible  <bruno@clisp.org>
14426
14427         btowc: Move AC_LIBOBJ invocations to module description.
14428         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
14429         invocations from here...
14430         * modules/btowc (configure.ac): ... to here.
14431
14432 2011-05-21  Bruno Haible  <bruno@clisp.org>
14433
14434         atexit: Move AC_LIBOBJ invocations to module description.
14435         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
14436         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
14437         here...
14438         * modules/atexit (configure.ac): ... to here.
14439
14440 2011-05-05  Bruno Haible  <bruno@clisp.org>
14441
14442         atoll: Move AC_LIBOBJ invocations to module description.
14443         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
14444         invocations from here...
14445         * modules/atoll (configure.ac): ... to here.
14446
14447 2011-05-05  Bruno Haible  <bruno@clisp.org>
14448
14449         argz: Move AC_LIBOBJ invocations to module description.
14450         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
14451         * modules/argz (configure.ac): ... to here.
14452
14453 2011-05-05  Bruno Haible  <bruno@clisp.org>
14454
14455         alphasort: Move AC_LIBOBJ invocations to module description.
14456         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
14457         gl_PREREQ_ALPHASORT invocations from here...
14458         * modules/alphasort (configure.ac): ... to here.
14459
14460 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
14461
14462         verify: new macro verify_expr; verify_true deprecated
14463         * NEWS: Mention this.
14464         * doc/verify.texi (Compile-time Assertions): Document this.
14465         * lib/verify.h (verify_true): Deprecate.
14466         (verify_expr): New macro.
14467         * tests/test-verify.c (function): Test verify_expr.
14468
14469 2011-06-14  Jim Meyering  <meyering@redhat.com>
14470
14471         init.sh: give more portable redirection-related advice in a comment
14472         * tests/init.sh (stderr_fileno_): Update the advice in comments.
14473         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
14474         for lots of discussion.  Stefano Lattarini suggested the solution
14475         of putting "9>&2" after the command.  Reported by Bruno Haible.
14476
14477 2011-06-13  Bruno Haible  <bruno@clisp.org>
14478
14479         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
14480         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
14481         'none'.
14482
14483 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
14484
14485         ftoastr: use strtof only if HAVE_STRTOF
14486         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
14487         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
14488         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
14489         * modules/ftoastr (configure.ac): Check for strtof.
14490
14491 2011-06-13  Bruno Haible  <bruno@clisp.org>
14492
14493         gnulib-tool: Addendum to 2011-06-08 commit.
14494         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
14495         and --witness-c-macro have been given, augment AM_CPPFLAGS.
14496
14497 2011-06-13  Bruno Haible  <bruno@clisp.org>
14498
14499         fseeko: Provide a non-inline replacement of fseek().
14500         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
14501         * modules/fseeko (Depends-on): Add fseek.
14502         * modules/fseek (License): Change to LGPLv2+.
14503
14504 2011-06-13  Bruno Haible  <bruno@clisp.org>
14505
14506         ftello: Provide a non-inline replacement of ftell().
14507         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
14508         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
14509         not have ftello() (such as on mingw).
14510         * modules/ftello (Depends-on): Add ftell.
14511         * modules/ftell (License): Change to LGPLv2+.
14512
14513 2011-05-07  Bruno Haible  <bruno@clisp.org>
14514
14515         ftell: Move AC_LIBOBJ invocations to module description.
14516         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
14517         * modules/ftell (configure.ac): ... to here.
14518
14519 2011-05-07  Bruno Haible  <bruno@clisp.org>
14520
14521         ftello: Respect rules for use of AC_LIBOBJ.
14522         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
14523         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
14524         here...
14525         * modules/ftello (configure.ac): ... to here.
14526
14527 2011-05-07  Bruno Haible  <bruno@clisp.org>
14528
14529         fseeko: Simplify.
14530         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
14531         (gl_FUNC_FSEEKO): Inline it here.
14532
14533 2011-05-07  Bruno Haible  <bruno@clisp.org>
14534
14535         fseek: Move AC_LIBOBJ invocations to module description.
14536         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
14537         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
14538         * modules/fseek (configure.ac): ... to here.
14539
14540 2011-05-07  Bruno Haible  <bruno@clisp.org>
14541
14542         fseek: Respect rules for use of AC_LIBOBJ.
14543         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
14544         here...
14545         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
14546
14547 2011-05-07  Bruno Haible  <bruno@clisp.org>
14548
14549         fseeko: Respect rules for use of AC_LIBOBJ.
14550         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
14551         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
14552         here...
14553         * modules/fseeko (configure.ac): ... to here.
14554
14555 2011-06-13  Bruno Haible  <bruno@clisp.org>
14556
14557         gnulib-tool: Allow comments in the 'Depends-on' section.
14558         * doc/gnulib.texi (Module description): Mention comment syntax in the
14559         Depends-on section.
14560         * gnulib-tool (func_get_dependencies): Filter out comment lines.
14561
14562 2011-06-13  Bruno Haible  <bruno@clisp.org>
14563
14564         file-set.h: guard __attibute__ use, now that it's not always defined
14565         * lib/file-set.h (record_file): Use __attribute__ only with compiler
14566         versions that support it.  This fixes a coreutils build failure with
14567         the vendor cc on HP-UX 11.31.
14568
14569 2011-06-12  Bruno Haible  <bruno@clisp.org>
14570
14571         acl: Add support for HP-UX >= 11.11 JFS ACLs.
14572         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
14573         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
14574         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
14575         (acl, aclsort): New declarations.
14576         (aclv_nontrivial): New declaration.
14577         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
14578         (file_has_acl): Read also the second kind of HP-UX ACLs.
14579         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
14580         kind of HP-UX ACLs if the first kind fails.
14581         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
14582         second kind of HP-UX ACLs.
14583         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
14584         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
14585         agree.
14586         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
14587         hpuxjfs.
14588         Handle hpuxjfs.
14589         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
14590         hpuxjfs.
14591         Handle hpuxjfs.
14592         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
14593         (func_test_same_acls): Use both lsacl and getacl.
14594         Handle hpuxjfs.
14595         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
14596         (func_test_same_acls): Use both lsacl and getacl.
14597         Handle hpuxjfs.
14598
14599 2011-06-12  Bruno Haible  <bruno@clisp.org>
14600
14601         acl: Complete the 2010-08-10 fix.
14602         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
14603         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
14604         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
14605         explicitly.
14606         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
14607         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
14608
14609 2011-06-12  Bruno Haible  <bruno@clisp.org>
14610
14611         spawn-pipe tests: Comments.
14612         * tests/test-spawn-pipe-child.c (main): Update comment.
14613         Reported by James Youngman <jay@gnu.org>.
14614
14615 2011-06-11  James Youngman  <jay@gnu.org>
14616
14617         New module 'stat-size'.
14618         * modules/stat-size: New module.  Provides macros for accessing
14619         file size information in instances of struct stat.  Depends on the
14620         fileblocks module because it calls st_blocks.
14621         * lib/stat-size.h: New file, adapted from coreutils' system.h.
14622         * doc/gnulib.texi: Include stat-size.texi.
14623         * doc/stat-size.texi: Documentation for this module.
14624         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
14625         * m4/fileblocks.m4: Mention that stat-size depends on the call to
14626         AC_STRUCT_ST_BLOCKS.
14627
14628 2011-06-09  Bruno Haible  <bruno@clisp.org>
14629
14630         thread: Support pthreads-win32.
14631         * lib/glthread/thread.h (gl_thread_self): Define differently on
14632         pthreads-win32.
14633         (gl_null_thread): New declaration.
14634         (gl_thread_self_pointer): New macro.
14635         * lib/glthread/thread.c (gl_null_thread): New constant.
14636         * tests/test-lock.c: Use gl_thread_self_pointer instead of
14637         gl_thread_self.
14638         * tests/test-tls.c: Likewise.
14639         Suggested by Paul Eggert. Reported by Eric Blake.
14640
14641 2011-06-09  Bruno Haible  <bruno@clisp.org>
14642
14643         thread: Fix confusion between NULL and 0.
14644         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
14645         Reported by Paul Eggert.
14646
14647 2011-06-09  Bruno Haible  <bruno@clisp.org>
14648
14649         spawn-pipe tests: Avoid test failure on HP-UX 11.
14650         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
14651         is closed.
14652
14653 2011-06-09  Bruno Haible  <bruno@clisp.org>
14654
14655         acl tests: Fix compilation error on HP-UX 11.
14656         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
14657
14658 2011-06-09  Bruno Haible  <bruno@clisp.org>
14659
14660         rmdir: Avoid test failure on HP-UX 10.20.
14661         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
14662         EEXIST.
14663
14664 2011-06-08  Eric Blake  <eblake@redhat.com>
14665
14666         perror: fix test on mingw
14667         * modules/perror-tests (Depends-on): Add dup2.
14668
14669         strerror_r-posix: fix on MacOS
14670         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
14671         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
14672         logic bug.
14673         * lib/strerror_r.c (strerror_r): Fix the bug.
14674         * lib/strerror.c (strerror): Likewise.
14675         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
14676         problem.
14677         * doc/posix-functions/strerror.texi (strerror): Likewise.
14678         * doc/posix-functions/perror.texi (perror): Likewise.
14679         * tests/test-strerror.c (main): Enhance test.
14680         * tests/test-strerror_r.c (main): Likewise.
14681
14682 2011-06-08  Bruno Haible  <bruno@clisp.org>
14683
14684         gnulib-tool: Better isolation between different gnulib-tool invocations.
14685         * gnulib-tool: New option --witness-c-macro.
14686         (witness_c_macro): New variable.
14687         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
14688         AM_CPPFLAGS define it as a C macro.
14689         (func_emit_tests_Makefile_am): Likewise.
14690         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
14691         read it from there.
14692         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
14693         m4_define, not AC_DEFUN.
14694         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
14695         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
14696         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
14697         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
14698         s|...|...|, to substitute the values of the GNULIB_* module indicator
14699         variables.
14700         * modules/dirent (Makefile.am): Likewise.
14701         * modules/fcntl-h (Makefile.am): Likewise.
14702         * modules/iconv-h (Makefile.am): Likewise.
14703         * modules/langinfo (Makefile.am): Likewise.
14704         * modules/locale (Makefile.am): Likewise.
14705         * modules/math (Makefile.am): Likewise.
14706         * modules/netdb (Makefile.am): Likewise.
14707         * modules/poll-h (Makefile.am): Likewise.
14708         * modules/pty (Makefile.am): Likewise.
14709         * modules/search (Makefile.am): Likewise.
14710         * modules/signal (Makefile.am): Likewise.
14711         * modules/spawn (Makefile.am): Likewise.
14712         * modules/stdio (Makefile.am): Likewise.
14713         * modules/stdlib (Makefile.am): Likewise.
14714         * modules/string (Makefile.am): Likewise.
14715         * modules/sys_ioctl (Makefile.am): Likewise.
14716         * modules/sys_select (Makefile.am): Likewise.
14717         * modules/sys_socket (Makefile.am): Likewise.
14718         * modules/sys_stat (Makefile.am): Likewise.
14719         * modules/sys_times (Makefile.am): Likewise.
14720         * modules/sys_utsname (Makefile.am): Likewise.
14721         * modules/sys_wait (Makefile.am): Likewise.
14722         * modules/termios (Makefile.am): Likewise.
14723         * modules/time (Makefile.am): Likewise.
14724         * modules/unistd (Makefile.am): Likewise.
14725         * modules/wchar (Makefile.am): Likewise.
14726
14727 2011-06-08  Eric Blake  <eblake@redhat.com>
14728
14729         strerror: simplify replacement
14730         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
14731         * modules/strerror (configure.ac): No prereqs needed here...
14732         * modules/strerror-override (configure.ac): ...but this needs it.
14733         (Files): Add file for needed prereq macro.
14734
14735 2011-06-08  Bruno Haible  <bruno@clisp.org>
14736
14737         strerror_r-posix: Tweaks.
14738         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
14739         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
14740         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
14741         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
14742         (gl_FUNC_STRERROR_R): ... to here.
14743         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
14744
14745 2011-06-07  Eric Blake  <eblake@redhat.com>
14746
14747         perror: document fixed bugs
14748         * doc/posix-functions/perror.texi (perror): Document recent
14749         patches.
14750
14751 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
14752
14753         stat-time: get_stat_birthtime failure is better-defined
14754         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
14755         return a timestamp whose tv_sec and tv_nsec values are both -1.
14756         Previously, the spec said only that the tv_nsec value was negative.
14757         This upward-compatible change simplifies GNU tar a bit.
14758
14759 2011-06-07  Eric Blake  <eblake@redhat.com>
14760
14761         strerror_r-posix: work around cygwin 1.7.9
14762         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
14763         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
14764         bug without replacing strerror_r.
14765         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
14766         strerror_r is buggy, but without requiring strerror_r compilation.
14767         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
14768
14769         test-perror: relax test to ignore cygwin bug
14770         * tests/test-perror2.c (main): Relax test on requiring detection
14771         of stream errors, and use unbuffered stream.
14772         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
14773         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
14774         * doc/posix-functions/fputc.texi (fputc): Likewise.
14775         * doc/posix-functions/fputs.texi (fputs): Likewise.
14776         * doc/posix-functions/fputws.texi (fputws): Likewise.
14777         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
14778         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
14779         * doc/posix-functions/getopt.texi (getopt): Likewise.
14780         * doc/posix-functions/perror.texi (perror): Likewise.
14781         * doc/posix-functions/printf.texi (printf): Likewise.
14782         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
14783         * doc/posix-functions/psignal.texi (psignal): Likewise.
14784         * doc/posix-functions/putc.texi (putc): Likewise.
14785         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
14786         Likewise.
14787         * doc/posix-functions/putchar.texi (putchar): Likewise.
14788         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
14789         Likewise.
14790         * doc/posix-functions/puts.texi (puts): Likewise.
14791         * doc/posix-functions/putwc.texi (putwc): Likewise.
14792         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
14793         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
14794         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
14795         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
14796         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
14797         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
14798         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
14799         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
14800
14801 2011-05-22  Bruno Haible  <bruno@clisp.org>
14802
14803         strerror: Move AC_LIBOBJ invocations to module description.
14804         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
14805         gl_PREREQ_STRERROR invocations from here...
14806         * modules/strerror (configure.ac): ... to here.
14807
14808 2011-05-21  Bruno Haible  <bruno@clisp.org>
14809
14810         perror: Use common idiom.
14811         * modules/perror (configure.ac): Reorder statements.
14812
14813 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
14814
14815         tests: fix usage message in 'mktempd_'
14816         * tests/init.sh (mktempd_): In the usage message, use literal
14817         'mktempd_', not '$ME' (which is even undefined), as the name of
14818         the subroutine.
14819
14820 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
14821
14822         tests init: new function 'fatal_', for hard errors
14823         Before this patch, the only way offered by tests/init.sh to
14824         properly signal a hard error was the `framework_failure_'
14825         function.  But the error message issued by that function,
14826         as its name would suggest, refers to a set-up failure in the
14827         testsuite, while hard errors can obviously also be due to
14828         other reasons.  The best way to fix this inconsistency is to
14829         introduce a new function with a more general error message.
14830         * tests/init.sh (fatal_): New function.
14831
14832 2011-06-06  Eric Blake  <eblake@redhat.com>
14833
14834         canonicalize-lgpl: use common idiom
14835         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
14836         over newer POSIX -Rf.
14837         Reported by Bruno Haible.
14838
14839         canonicalize-lgpl: work around AIX realpath bug
14840         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
14841         * doc/posix-functions/realpath.texi (realpath): Document it.
14842         Reported by Bruno Haible.
14843
14844         strerror: work around FreeBSD bug
14845         * lib/strerror.c (strerror): Special case 0.
14846         Reported by Bruno Haible.
14847
14848         strerror-override: avoid bloating errno module
14849         * modules/errno (Files, configure.ac): Move replacement strings...
14850         * modules/strerror-override: ...to new module.
14851         * modules/strerror (Depends-on): Add strerror-override.
14852         * modules/strerror_r-posix (Depends-on): Likewise.
14853         * MODULES.html.sh: Document new module.
14854         Reported by Bruno Haible.
14855
14856 2011-06-06  Bruno Haible  <bruno@clisp.org>
14857
14858         spawn-pipe tests: Rename program.
14859         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
14860         * tests/test-spawn-pipe-child.c: Update comment.
14861         * tests/test-spawn-pipe.sh: Update.
14862         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
14863
14864         spawn-pipe tests: Link the child program only against libc.
14865         * tests/test-spawn-pipe-child.c: New file, extracted from
14866         tests/test-spawn-pipe.c.
14867         (main): Expect only one argument.
14868         (is_open): New function, copied from tests/test-pipe.c.
14869         * tests/test-spawn-pipe.c: Don't include <errno.h>.
14870         (child_main): Remove function.
14871         (test_pipe): Pass only one argument to the child program.
14872         (main): Remove child process code. Expect the child program's name as
14873         first argument.
14874         * tests/test-spawn-pipe.sh: Pass the child program's name as first
14875         argument.
14876         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
14877         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
14878         test-spawn-pipe-child against no libraries.
14879
14880 2011-06-06  Bruno Haible  <bruno@clisp.org>
14881
14882         careadlinkat: Avoid mismatch between ssize_t and int.
14883         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
14884         * lib/careadlinkat.c (careadlinkatcwd): Define always.
14885
14886 2011-06-06  Jim Meyering  <meyering@redhat.com>
14887
14888         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
14889         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
14890         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
14891
14892 2011-06-05  Bruno Haible  <bruno@clisp.org>
14893
14894         ansi-c++-opt: Interoperability with libtool.
14895         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
14896         set the variable to "no", not to ":".
14897         * NEWS: Mention the change.
14898
14899 2011-06-05  Bruno Haible  <bruno@clisp.org>
14900
14901         acl: Fix test failure on AIX 7.
14902         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
14903         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
14904
14905 2011-06-05  Bruno Haible  <bruno@clisp.org>
14906
14907         pipe-filter-ii: Fix test failure on AIX and IRIX.
14908         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
14909         with EAGAIN, retry with a smaller buffer size.
14910
14911 2011-06-05  Bruno Haible  <bruno@clisp.org>
14912
14913         localename: Fix link dependencies.
14914         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
14915         * modules/localename-tests (Makefile.am): Link test-localename with
14916         $(LIBTHREAD).
14917
14918 2011-06-05  Bruno Haible  <bruno@clisp.org>
14919
14920         error: Avoid gcc warning.
14921         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
14922
14923 2011-06-05  Bruno Haible  <bruno@clisp.org>
14924
14925         unsetenv: Avoid gcc warning.
14926         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
14927
14928 2011-06-05  Bruno Haible  <bruno@clisp.org>
14929
14930         setenv: Avoid gcc warning.
14931         * lib/setenv.c (setenv): Provide declaration if system lacks it.
14932
14933 2011-06-05  Bruno Haible  <bruno@clisp.org>
14934
14935         sys_select: Ensure memset is declared also on AIX 7.
14936         * lib/sys_select.in.h: Include <string.h> also on AIX.
14937         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
14938         self-contained also on AIX 7.1.
14939
14940 2011-06-04  Jim Meyering  <meyering@redhat.com>
14941
14942         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
14943         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
14944         function name, "error".
14945         (_gl_translatable_diag_func_re): New configurable variable.
14946
14947 2011-06-04  Bruno Haible  <bruno@clisp.org>
14948
14949         getopt: Avoid gcc warning.
14950         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
14951
14952 2011-06-04  Bruno Haible  <bruno@clisp.org>
14953
14954         strerror_r: Fix comments.
14955         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
14956         commit.
14957
14958 2011-06-04  Bruno Haible  <bruno@clisp.org>
14959
14960         perror: Fix compilation error.
14961         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
14962         Undefine fprintf, not sprintf.
14963         * modules/perror (Depends-on): Remove intprops, verify.
14964
14965 2011-06-04  Bruno Haible  <bruno@clisp.org>
14966
14967         setlocale: Enable replacement on Cygwin 1.5.
14968         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
14969         Cygwin 1.5.x.
14970         * doc/posix-functions/setlocale.texi: Mention that the problem with the
14971         LC_CTYPE category also exists on Cygwin 1.5.x.
14972
14973 2011-06-04  Bruno Haible  <bruno@clisp.org>
14974
14975         strerror-override: Don't disable symbol renamings.
14976         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
14977         * lib/strerror-override.c: Include config.h.
14978         (strerror_override): Don't undefine.
14979
14980 2011-06-03  Bruno Haible  <bruno@clisp.org>
14981
14982         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
14983         * lib/localename.h: Update copyright header.
14984         * lib/localename.c: Likewise.
14985         * lib/relocatable.h: Likewise.
14986         * lib/relocatable.c: Likewise.
14987
14988 2011-06-02  Bruno Haible  <bruno@clisp.org>
14989
14990         doc: Fix a module name.
14991         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
14992
14993 2011-06-02  Bruno Haible  <bruno@clisp.org>
14994
14995         pipe2: Remove dependency on 'nonblocking' module.
14996         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
14997         O_NONBLOCK is defined by gnulib.
14998         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
14999         is zero.
15000         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
15001         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
15002         defined by gnulib.
15003         (get_nonblocking_flag): New function.
15004         (main): Test O_NONBLOCK flag only if it is nonzero.
15005         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
15006
15007 2011-06-03  Jim Meyering  <meyering@redhat.com>
15008
15009         maint: three new prohibit-header-without-use rules
15010         Prohibit use of cloexec.h, posixver.h, same.h without use.
15011         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
15012         (sc_prohibit_posixver_without_use): Likewise.
15013         (sc_prohibit_same_without_use): Likewise.
15014
15015 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
15016
15017         allocator: 'die' routine is now given requested size
15018         * lib/allocator.h (struct allocator.die): New size arg.
15019         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
15020         If the actual problem is an ssize_t limitation, not a size_t or
15021         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
15022
15023 2011-06-01  Eric Blake  <eblake@redhat.com>
15024
15025         strerror: drop strerror_r dependency
15026         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
15027         * lib/strerror-override.c (strerror_override): ...to new file.
15028         * lib/strerror-override.h: Add prototype.
15029         * lib/strerror-impl.h: Delete.
15030         * lib/strerror.c (strerror): New implementation.
15031         * modules/errno (Files): Add new files.
15032         (configure.ac): Compile new file as appropriate.
15033         * modules/strerror (Files): Drop unused file.
15034         (Depends-on): Drop strerror_r-posix.
15035         * MODULES.html.sh: Document strerror_r-posix.
15036         Requested by Sam Steingold.
15037
15038         perror: call strerror_r directly
15039         * modules/perror (Files): Drop strerror-impl.h.
15040         * lib/perror.c (perror): Use our own stack buffer, rather than
15041         calling a wrapper that uses static storage.
15042         * doc/posix-functions/perror.texi (perror): Document a limitation
15043         of our replacement.
15044
15045         strerror_r: fix includes for FreeBSD
15046         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
15047         since we use abort on some platforms.
15048         Reported by Matthias Bolte.
15049
15050 2011-05-31  Bruno Haible  <bruno@clisp.org>
15051
15052         Fix link errors in tests: openat-die uses gettext-h.
15053         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
15054         against $(LIBINTL).
15055         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
15056         against $(LIBINTL).
15057         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
15058         $(LIBINTL).
15059         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
15060         against $(LIBINTL).
15061         * modules/linkat-tests (Makefile.am): Link test-linkat against
15062         $(LIBINTL).
15063         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
15064         $(LIBINTL).
15065         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
15066         against $(LIBINTL).
15067         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
15068         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
15069         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
15070         $(LIBINTL).
15071         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
15072         $(LIBINTL).
15073         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
15074         $(LIBINTL).
15075         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15076
15077 2011-05-31  Bruno Haible  <bruno@clisp.org>
15078
15079         Fix link errors in tests: wait-process uses gettext-h.
15080         * modules/nonblocking-pipe-tests (Makefile.am): Set
15081         test_nonblocking_pipe_main_LDADD.
15082         * modules/nonblocking-socket-tests (Makefile.am): Link
15083         test-nonblocking-socket-main against $(LIBINTL).
15084         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15085
15086 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
15087
15088         assert-h: work around 'verify' incompatibility
15089         * lib/verify.h: Use @...@ directives, not ifdef.
15090         * modules/assert-h (assert.h): Implement the directives.
15091         (assert.h): Substitute the symbol-prefix more consistently.
15092
15093 2011-05-29  Jim Meyering  <meyering@redhat.com>
15094
15095         trim: remove three superfluous assignments
15096         * lib/trim.c (trim2): Remove three superfluous assignments
15097         and correct brace positioning.
15098
15099 2011-05-29  Bruno Haible  <bruno@clisp.org>
15100
15101         wctype-h: Avoid namespace pollution on Solaris 2.6.
15102         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
15103         identifiers.
15104         * doc/posix-headers/wctype.texi: Mention the problem.
15105         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15106
15107 2011-05-28  Jim Meyering  <meyering@redhat.com>
15108
15109         parse-datetime.y: accommodate -Wstrict-overflow
15110         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
15111         placate -Wstrict-overflow.
15112
15113         trim: avoid a warning from -O2 -Wstrict-overflow
15114         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
15115
15116 2011-05-29  Bruno Haible  <bruno@clisp.org>
15117
15118         gnulib-tool: Fix bug in yesterday's commit.
15119         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
15120         twice.
15121
15122 2011-05-29  Bruno Haible  <bruno@clisp.org>
15123
15124         Allow multiple gnulib generated include files to be combined.
15125         * gnulib-tool (func_compute_include_guard_prefix): New function.
15126         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
15127         ${gl_include_guard_prefix} references.
15128         (func_import, func_create_testdir): Invoke
15129         func_compute_include_guard_prefix.
15130         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
15131         * lib/ctype.in.h: Likewise.
15132         * lib/dirent.in.h: Likewise.
15133         * lib/errno.in.h: Likewise.
15134         * lib/fcntl.in.h: Likewise.
15135         * lib/float.in.h: Likewise.
15136         * lib/getopt.in.h: Likewise.
15137         * lib/iconv.in.h: Likewise.
15138         * lib/langinfo.in.h: Likewise.
15139         * lib/locale.in.h: Likewise.
15140         * lib/math.in.h: Likewise.
15141         * lib/netdb.in.h: Likewise.
15142         * lib/netinet_in.in.h: Likewise.
15143         * lib/poll.in.h: Likewise.
15144         * lib/pthread.in.h: Likewise.
15145         * lib/pty.in.h: Likewise.
15146         * lib/sched.in.h: Likewise.
15147         * lib/se-selinux.in.h: Likewise.
15148         * lib/search.in.h: Likewise.
15149         * lib/signal.in.h: Likewise.
15150         * lib/spawn.in.h: Likewise.
15151         * lib/stdarg.in.h: Likewise.
15152         * lib/stddef.in.h: Likewise.
15153         * lib/stdint.in.h: Likewise.
15154         * lib/stdio.in.h: Likewise.
15155         * lib/stdlib.in.h: Likewise.
15156         * lib/string.in.h: Likewise.
15157         * lib/strings.in.h: Likewise.
15158         * lib/sys_file.in.h: Likewise.
15159         * lib/sys_ioctl.in.h: Likewise.
15160         * lib/sys_select.in.h: Likewise.
15161         * lib/sys_socket.in.h: Likewise.
15162         * lib/sys_stat.in.h: Likewise.
15163         * lib/sys_time.in.h: Likewise.
15164         * lib/sys_times.in.h: Likewise.
15165         * lib/sys_uio.in.h: Likewise.
15166         * lib/sys_utsname.in.h: Likewise.
15167         * lib/sys_wait.in.h: Likewise.
15168         * lib/sysexits.in.h: Likewise.
15169         * lib/termios.in.h: Likewise.
15170         * lib/time.in.h: Likewise.
15171         * lib/unistd.in.h: Likewise.
15172         * lib/wchar.in.h: Likewise.
15173         * lib/wctype.in.h: Likewise.
15174         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
15175         * modules/ctype (Makefile.am): Likewise.
15176         * modules/dirent (Makefile.am): Likewise.
15177         * modules/errno (Makefile.am): Likewise.
15178         * modules/fcntl-h (Makefile.am): Likewise.
15179         * modules/float (Makefile.am): Likewise.
15180         * modules/getopt-posix (Makefile.am): Likewise.
15181         * modules/iconv-h (Makefile.am): Likewise.
15182         * modules/langinfo (Makefile.am): Likewise.
15183         * modules/locale (Makefile.am): Likewise.
15184         * modules/math (Makefile.am): Likewise.
15185         * modules/netdb (Makefile.am): Likewise.
15186         * modules/netinet_in (Makefile.am): Likewise.
15187         * modules/poll-h (Makefile.am): Likewise.
15188         * modules/pthread (Makefile.am): Likewise.
15189         * modules/pty (Makefile.am): Likewise.
15190         * modules/sched (Makefile.am): Likewise.
15191         * modules/search (Makefile.am): Likewise.
15192         * modules/selinux-h (Makefile.am): Likewise.
15193         * modules/signal (Makefile.am): Likewise.
15194         * modules/spawn (Makefile.am): Likewise.
15195         * modules/stdarg (Makefile.am): Likewise.
15196         * modules/stddef (Makefile.am): Likewise.
15197         * modules/stdint (Makefile.am): Likewise.
15198         * modules/stdio (Makefile.am): Likewise.
15199         * modules/stdlib (Makefile.am): Likewise.
15200         * modules/string (Makefile.am): Likewise.
15201         * modules/strings (Makefile.am): Likewise.
15202         * modules/sys_file (Makefile.am): Likewise.
15203         * modules/sys_ioctl (Makefile.am): Likewise.
15204         * modules/sys_select (Makefile.am): Likewise.
15205         * modules/sys_socket (Makefile.am): Likewise.
15206         * modules/sys_stat (Makefile.am): Likewise.
15207         * modules/sys_time (Makefile.am): Likewise.
15208         * modules/sys_times (Makefile.am): Likewise.
15209         * modules/sys_uio (Makefile.am): Likewise.
15210         * modules/sys_utsname (Makefile.am): Likewise.
15211         * modules/sys_wait (Makefile.am): Likewise.
15212         * modules/sysexits (Makefile.am): Likewise.
15213         * modules/termios (Makefile.am): Likewise.
15214         * modules/time (Makefile.am): Likewise.
15215         * modules/unistd (Makefile.am): Likewise.
15216         * modules/wchar (Makefile.am): Likewise.
15217         * modules/wctype-h (Makefile.am): Likewise.
15218         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
15219
15220 2011-05-29  Bruno Haible  <bruno@clisp.org>
15221
15222         assert-h: Allow multiple gnulib generated replacements to coexist.
15223         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
15224
15225 2011-05-29  Bruno Haible  <bruno@clisp.org>
15226
15227         argp: Allow coexistence with strerror_r-posix module.
15228         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
15229         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
15230         by gnulib's <string.h> replacement), assume it has the POSIX signature,
15231         not the glibc signature.
15232
15233 2011-05-28  Bruno Haible  <bruno@clisp.org>
15234
15235         gnulib-tool: Alternative structure of testdirs, similar to --import.
15236         * gnulib-tool: New option --single-configure.
15237         (func_usage): Document it.
15238         (single_configure): New variable.
15239         (func_modules_transitive_closure_separately,
15240         func_modules_transitive_closure_separately,
15241         func_determine_use_libtests, func_modules_add_dummy_separately,
15242         func_modules_to_filelist_separately): New functions, extracted from
15243         func_import.
15244         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
15245         (func_import): Use the new functions.
15246         (func_create_testdir): Set final_modules. Handle $single_configure =
15247         true case.
15248
15249 2011-05-28  Bruno Haible  <bruno@clisp.org>
15250
15251         getloadavg: Remove an unreliable safety check.
15252         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
15253         getloadavg.c is in place.
15254         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
15255         Reported by Sam Steingold <sds@gnu.org>.
15256
15257 2011-05-28  Bruno Haible  <bruno@clisp.org>
15258
15259         doc: Cleanup yet another file produced by texinfo.tex.
15260         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
15261
15262 2011-05-28  Bruno Haible  <bruno@clisp.org>
15263
15264         Finish the conditional dependencies mechanism.
15265         * gnulib-tool: New option --no-conditional-dependencies.
15266         (func_usage): Document it. Don't mark --conditional-dependencies as
15267         experimental.
15268         (cond_dependencies): The possible values can now be true, false, empty.
15269         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
15270         (func_import): Store setting in gnulib-cache.m4 and read it from there.
15271         * doc/gnulib-tool.texi (Conditional dependencies): New section.
15272
15273 2011-05-28  Bruno Haible  <bruno@clisp.org>
15274
15275         doc: Use a recent texinfo.tex.
15276         * doc/Makefile (tex_opts): New variable.
15277         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
15278
15279 2011-05-28  Jim Meyering  <meyering@redhat.com>
15280
15281         intprops.h: adjust comment to match code change
15282         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
15283         only once, it *may* have side effects.  Also fix an unrelated typo.
15284         (_GL_INT_SIGNED): Likewise.
15285
15286 2011-05-26  Simon Josefsson  <simon@josefsson.org>
15287
15288         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
15289
15290 2011-05-26  Bruno Haible  <bruno@clisp.org>
15291
15292         mbsrchr: Avoid collision with system function on Interix.
15293         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
15294         Reported by Markus Duft <mduft@gentoo.org>.
15295
15296 2011-05-15  James Youngman  <jay@gnu.org>
15297
15298         getopt: for ambiguous options, enumerate the possibilities.
15299         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
15300         the ambiguous options when an ambiguous prefix is given. This was
15301         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
15302         glibc change was
15303         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
15304
15305 2011-05-25  Eric Blake  <eblake@redhat.com>
15306
15307         getcwd: work around mingw bug
15308         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
15309         * doc/posix-functions/getcwd.texi (getcwd): Document it.
15310         Reported by Matthias Bolte.
15311
15312 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
15313
15314         test-intprops: disable -Wtype-limits diagnostics
15315         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
15316         diagnostics.  Otherwise, the integer overflow macros generate many
15317         diagnostics.  Reported by Jim Meyering in
15318         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
15319
15320         intprops: shorten, to pacify gcc -Woverlength-strings
15321         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
15322         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
15323         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
15324         likely to run afoul of C compiler limits for string constant lengths.
15325         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
15326
15327 2011-05-24  Eric Blake  <eblake@redhat.com>
15328
15329         docs: document recently fixed glibc printf bug
15330         * doc/posix-functions/fprintf.texi (fprintf): Document it.
15331         * doc/posix-functions/printf.texi (printf): Likewise.
15332         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
15333         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
15334
15335         closein-tests: convert to init.sh
15336         * modules/closein-tests (Files): Add init.sh
15337         * tests/test-closein.sh Use it.
15338
15339         yesno-tests: convert to init.sh
15340         * modules/yesno-tests (Files): Add init.sh.
15341         * tests/test-yesno.sh: Use it.
15342
15343         atexit-tests: ensure reliable exit status
15344         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
15345         Reported by Bruno Haible.
15346
15347 2011-05-24  Bruno Haible  <bruno@clisp.org>
15348
15349         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
15350         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
15351         gl_PREREQ_STRERROR_R invocations from here...
15352         * modules/strerror_r-posix (configure.ac): ... to here.
15353
15354 2011-05-24  Eric Blake  <eblake@redhat.com>
15355
15356         strerror_r: fix missing header
15357         * lib/strerror_r.c: Avoid compiler warning about snprintf.
15358
15359         strerror_r: fix AIX test failures
15360         * lib/strerror_r.c (strerror_r): Convert silent truncation to
15361         ERANGE failure.
15362
15363         strerror_r: fix Solaris test failures
15364         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
15365         failures.
15366         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
15367
15368         strerror_r: enforce POSIX recommendations
15369         * lib/strerror_r.c (safe_copy): New helper method.
15370         (strerror_r): Guarantee a non-empty string.
15371         * tests/test-strerror_r.c (main): Enhance tests to incorporate
15372         recent POSIX rulings and to match our strerror guarantees.
15373         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
15374
15375 2011-05-24  Jim Meyering  <meyering@redhat.com>
15376
15377         test-perror2.c: avoid warning about unused variable
15378         * tests/test-perror2.c (main): Remove declaration of unused "fp".
15379
15380 2011-05-24  Eric Blake  <eblake@redhat.com>
15381
15382         perror: avoid spurious test failure on HP-UX
15383         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
15384
15385         tests: fix logic bug in init.sh
15386         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
15387         shell.
15388
15389 2011-05-24  Jim Meyering  <meyering@redhat.com>
15390
15391         utimensat: do not reference an out-of-scope buffer
15392         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
15393         declared in an inner scope, yet "times" would be dereferenced outside
15394         the scope in which "ts" was valid.
15395         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
15396         of ts[2] "out/up", so that the use of aliased "times" (via
15397         "times = ts;") does not end up referencing an out-of-scope "ts"
15398
15399         opendir-safer.c: don't clobber errno; don't close negative FD
15400         * lib/opendir-safer.c (opendir_safer):
15401         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
15402         file descriptor, and more importantly, don't clobber the
15403         offending errno value with EINVAL.  Before, upon failure
15404         of dup_safer, we would pass the negative file descriptor to
15405         fdopendir, which would clobber errno.
15406
15407 2011-05-23  Bruno Haible  <bruno@clisp.org>
15408
15409         idcache: Fix module description.
15410         * modules/idcache (Include): Set to "idcache.h".
15411
15412 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
15413
15414         gnulib-tool: fix portability problem with MacOS sed
15415         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
15416         before the "}".  Problem reported by Leo in
15417         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
15418         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
15419         sed_extract_condition1, sed_extract_condition2.
15420
15421 2011-05-23  Bruno Haible  <bruno@clisp.org>
15422
15423         hash: Simplify autoconf macro.
15424         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
15425
15426 2011-05-23  Bruno Haible  <bruno@clisp.org>
15427
15428         getugroups: Fix module description.
15429         * modules/getugroups (Include): Set to "getugroups.h".
15430
15431 2011-05-23  Bruno Haible  <bruno@clisp.org>
15432
15433         linkat: Simplify autoconf macro.
15434         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
15435
15436 2011-05-23  Bruno Haible  <bruno@clisp.org>
15437             Eric Blake  <eblake@redhat.com>
15438
15439         linkat, renameat: Update dependencies.
15440         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
15441         * modules/linkat (Depends-on): Likewise. Remove also readlink,
15442         symlinkat.
15443
15444 2011-05-23  Jim Meyering  <meyering@redhat.com>
15445
15446         maint.mk: more tight_scope improvements
15447         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
15448         (_gl_TS_headers): Define only in if-0'd block.
15449         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
15450         sometimes we must *not* use it.  Adjust uses accordingly.
15451         (sc_tight_scope): Use much simpler grep-based test to determine
15452         whether we skip this rule.
15453
15454         maint.mk: generalize/improve the tight-scope rule
15455         * top/maint.mk: Emit a warning when the test is skipped.
15456         (_gl_TS_dir): Add $(srcdir)/ prefix.
15457         (_gl_TS_function_match): Simplify, rather than trying
15458         to enumerate common types.  Otherwise, it would fail to match an
15459         "extern unsigned char const *" declaration in idutils.
15460         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
15461         a way to support use of that type of macro.
15462         (_gl_TS_var_match): Simplify regexp.
15463         (_gl_TS_obj_files): New configurable variable.
15464         (_gl_TS_headers): Likewise.
15465
15466 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
15467
15468         verify: fix bug when gnulib <assert.h> is also included
15469         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
15470         is defined, not if _GL_STATIC_ASSERT_H is not defined.
15471         Perhaps there's a better way, but this fixes the immediate problem.
15472         Problem reported by Bruno Haible in
15473         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
15474
15475 2011-05-22  Bruno Haible  <bruno@clisp.org>
15476
15477         xgetcwd: Simplify autoconf macro.
15478         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
15479
15480 2011-05-22  Bruno Haible  <bruno@clisp.org>
15481
15482         New module 'mktime-internal'.
15483         * modules/mktime-internal: New file.
15484         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
15485         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
15486         mktime_internal as a C macro if libc has __mktime_internal.
15487         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
15488         conditions.
15489         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
15490
15491 2011-05-22  Bruno Haible  <bruno@clisp.org>
15492
15493         timegm: Correct mktime replacement statements.
15494         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
15495         defining mktime as a C macro. This completes a 2009-07-28 commit.
15496
15497 2011-05-22  Bruno Haible  <bruno@clisp.org>
15498
15499         timegm: Simplify autoconf macro.
15500         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
15501
15502 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
15503
15504         clock-time: change to LGPLv2+.
15505         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
15506         BSD-like but we have no mark for that; this is good enough for now.
15507
15508 2011-05-21  Bruno Haible  <bruno@clisp.org>
15509
15510         strerror_r: Fix comments.
15511         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
15512
15513 2011-05-21  Bruno Haible  <bruno@clisp.org>
15514
15515         relocatable-prog-wrapper: Fix possible link error.
15516         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
15517         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
15518         (gl_FUNC_SETENV): ... to here.
15519         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
15520         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
15521
15522 2011-05-21  Bruno Haible  <bruno@clisp.org>
15523
15524         relocatable-prog-wrapper: Assume strerror() exists.
15525         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
15526         m4/strerror.m4.
15527         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
15528         * lib/relocwrapper.c: Remove mention of strerror module.
15529         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
15530         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
15531         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
15532         C macro.
15533
15534 2011-05-21  Bruno Haible  <bruno@clisp.org>
15535
15536         select: Simplify replacement idiom.
15537         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
15538         Win32 platforms.
15539         * lib/sys_select.in.h (select): Simplify accordingly.
15540         * modules/select (Depends-on): Likewise.
15541
15542 2011-05-21  Bruno Haible  <bruno@clisp.org>
15543
15544         mkdir-p: Simplify autoconf macro.
15545         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
15546         gl_FUNC_LCHOWN.
15547
15548 2011-05-21  Eric Blake  <eblake@redhat.com>
15549
15550         strerror_r: avoid clobbering strerror on cygwin
15551         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
15552         fall back instead to sys_errlist.
15553         * modules/strerror (configure.ac): Add witness.
15554         * tests/test-strerror_r.c (main): Enhance test.
15555         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
15556         * tests/test-perror2.c (main): Free memory before exit.
15557
15558 2011-05-21  Bruno Haible  <bruno@clisp.org>
15559
15560         mkdtemp: Use gnulib naming conventions.
15561         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
15562         * modules/mkdtemp (configure.ac): Update.
15563
15564 2011-05-20  Eric Blake  <eblake@redhat.com>
15565
15566         strerror_r: avoid corrupting errno on Solaris
15567         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
15568         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
15569
15570         strerror_r: avoid compiler warning
15571         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
15572
15573         strerror_r: simplify AIX code
15574         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
15575
15576         test-perror: avoid spurious failure on FreeBSD
15577         * modules/perror-tests (Depends-on): Add strerror, now that
15578         strerror_r no longer pulls it in.
15579
15580 2011-05-20  Bruno Haible  <bruno@clisp.org>
15581
15582         strerror_r-posix: Remove unused dependencies.
15583         * modules/strerror_r-posix (Depends-on): Remove strerror.
15584         Reported by Eric Blake.
15585
15586 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
15587
15588         intprops: remove assumption about A|B representation
15589         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
15590         is a valid integer if both A and B are.  Although this is true for
15591         all known practical hosts, the C standard doesn't guarantee it,
15592         and the code need not assume it.  Also, this change may work around
15593         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
15594         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
15595
15596 2011-05-20  Eric Blake  <eblake@redhat.com>
15597
15598         perror: work around FreeBSD bug
15599         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
15600         is broken.  Move AC_LIBOBJ...
15601         * modules/perror (configure.ac): Here.
15602         * doc/posix-functions/perror.texi (perror): Document this.
15603         * tests/test-perror2.c (main): Enhance test.
15604
15605         test-perror: check for strerror interactions
15606         * tests/macros.h (STREQ): Add macro.
15607         * modules/perror-tests (Files): Add second test.
15608         * tests/test-perror2.c (main): New file.
15609         * doc/posix-functions/perror.texi (perror): Document glibc bug.
15610
15611         test-perror: rewrite to use init script
15612         * modules/perror-tests (Files): Add init.sh.
15613         * tests/test-perror.sh: Use temporary directory.
15614
15615 2011-05-20  Jim Meyering  <meyering@redhat.com>
15616
15617         maint: replace misused "a" with "an"
15618         * doc/intprops.texi: "a integer"
15619         * doc/regex.texi: "a explanation"
15620         * lib/alignof.h: "a object"
15621         * lib/argmatch.h: "a explanation"
15622         * lib/argp-help.c: "a option" and "a OPTION_DOC"
15623         * lib/stdint.in.h: "a integer"
15624         * lib/userspec.c: "a owner"
15625         * doc/gnulib.texi: Fix "a idea", and reword.
15626
15627 2011-05-19  Jim Meyering  <meyering@redhat.com>
15628
15629         maint: correct misuse of "a" and "an"
15630         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
15631         * lib/argp-help.c: "an docum...": s/an/a/
15632         * lib/argp-parse.c: "An vector": s/An/A/
15633         * lib/execute.c: "an native": s/an/a/
15634         * lib/spawn-pipe.c: Likewise.
15635         * lib/gc.h: "an Gc_rc": s/an/a/
15636         * lib/unigbrk.in.h: "an grapheme": s/an/a/
15637         * lib/fts.c: "an stat.st_dev": s/an/a/
15638
15639 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
15640
15641         intprops-tests: work around HP-UX 11.23 cc bug with constants
15642         * tests/test-intprops.c (VERIFY): New macro.
15643         (main): Use it, instead of verify, to work around the compiler bug; see
15644         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
15645
15646         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
15647         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
15648         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
15649         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
15650         (_GL_REMAINDER_OVERFLOW): Use it.
15651
15652         intprops-tests: revert unsigned part of previous change
15653         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
15654         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
15655         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
15656         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
15657
15658 2011-05-19  Bruno Haible  <bruno@clisp.org>
15659
15660         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
15661         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
15662         strerror_r() returned without filling the buffer.
15663         Reported by Eric Blake.
15664
15665 2011-05-19  Eric Blake  <eblake@redhat.com>
15666
15667         strerror_r: guarantee unchanged errno
15668         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
15669         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
15670         failure.
15671         * tests/test-strerror_r.c (main): Enhance test.
15672
15673 2011-05-19  Bruno Haible  <bruno@clisp.org>
15674
15675         strerror_r: Reorder #if blocks.
15676         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
15677         for consistency with the previous commit.
15678
15679 2011-05-19  Bruno Haible  <bruno@clisp.org>
15680
15681         perror: Avoid clobbering the strerror buffer when possible.
15682         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
15683         * lib/strerror.c: Include it.
15684         * modules/strerror (Files): Add lib/strerror-impl.h.
15685         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
15686         (my_strerror): New function, defined through lib/strerror-impl.h.
15687         (perror): Use it instead of strerror.
15688         * modules/perror (Files): Add lib/strerror-impl.h.
15689         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
15690
15691 2011-05-19  Eric Blake  <eblake@redhat.com>
15692
15693         strerror_r: fix on newer cygwin
15694         * lib/strerror_r.c (strerror_r): Cygwin now has
15695         __xpg_strerror_r, use it.
15696
15697 2011-05-19  Bruno Haible  <bruno@clisp.org>
15698
15699         strerror_r: Avoid clobbering the strerror buffer when possible.
15700         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
15701         (sys_nerr, sys_errlist): New declarations.
15702         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
15703         HP-UX, native Win32, IRIX, and 32-bit Solaris.
15704         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
15705
15706 2011-05-19  Bruno Haible  <bruno@clisp.org>
15707
15708         strerror_r: Fix test failure on mingw.
15709         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
15710         EXTEND_STRERROR_R.
15711         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
15712         macros from errno.in.h instead.
15713
15714 2011-05-19  Eric Blake  <eblake@redhat.com>
15715
15716         strerror: relax test for Solaris
15717         * tests/test-strerror.c (main): Permit Solaris behavior.
15718         * tests/test-strerror_r.c (main): Likewise.
15719
15720         strerror: enforce POSIX ruling on strerror(0)
15721         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
15722         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
15723         * lib/strerror_r.c (rpl_strerror_r): Work around it.
15724         * doc/posix-functions/strerror.texi (strerror): Document it.
15725         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
15726         * tests/test-strerror.c (main): Strengthen test.
15727         * tests/test-strerror_r.c (main): Likewise.
15728
15729 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
15730
15731         intprop-tests: port to older and more-pedantic compilers
15732         * modules/intprops-tests (Files): Add tests/macros.h.
15733         * tests/test-intprops.c: Include macros.h.
15734         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
15735         it's no longer documented to expand to an integer constant expression.
15736         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
15737         argument is floating point, as it's no longer documented to expand
15738         to an integer constant expression in that case.
15739         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
15740         compiler bugs reported by Bruno Haible.  See
15741         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
15742         (U0, U1): New constants, to work around the same bugs.  Also,
15743         in tests, use e.g., "(unsigned int) 39" rather than "39u".
15744
15745         intprops: work around C compiler bugs
15746         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
15747         bug in Sun C 5.11 2010/08/13 and other compilers; see
15748         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
15749
15750         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
15751         * doc/intprops.texi (Integer Type Determination): Fix
15752         documentation for TYPE_IS_INTEGER: it returns an constant
15753         expression, not an integer constant expression.  Fix doc for
15754         TYPE_SIGNED: it returns an integer constant expression only if its
15755         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
15756         hardly worth documented that way....)
15757
15758 2011-05-18  Bruno Haible  <bruno@clisp.org>
15759
15760         strerror_r: Avoid clobbering the strerror buffer when possible.
15761         * lib/strerror_r.c (strerror_r): Merge the three implementations.
15762         Handle gnulib defined errno values here. When strerror() returns NULL
15763         or an empty string, return EINVAL.
15764         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
15765         gnulib defined errno values here.
15766         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
15767
15768 2011-05-18  Eric Blake  <eblake@redhat.com>
15769
15770         fnmatch: avoid compiler warning
15771         * lib/fnmatch_loop.c (FCT): Use correct type.
15772         Reported by Matthias Bolte.
15773
15774 2011-05-13  Jim Meyering  <meyering@redhat.com>
15775
15776         maint.mk: three new prohibit_<HDR>_without_use rules
15777         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
15778         (sc_prohibit_stdio-safer_without_use): Likewise.
15779         (sc_prohibit_xfreopen_without_use): Likewise.
15780
15781 2011-05-17  Jim Meyering  <meyering@redhat.com>
15782
15783         announce-gen: fail if the NEWS delta is empty
15784         If there's nothing noteworthy in NEWS, then either you forgot
15785         or you shouldn't be releasing.
15786         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
15787
15788 2011-05-17  Pádraig Brady <P@draigBrady.com>
15789
15790         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
15791         reserved symbols starting with double underscore from the check.
15792
15793 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
15794
15795         intprops: add doc
15796         * doc/intprops.texi: New file, documenting intprops.
15797         * doc/gnulib.texi (Particular Modules): Include it.
15798
15799         verify: add doc to gnulib manual and fix example
15800         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
15801         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
15802         (Compile-time Assertions): Fix example so it can't overflow.
15803
15804 2011-05-17  Jim Meyering  <meyering@redhat.com>
15805
15806         warnings.m4: don't usurp save_CPPFLAGS variable name
15807         * m4/warnings.m4: Prefix local temporary variable name with gl_.
15808
15809         doc: fix typo
15810         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
15811
15812 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
15813             Bruno Haible  <bruno@clisp.org>
15814
15815         doc: Tweak recent change.
15816         * README (Portability guidelines): Tweak new text.
15817         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
15818         Interix 6.1.
15819
15820 2011-05-16  Eric Blake  <eblake@redhat.com>
15821
15822         inttypes: avoid autoconf warning
15823         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
15824         * m4/stdint.m4 (gl_STDINT_H): Likewise.
15825
15826 2011-05-16  Sam Steingold <sds@gnu.org>
15827         and Eric Blake  <eblake@redhat.com>
15828
15829         vc-list-files: accept multiple directory operands
15830         * build-aux/vc-list-files: Iterate over all remaining operands.
15831
15832 2011-05-16  Bruno Haible  <bruno@clisp.org>
15833
15834         Fix confusion regarding deprecated modules.
15835         * modules/calloc (Status, Notice): Mark module as deprecated, not
15836         obsolete.
15837         * modules/fnmatch-posix (Status, Notice): Likewise.
15838         * modules/getdate (Status, Notice): Likewise.
15839         * modules/getopt (Status, Notice): Likewise.
15840         * modules/malloc (Status, Notice): Likewise.
15841         * modules/pipe (Status, Notice): Likewise.
15842         * modules/realloc (Status, Notice): Likewise.
15843         * modules/rename-dest-slash (Status, Notice): Likewise.
15844         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
15845         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
15846         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
15847         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
15848         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
15849
15850 2011-05-16  Bruno Haible  <bruno@clisp.org>
15851
15852         doc: List the target platforms.
15853         * doc/gnulib-intro.texi (Target Platforms): New section.
15854         * doc/gnulib.texi (Introduction): Update menu.
15855         * README (Portability guidelines): Refer to the new section. Update
15856         statement about oldest supported environment. Remove rationale why
15857         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
15858         unportable C89 function.
15859         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
15860         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
15861
15862 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
15863
15864         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
15865
15866 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
15867
15868         intprops-tests: new module
15869         * modules/intprops-tests, tests/test-intprops.c: New files.
15870
15871         intprops: add safe, portable integer overflow checking
15872         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
15873         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
15874         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
15875         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
15876         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
15877         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
15878         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
15879         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
15880         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
15881         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
15882         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
15883
15884 2011-05-12  James Youngman  <jay@gnu.org>
15885
15886         Add a test for glibc's Bugzilla bug #12378.
15887         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
15888         doesn't allow the literal matching of a lone "[" (which is
15889         required by POSIX).
15890         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
15891
15892 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
15893
15894         Sync glibc change fixing Bugzilla bug #12378.
15895         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
15896         beginning and fall back to matching as normal character if the
15897         string ends before the matching ']' is found.  This is what POSIX
15898         requires.
15899
15900 2011-05-13  Eric Blake  <eblake@redhat.com>
15901
15902         getcwd-lgpl: relax test for FreeBSD
15903         * doc/posix-functions/getcwd.texi (getcwd): Document portability
15904         issue.
15905         * tests/test-getcwd-lgpl.c (main): Relax test.
15906         Reported by Matthias Bolte.
15907
15908 2011-05-11  Eric Blake  <eblake@redhat.com>
15909
15910         test-fflush: silence compiler warning
15911         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
15912
15913 2011-05-11  Bruno Haible  <bruno@clisp.org>
15914
15915         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
15916         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
15917         * modules/canonicalize (Depends-on): Add 'nocrash'.
15918         * modules/canonicalize-lgpl (Depends-on): Likewise.
15919         * doc/posix-functions/realpath.texi: Update platforms list.
15920         Reported by Ryan Schmidt <ryandesign@macports.org>.
15921
15922 2011-05-11  Bruno Haible  <bruno@clisp.org>
15923
15924         group-member: Declare function in <unistd.h>.
15925         * lib/unistd.in.h (group_member): New declaration.
15926         * lib/group-member.h: Remove file.
15927         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
15928         * tests/test-unistd-c++.cc: Check signature of group_member.
15929         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
15930         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
15931         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
15932         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
15933         HAVE_GROUP_MEMBER.
15934         * modules/group-member (Files): Remove lib/group-member.h.
15935         (Depends-on): Add unistd. Specify conditions.
15936         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
15937         (Include): Change to <unistd.h>.
15938         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
15939         HAVE_GROUP_MEMBER.
15940         * NEWS: Mention the change.
15941         * lib/euidaccess.c: Don't include group-member.h.
15942
15943 2011-05-11  Bruno Haible  <bruno@clisp.org>
15944
15945         group-member: Document module.
15946         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
15947         module.
15948
15949 2011-05-11  Bruno Haible  <bruno@clisp.org>
15950
15951         fclose: Fix mistake earlier today.
15952         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
15953
15954 2011-05-11  Eric Blake  <eblake@redhat.com>
15955
15956         fclose: preserve fflush errors
15957         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
15958         Reported by Jim Meyering.
15959
15960         bootstrap: support a prereq of 'rpcgen -' on RHEL5
15961         * build-aux/bootstrap (check_versions): When no specific version
15962         is required, merely check that the app produces an exit status
15963         that indicates its existence.
15964
15965         maint.mk: drop redundant check
15966         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
15967         the same but better.
15968
15969 2011-05-11  Bruno Haible  <bruno@clisp.org>
15970
15971         fclose: Fix possible link error.
15972         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
15973         unregister_shadow_fd. Improve comments.
15974         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
15975         Eric Blake.
15976
15977 2011-05-11  Jim Meyering  <meyering@redhat.com>
15978
15979         maint.mk: improve "can not" detection and generalize rule name
15980         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
15981         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
15982         Use the same technique as in sc_prohibit_doubled_word, so that
15983         we recognize "can not" also when the words are separated by a newline.
15984         Suggested by Eric Blake.
15985         (perl_filename_lineno_text_): Define.  Factored out of...
15986         (prohibit_doubled_word_): ...here.  Use the new definition.
15987         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
15988         (prohibit_undesirable_word_seq_RE_): New overridable variable.
15989         (ignore_undesirable_word_sequence_RE_): New overridable variable.
15990
15991 2011-05-10  Eric Blake  <eblake@redhat.com>
15992
15993         fclose: avoid double close race when possible
15994         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
15995         all but WINDOWS_SOCKETS.
15996
15997 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
15998
15999         openat: correct new comment
16000         * lib/openat-proc.c (openat_proc_name): Correct the comment.
16001
16002 2011-05-10  Jim Meyering  <meyering@redhat.com>
16003
16004         openat: add comments
16005         * lib/openat-proc.c (openat_proc_name): Add comments,
16006         mostly from Eric Blake.
16007
16008 2011-05-09  Eric Blake  <eblake@redhat.com>
16009
16010         openat: reduce syscalls in first probe of /proc
16011         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
16012         be a directory.  Simplify the probe for .. bugs.
16013         * modules/openat (Depends-on): Drop same-inode.
16014         Reported by Bastien ROUCARIES.
16015
16016 2011-05-09  Jim Meyering  <meyering@redhat.com>
16017
16018         maint.mk: change semantics/name of tight_scope variables
16019         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
16020         Rename variables to align with semantics that make them more useful.
16021
16022         maint.mk: tweak new rule's name not to impinge
16023         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
16024         (sc_tight_scope): Use new rule name rather than $@-0.
16025
16026         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
16027         * top/maint.mk (sc_tight_scope): New rule.
16028         (sc_tight_scope-0): New rule, ifdef'd out.
16029         (_gl_TS_dir): Default.
16030         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
16031         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
16032
16033 2011-05-09  Simon Josefsson  <simon@josefsson.org>
16034
16035         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
16036         Haible <bruno@clisp.org>.
16037
16038 2011-05-08  Bruno Haible  <bruno@clisp.org>
16039
16040         Comments.
16041         * m4/isnanf.m4: Add comment.
16042         * m4/isnanl.m4: Likewise.
16043
16044 2011-05-08  Bruno Haible  <bruno@clisp.org>
16045
16046         glob: Remove obsolete macro.
16047         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
16048
16049 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
16050
16051         intprops: Sun C 5.11 supports __typeof__
16052         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
16053         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
16054         which is new.
16055         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
16056
16057         intprops: switch to usual gnulib indenting and naming
16058         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
16059         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
16060
16061         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
16062
16063 2011-05-08  Jim Meyering  <meyering@redhat.com>
16064
16065         maint.mk: suppress "Entering/Leaving directory" diag in announcement
16066         * top/maint.mk (release-prep): Use make's --no-print-directory
16067         option when generating the announcement.  This eliminates the
16068         pesky "make[2]: Entering/Leaving directory" diagnostics in the
16069         generated announcement template.
16070
16071 2011-05-08  Bruno Haible  <bruno@clisp.org>
16072
16073         tzset: Fix gettimeofday wrapper on Solaris 2.6.
16074         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
16075         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
16076
16077 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
16078
16079         ignore-value, verify: Omit include files from lib_SOURCES.
16080         * modules/ignore-value, modules/verify (Makefile.am):
16081         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
16082         that leads Automake to duplicate use of am__objects_... variables
16083         in Makefile.in.  See
16084         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
16085
16086 2011-05-07  Bruno Haible  <bruno@clisp.org>
16087
16088         fclose: Simplify autoconf macro.
16089         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
16090         defined.
16091
16092 2011-05-07  Bruno Haible  <bruno@clisp.org>
16093
16094         canonicalize-lgpl: Fix autoconf macro ordering bug.
16095         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
16096         gl_STDLIB_H_DEFAULTS.
16097
16098 2011-05-06  Eric Blake  <eblake@redhat.com>
16099
16100         maintainer-makefile: make sc_po_check easier to tune
16101         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
16102         to probe for strings, such as an alternate location for gnulib.
16103
16104         fclose: guarantee behavior on seekable stdin
16105         * modules/fclose (Depends-on): Add fflush.
16106         * doc/posix-functions/fclose.texi (fclose): Document this.
16107         * tests/test-fclose.c (main): Make test for this unconditional.
16108
16109 2011-05-06  Bruno Haible  <bruno@clisp.org>
16110
16111         fflush, fpurge: Relicense under LGPLv2+.
16112         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
16113         * modules/fpurge (License): Likewise.
16114         With permission from Eric Blake and Jim Meyering.
16115         Suggested by Eric Blake.
16116
16117 2011-05-06  Karl Berry  <karl@gnu.org>
16118
16119         * MODULES.html.sh (func_all_modules): remove exit.
16120
16121 2011-05-06  Jim Meyering  <meyering@redhat.com>
16122
16123         maint.mk: use info-gnu@ as the default only for a stable release
16124         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
16125         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
16126         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
16127         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
16128
16129 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
16130
16131         assert-h: new module, which supports C1X-style static_assert
16132         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
16133         * lib/verify.h: Revamp so that this can be copied into assert.h,
16134         while retaining the ability to use it standalone as before.
16135         Rename private identifiers so as not to encroach on the
16136         standard C namespace, since this is now used by assert.h.
16137         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
16138         the old verify_true.
16139         (_GL_VERIFY_TRUE): New macro, with much of the contents of
16140         the old verify_true.  Use _GL_VERIFY_TYPE.
16141         (_GL_VERIFY): New macro, with much of the contents of the old verify.
16142         (static_assert): New macro, if _GL_STATIC_ASSERT_H
16143         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
16144         defined when this file is copied into the replacement assert.h.
16145         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
16146         and _Static_assert is not built in.
16147         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
16148         defined, and use the new macros mentioned above.
16149         * doc/posix-headers/assert.texi: Document this.
16150
16151 2011-05-05  Bruno Haible  <bruno@clisp.org>
16152
16153         fclose, fflush: Respect rules for use of AC_LIBOBJ.
16154         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
16155         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
16156         gl_REPLACE_FCLOSE here.
16157         * modules/fflush (Depends-on): Remove fclose.
16158         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
16159         combination with module 'fclose'.
16160
16161 2011-05-05  Bruno Haible  <bruno@clisp.org>
16162
16163         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
16164         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
16165         gl_FUNC_FFLUSH.
16166         (gl_FUNC_FFLUSH): Use it.
16167         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
16168         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
16169         gl_REPLACE_FSEEKO here.
16170
16171 2011-05-05  Bruno Haible  <bruno@clisp.org>
16172
16173         tzset: Relicense under LGPL.
16174         * modules/tzset (License): Change to LGPL.
16175         No agreement needed; it's a no-op.
16176
16177         strtoimax, strtoumax: Relicense under LGPL.
16178         * modules/strtoimax (License): Change to LGPL.
16179         * modules/strtoumax (License): Likewise.
16180         With permission from Jim Meyering, Paul Eggert:
16181         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
16182         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
16183
16184         getgroups: Relicense under LGPL.
16185         * modules/getgroups (License): Change to LGPL.
16186         With permission from Jim Meyering, Paul Eggert, Eric Blake:
16187         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
16188         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
16189         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
16190
16191         nanosleep: Relicense under LGPL.
16192         * modules/nanosleep (License): Change to LGPL.
16193         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
16194         Haible:
16195         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
16196         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
16197         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
16198         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
16199
16200         futimens: Relicense under LGPL.
16201         * modules/futimens (License): Change to LGPL.
16202         With permission from Eric Blake:
16203         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
16204
16205         fflush: Relicense under LGPL.
16206         * modules/fflush (License): Change to LGPL.
16207         With permission from Eric Blake, Bruno Haible, Jim Meyering:
16208         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
16209         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
16210         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
16211
16212         tmpfile: Relicense under LGPL.
16213         * modules/tmpfile (License): Change to LGPL.
16214         With permission from Ben Pfaff:
16215         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
16216
16217         isfinite: Relicense under LGPL.
16218         * modules/isfinite (License): Change to LGPL.
16219         With permission from Ben Pfaff, Bruno Haible:
16220         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
16221         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
16222
16223         acosl..tanl: Relicense under LGPL.
16224         * modules/acosl (License): Change to LGPL.
16225         * modules/asinl (License): Likewise.
16226         * modules/atanl (License): Likewise.
16227         * modules/cosl (License): Likewise.
16228         * modules/expl (License): Likewise.
16229         * modules/logl (License): Likewise.
16230         * modules/sinl (License): Likewise.
16231         * modules/sqrtl (License): Likewise.
16232         * modules/tanl (License): Likewise.
16233         Source code originally from glibc and Paolo Bonzini. Agreements:
16234         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
16235         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
16236
16237 2011-05-05  Bruno Haible  <bruno@clisp.org>
16238
16239         signal: Define sighandler_t.
16240         * lib/signal.in.h (sighandler_t): New type.
16241         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
16242         whether sighandler_t is defined.
16243         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
16244         * modules/signal (Depends-on): Add extensions.
16245         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
16246         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
16247         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
16248
16249 2011-05-05  Eric Blake  <eblake@redhat.com>
16250
16251         maint: remove useless REPLACE_*_H macros
16252         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
16253         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
16254         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
16255         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
16256         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
16257         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
16258         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
16259         * m4/btowc.m4: Update callers.
16260         * m4/dirfd.m4: Likewise.
16261         * m4/duplocale.m4: Likewise.
16262         * m4/fchdir.m4: Likewise.
16263         * m4/fdopendir.m4: Likewise.
16264         * m4/inet_ntop.m4: Likewise.
16265         * m4/inet_pton.m4: Likewise.
16266         * m4/ioctl.m4: Likewise.
16267         * m4/mbrlen.m4: Likewise.
16268         * m4/mbrtowc.m4: Likewise.
16269         * m4/mbsinit.m4: Likewise.
16270         * m4/mbsnrtowcs.m4: Likewise.
16271         * m4/mbsrtowcs.m4: Likewise.
16272         * m4/poll.m4: Likewise.
16273         * m4/setlocale.m4: Likewise.
16274         * m4/wcrtomb.m4: Likewise.
16275         * m4/wcsnrtombs.m4: Likewise.
16276         * m4/wcsrtombs.m4: Likewise.
16277         * m4/wctob.m4: Likewise.
16278         * m4/wcwidth.m4: Likewise.
16279         * modules/posix_spawn: Likewise.
16280         * modules/posix_spawn_file_actions_addclose: Likewise.
16281         * modules/posix_spawn_file_actions_adddup2: Likewise.
16282         * modules/posix_spawn_file_actions_addopen: Likewise.
16283         * modules/posix_spawn_file_actions_destroy: Likewise.
16284         * modules/posix_spawn_file_actions_init: Likewise.
16285         * modules/posix_spawnattr_destroy: Likewise.
16286         * modules/posix_spawnattr_getflags: Likewise.
16287         * modules/posix_spawnattr_getpgroup: Likewise.
16288         * modules/posix_spawnattr_getschedparam: Likewise.
16289         * modules/posix_spawnattr_getschedpolicy: Likewise.
16290         * modules/posix_spawnattr_getsigdefault: Likewise.
16291         * modules/posix_spawnattr_getsigmask: Likewise.
16292         * modules/posix_spawnattr_init: Likewise.
16293         * modules/posix_spawnattr_setflags: Likewise.
16294         * modules/posix_spawnattr_setpgroup: Likewise.
16295         * modules/posix_spawnattr_setschedparam: Likewise.
16296         * modules/posix_spawnattr_setschedpolicy: Likewise.
16297         * modules/posix_spawnattr_setsigdefault: Likewise.
16298         * modules/posix_spawnattr_setsigmask: Likewise.
16299         * modules/posix_spawnp: Likewise.
16300
16301 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
16302
16303         Add option to do-release-commit-and-tag to specify branch.
16304         * build-aux/do-release-commit-and-tag: Add --branch.
16305
16306 2011-05-03  Bruno Haible  <bruno@clisp.org>
16307
16308         Avoid unnecessary compilation units, through conditional dependencies.
16309         * modules/accept (Depends-on): Add conditions to the dependencies.
16310         * modules/acosl (Depends-on): Likewise.
16311         * modules/argz (Depends-on): Likewise.
16312         * modules/asinl (Depends-on): Likewise.
16313         * modules/atanl (Depends-on): Likewise.
16314         * modules/atoll (Depends-on): Likewise.
16315         * modules/bind (Depends-on): Likewise.
16316         * modules/btowc (Depends-on): Likewise.
16317         * modules/canonicalize-lgpl (Depends-on): Likewise.
16318         * modules/ceil (Depends-on): Likewise.
16319         * modules/ceilf (Depends-on): Likewise.
16320         * modules/ceill (Depends-on): Likewise.
16321         * modules/chdir-long (Depends-on): Likewise.
16322         * modules/chown (Depends-on): Likewise.
16323         * modules/close (Depends-on): Likewise.
16324         * modules/connect (Depends-on): Likewise.
16325         * modules/cosl (Depends-on): Likewise.
16326         * modules/dirfd (Depends-on): Likewise.
16327         * modules/dprintf (Depends-on): Likewise.
16328         * modules/dprintf-posix (Depends-on): Likewise.
16329         * modules/error (Depends-on): Likewise.
16330         * modules/euidaccess (Depends-on): Likewise.
16331         * modules/expl (Depends-on): Likewise.
16332         * modules/faccessat (Depends-on): Likewise.
16333         * modules/fchdir (Depends-on): Likewise.
16334         * modules/fclose (Depends-on): Likewise.
16335         * modules/fcntl (Depends-on): Likewise.
16336         * modules/fdopendir (Depends-on): Likewise.
16337         * modules/fflush (Depends-on): Likewise.
16338         * modules/floor (Depends-on): Likewise.
16339         * modules/floorf (Depends-on): Likewise.
16340         * modules/floorl (Depends-on): Likewise.
16341         * modules/fnmatch (Depends-on): Likewise.
16342         * modules/fopen (Depends-on): Likewise.
16343         * modules/fprintf-posix (Depends-on): Likewise.
16344         * modules/frexp (Depends-on): Likewise.
16345         * modules/frexp-nolibm (Depends-on): Likewise.
16346         * modules/frexpl (Depends-on): Likewise.
16347         * modules/frexpl-nolibm (Depends-on): Likewise.
16348         * modules/fseek (Depends-on): Likewise.
16349         * modules/fsusage (Depends-on): Likewise.
16350         * modules/ftell (Depends-on): Likewise.
16351         * modules/ftello (Depends-on): Likewise.
16352         * modules/futimens (Depends-on): Likewise.
16353         * modules/getcwd (Depends-on): Likewise.
16354         * modules/getcwd-lgpl (Depends-on): Likewise.
16355         * modules/getdelim (Depends-on): Likewise.
16356         * modules/getdomainname (Depends-on): Likewise.
16357         * modules/getgroups (Depends-on): Likewise.
16358         * modules/gethostname (Depends-on): Likewise.
16359         * modules/getline (Depends-on): Likewise.
16360         * modules/getlogin_r (Depends-on): Likewise.
16361         * modules/getopt-posix (Depends-on): Likewise.
16362         * modules/getpeername (Depends-on): Likewise.
16363         * modules/getsockname (Depends-on): Likewise.
16364         * modules/getsockopt (Depends-on): Likewise.
16365         * modules/getsubopt (Depends-on): Likewise.
16366         * modules/getusershell (Depends-on): Likewise.
16367         * modules/glob (Depends-on): Likewise.
16368         * modules/grantpt (Depends-on): Likewise.
16369         * modules/iconv_open (Depends-on): Likewise.
16370         * modules/iconv_open-utf (Depends-on): Likewise.
16371         * modules/inet_ntop (Depends-on): Likewise.
16372         * modules/inet_pton (Depends-on): Likewise.
16373         * modules/ioctl (Depends-on): Likewise.
16374         * modules/isapipe (Depends-on): Likewise.
16375         * modules/isfinite (Depends-on): Likewise.
16376         * modules/isinf (Depends-on): Likewise.
16377         * modules/lchown (Depends-on): Likewise.
16378         * modules/ldexpl (Depends-on): Likewise.
16379         * modules/link (Depends-on): Likewise.
16380         * modules/linkat (Depends-on): Likewise.
16381         * modules/listen (Depends-on): Likewise.
16382         * modules/logl (Depends-on): Likewise.
16383         * modules/lstat (Depends-on): Likewise.
16384         * modules/mbrlen (Depends-on): Likewise.
16385         * modules/mbrtowc (Depends-on): Likewise.
16386         * modules/mbsinit (Depends-on): Likewise.
16387         * modules/mbsnrtowcs (Depends-on): Likewise.
16388         * modules/mbsrtowcs (Depends-on): Likewise.
16389         * modules/mbtowc (Depends-on): Likewise.
16390         * modules/memcmp (Depends-on): Likewise.
16391         * modules/mkdir (Depends-on): Likewise.
16392         * modules/mkdtemp (Depends-on): Likewise.
16393         * modules/mkfifo (Depends-on): Likewise.
16394         * modules/mkfifoat (Depends-on): Likewise.
16395         * modules/mknod (Depends-on): Likewise.
16396         * modules/mkostemp (Depends-on): Likewise.
16397         * modules/mkostemps (Depends-on): Likewise.
16398         * modules/mkstemp (Depends-on): Likewise.
16399         * modules/mkstemps (Depends-on): Likewise.
16400         * modules/mktime (Depends-on): Likewise.
16401         * modules/nanosleep (Depends-on): Likewise.
16402         * modules/open (Depends-on): Likewise.
16403         * modules/openat (Depends-on): Likewise.
16404         * modules/perror (Depends-on): Likewise.
16405         * modules/poll (Depends-on): Likewise.
16406         * modules/popen (Depends-on): Likewise.
16407         * modules/posix_spawn (Depends-on): Likewise.
16408         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
16409         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
16410         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
16411         * modules/posix_spawnp (Depends-on): Likewise.
16412         * modules/pread (Depends-on): Likewise.
16413         * modules/printf-posix (Depends-on): Likewise.
16414         * modules/ptsname (Depends-on): Likewise.
16415         * modules/putenv (Depends-on): Likewise.
16416         * modules/pwrite (Depends-on): Likewise.
16417         * modules/readline (Depends-on): Likewise.
16418         * modules/readlink (Depends-on): Likewise.
16419         * modules/readlinkat (Depends-on): Likewise.
16420         * modules/recv (Depends-on): Likewise.
16421         * modules/recvfrom (Depends-on): Likewise.
16422         * modules/regex (Depends-on): Likewise.
16423         * modules/remove (Depends-on): Likewise.
16424         * modules/rename (Depends-on): Likewise.
16425         * modules/renameat (Depends-on): Likewise.
16426         * modules/rmdir (Depends-on): Likewise.
16427         * modules/round (Depends-on): Likewise.
16428         * modules/roundf (Depends-on): Likewise.
16429         * modules/roundl (Depends-on): Likewise.
16430         * modules/rpmatch (Depends-on): Likewise.
16431         * modules/select (Depends-on): Likewise.
16432         * modules/send (Depends-on): Likewise.
16433         * modules/sendto (Depends-on): Likewise.
16434         * modules/setenv (Depends-on): Likewise.
16435         * modules/setlocale (Depends-on): Likewise.
16436         * modules/setsockopt (Depends-on): Likewise.
16437         * modules/shutdown (Depends-on): Likewise.
16438         * modules/sigaction (Depends-on): Likewise.
16439         * modules/signbit (Depends-on): Likewise.
16440         * modules/sigprocmask (Depends-on): Likewise.
16441         * modules/sinl (Depends-on): Likewise.
16442         * modules/sleep (Depends-on): Likewise.
16443         * modules/snprintf (Depends-on): Likewise.
16444         * modules/snprintf-posix (Depends-on): Likewise.
16445         * modules/socket (Depends-on): Likewise.
16446         * modules/sprintf-posix (Depends-on): Likewise.
16447         * modules/sqrtl (Depends-on): Likewise.
16448         * modules/stat (Depends-on): Likewise.
16449         * modules/strchrnul (Depends-on): Likewise.
16450         * modules/strdup-posix (Depends-on): Likewise.
16451         * modules/strerror (Depends-on): Likewise.
16452         * modules/strerror_r-posix (Depends-on): Likewise.
16453         * modules/strndup (Depends-on): Likewise.
16454         * modules/strnlen (Depends-on): Likewise.
16455         * modules/strptime (Depends-on): Likewise.
16456         * modules/strsep (Depends-on): Likewise.
16457         * modules/strsignal (Depends-on): Likewise.
16458         * modules/strstr-simple (Depends-on): Likewise.
16459         * modules/strtod (Depends-on): Likewise.
16460         * modules/strtoimax (Depends-on): Likewise.
16461         * modules/strtok_r (Depends-on): Likewise.
16462         * modules/strtoumax (Depends-on): Likewise.
16463         * modules/symlink (Depends-on): Likewise.
16464         * modules/symlinkat (Depends-on): Likewise.
16465         * modules/tanl (Depends-on): Likewise.
16466         * modules/tcgetsid (Depends-on): Likewise.
16467         * modules/tmpfile (Depends-on): Likewise.
16468         * modules/trunc (Depends-on): Likewise.
16469         * modules/truncf (Depends-on): Likewise.
16470         * modules/truncl (Depends-on): Likewise.
16471         * modules/uname (Depends-on): Likewise.
16472         * modules/unlink (Depends-on): Likewise.
16473         * modules/unlockpt (Depends-on): Likewise.
16474         * modules/unsetenv (Depends-on): Likewise.
16475         * modules/usleep (Depends-on): Likewise.
16476         * modules/utimensat (Depends-on): Likewise.
16477         * modules/vasprintf (Depends-on): Likewise.
16478         * modules/vdprintf (Depends-on): Likewise.
16479         * modules/vdprintf-posix (Depends-on): Likewise.
16480         * modules/vfprintf-posix (Depends-on): Likewise.
16481         * modules/vprintf-posix (Depends-on): Likewise.
16482         * modules/vsnprintf (Depends-on): Likewise.
16483         * modules/vsnprintf-posix (Depends-on): Likewise.
16484         * modules/vsprintf-posix (Depends-on): Likewise.
16485         * modules/wcrtomb (Depends-on): Likewise.
16486         * modules/wcscasecmp (Depends-on): Likewise.
16487         * modules/wcscspn (Depends-on): Likewise.
16488         * modules/wcsdup (Depends-on): Likewise.
16489         * modules/wcsncasecmp (Depends-on): Likewise.
16490         * modules/wcsnrtombs (Depends-on): Likewise.
16491         * modules/wcspbrk (Depends-on): Likewise.
16492         * modules/wcsrtombs (Depends-on): Likewise.
16493         * modules/wcsspn (Depends-on): Likewise.
16494         * modules/wcsstr (Depends-on): Likewise.
16495         * modules/wcstok (Depends-on): Likewise.
16496         * modules/wcswidth (Depends-on): Likewise.
16497         * modules/wctob (Depends-on): Likewise.
16498         * modules/wctomb (Depends-on): Likewise.
16499         * modules/wctype (Depends-on): Likewise.
16500         * modules/wcwidth (Depends-on): Likewise.
16501         * modules/write (Depends-on): Likewise.
16502
16503 2011-05-03  Bruno Haible  <bruno@clisp.org>
16504
16505         Support for conditional dependencies.
16506         * doc/gnulib.texi (Module description): Document the syntax of
16507         conditional dependencies.
16508         * gnulib-tool: New option --conditional-dependencies.
16509         (func_usage): Document it.
16510         (cond_dependencies): New variable.
16511         (func_get_automake_snippet_conditional,
16512         func_get_automake_snippet_unconditional): New functions, extracted from
16513         func_get_automake_snippet.
16514         (func_get_automake_snippet): Use them.
16515         (sed_first_32_chars): New variable.
16516         (func_module_shellfunc_name): New function.
16517         (func_module_shellvar_name): New function.
16518         (func_module_conditional_name): New function.
16519         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
16520         func_cond_module_condition): New functions.
16521         (func_modules_transitive_closure): Add support for conditional
16522         dependencies.
16523         (func_emit_lib_Makefile_am): For a conditional module, enclose the
16524         conditional automake snippet in an automake conditional.
16525         (func_emit_autoconf_snippets): Emit shell functions that contain the
16526         code for conditional modules.
16527         (func_import, func_create_testdir): Update specification.
16528
16529 2011-05-03  Eric Blake  <eblake@redhat.com>
16530
16531         test-getaddrinfo: report error information
16532         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
16533
16534 2011-05-03  Jim Meyering  <meyering@redhat.com>
16535
16536         bootstrap: avoid build failure when $GZIP is set
16537         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
16538         program name.  If defined at all, it is supposed to list gzip options.
16539         Reported by Alan Curry in http://debbugs.gnu.org/8609
16540
16541 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
16542
16543         readme-release: new module with release instructions
16544         * modules/readme-release: New module.
16545         * top/README-release: New file, from coreutils, grep, diffutils.
16546         * MODULES.html.sh (Support for maintaining and releasing): Add it.
16547
16548 2011-05-02  Eric Blake  <eblake@redhat.com>
16549
16550         fflush: also replace fclose when fixing fflush
16551         * modules/fflush (Depends-on): Add fclose.
16552         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
16553         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
16554         memstreams with no backing fd.
16555         * doc/posix-functions/fclose.texi (fclose): Document the use of
16556         fflush module to fix the bug.
16557         * tests/test-fclose.c (main): Relax test when fclose is used in
16558         isolation.
16559
16560         fclose: add some tests
16561         * modules/fclose-tests: New test module.
16562         * tests/test-fclose.c: New file.
16563         * doc/posix-functions/fclose.texi (fclose): Document the bug.
16564
16565         fclose: reduced dependencies
16566         * modules/fclose (Depends-on): Switch from fflush/fseeko to
16567         simpler lseek.
16568         * lib/fclose.c (rpl_fclose): Likewise.
16569         Reported by Simon Josefsson.
16570
16571         exit: drop remaining clients
16572         * modules/argmatch (Depends-on): Replace exit with stdlib.
16573         * modules/copy-file (Depends-on): Likewise.
16574         * modules/execute (Depends-on): Likewise.
16575         * modules/exitfail (Depends-on): Likewise.
16576         * modules/obstack (Depends-on): Likewise.
16577         * modules/pagealign_alloc (Depends-on): Likewise.
16578         * modules/pipe-filter-gi (Depends-on): Likewise.
16579         * modules/pipe-filter-ii (Depends-on): Likewise.
16580         * modules/savewd (Depends-on): Likewise.
16581         * modules/spawn-pipe (Depends-on): Likewise.
16582         * modules/wait-process (Depends-on): Likewise.
16583         * modules/xsetenv (Depends-on): Likewise.
16584         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
16585         * modules/git-merge-changelog (Depends-on): Likewise.
16586         * modules/long-options (Depends-on): Likewise.
16587         * modules/pt_chown (Depends-on): Likewise.
16588         * modules/sysexits (Depends-on): Likewise.
16589
16590         freading: relax license from LGPLv3+ to LGPLv2+
16591         * modules/freading (License): Relax LGPL version.
16592
16593 2011-05-02  Bruno Haible  <bruno@clisp.org>
16594
16595         fchdir: Remove unused dependencies.
16596         * modules/fchdir (Depends-on): Remove include_next.
16597
16598 2011-05-02  Bruno Haible  <bruno@clisp.org>
16599
16600         gnulib-tool: Refactor.
16601         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
16602         from func_emit_autoconf_snippets.
16603         (func_emit_autoconf_snippets): Use it.
16604
16605 2011-05-02  Simon Josefsson  <simon@josefsson.org>
16606
16607         * NEWS: Document removal of 'exit'.
16608         * modules/exit: Remove file.
16609
16610 2011-05-01  Bruno Haible  <bruno@clisp.org>
16611
16612         Update DEPENDENCIES.
16613         * DEPENDENCIES (gettext): Recommend the newest release.
16614         Reported by Simon Josefsson.
16615
16616 2011-05-01  Bruno Haible  <bruno@clisp.org>
16617
16618         gnulib-tool: Reduce code duplication.
16619         * gnulib-tool (func_emit_autoconf_snippets): New function.
16620         (func_import, func_create_testdir): Use it.
16621
16622 2011-04-30  Eric Blake  <eblake@redhat.com>
16623
16624         fclose: don't fail on non-seekable input stream
16625         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
16626         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
16627         since fflush is allowed to fail in that case.
16628
16629 2011-04-30  Bruno Haible  <bruno@clisp.org>
16630
16631         dup3: cleanup
16632         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
16633
16634 2011-04-30  Bruno Haible  <bruno@clisp.org>
16635
16636         netdb: Make it work in C++ mode.
16637         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
16638         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
16639         module.
16640         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
16641         gl_MODULE_INDICATOR_FOR_TESTS.
16642         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
16643         * modules/netdb-c++-tests: New file.
16644         * tests/test-netdb-c++.cc: New file.
16645
16646 2011-04-30  Bruno Haible  <bruno@clisp.org>
16647
16648         New modules 'vfscanf', 'vscanf'.
16649         * modules/vfscanf: New file.
16650         * modules/vscanf: New file.
16651         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
16652         here.
16653         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
16654         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
16655
16656 2011-04-30  Bruno Haible  <bruno@clisp.org>
16657
16658         passfd: Add comments.
16659         * lib/passfd.c: Add comments about platforms.
16660
16661 2011-04-30  Bruno Haible  <bruno@clisp.org>
16662
16663         sys_uio: Make <sys/uio.h> self-contained.
16664         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
16665         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
16666
16667 2011-04-30  Bruno Haible  <bruno@clisp.org>
16668
16669         sys_socket: Ensure 'struct iovec' definition.
16670         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
16671         <sys/socket.h>.
16672         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
16673
16674 2011-04-30  Bruno Haible  <bruno@clisp.org>
16675
16676         sys_uio: Protect definition of 'struct iovec'.
16677         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
16678         it as a C struct.
16679
16680 2011-04-30  Bruno Haible  <bruno@clisp.org>
16681
16682         manywarnings: fix indentation
16683         * m4/manywarnings.m4: Indent by 2 spaces consistently.
16684
16685 2011-04-30  Pádraig Brady <P@draigBrady.com>
16686
16687         manywarnings: add -Wno-missing-field-initializers if needed.
16688         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
16689         option if it's needed to allow initialization with { 0, }
16690
16691 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
16692
16693         announce-gen: cosmetic improvement
16694         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
16695
16696 2011-04-29  Jim Meyering  <meyering@redhat.com>
16697
16698         vc-list-files: indent with spaces, not TABs
16699         * build-aux/vc-list-files: Convert leading TABs to spaces,
16700         to match the style of most other files in gnulib.
16701
16702         announce-gen: indent with spaces, not TABs
16703         * build-aux/announce-gen: Convert all TABs to spaces, to match
16704         the style of most other files in gnulib.
16705
16706 2011-04-29  Eric Blake  <eblake@redhat.com>
16707
16708         quotearg: avoid uninitialized variable use
16709         * lib/quotearg.c (quoting_options_from_style): Initialize
16710         remaining fields, and ensure that custom styles are only used via
16711         quoting_options rather than quoting_style.
16712
16713 2011-04-29  Jim Meyering  <meyering@redhat.com>
16714
16715         maint.mk: remove unused VC-tag variable
16716         * top/maint.mk (VC-tag): Remove unused variable.
16717
16718 2011-04-29  Bruno Haible  <bruno@clisp.org>
16719
16720         netdb: fix gai_strerror replacements
16721         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
16722         * modules/netdb: Substitute it.
16723
16724 2011-04-29  Jim Meyering  <meyering@redhat.com>
16725
16726         test-getcwd.c: avoid new set-but-not-used warning
16727         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
16728         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
16729         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
16730         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
16731
16732         test-hash.c: avoid a new shadowing warning
16733         * tests/test-hash.c (main): Don't shadow "dup".
16734
16735 2011-04-28  Eric Blake  <eblake@redhat.com>
16736
16737         getaddrinfo: fix gai_strerror signature
16738         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
16739         and work around mingw with UNICODE defined.
16740         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
16741         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
16742         * modules/netdb (Makefile.am): Substitute it.
16743         * lib/netdb.in.h (gai_strerror): Declare replacement.
16744         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
16745         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
16746         the fix.
16747
16748         getsockopt: avoid compiler warning
16749         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
16750         Reported by Matthias Bolte.
16751
16752         tests: drop unused link dependency
16753         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
16754         * modules/dirent-safer-tests (Makefile.am): Likewise.
16755         * modules/fdopendir-tests (Makefile.am): Likewise.
16756         * modules/mkfifoat-tests (Makefile.am): Likewise.
16757         * modules/openat-safer-tests (Makefile.am): Likewise.
16758         * modules/openat-tests (Makefile.am): Likewise.
16759         * modules/readlinkat-tests (Makefile.am): Likewise.
16760         * modules/symlinkat-tests (Makefile.am): Likewise.
16761         * modules/linkat-tests (Makefile.am): Likewise.
16762         (Depends-on): Switch to filenamecat-lgpl.
16763         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
16764         LIBINTL.
16765         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
16766         * tests/test-linkat.c (main): Don't require xalloc.
16767
16768         hash, mgetgroups: drop xalloc dependency
16769         * lib/hash.c (includes): Adjust includes.
16770         * lib/mgetgroups.c (includes): Likewise.
16771         (xgetgroups): Move...
16772         * lib/xgetgroups.c: ...to new file.
16773         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
16774         * modules/xgetgroups: New file, split from...
16775         * modules/mgetgroups: ...here.
16776         (Depends-on): Add xalloc-oversized.
16777         * modules/hash (Depends-on): Likewise.
16778         * modules/hash-tests (Depends-on): Drop xalloc.
16779         (test_hash_LDADD): Drop unused library.
16780         * tests/test-hash.c (main): Break xalloc dependency.
16781         (includes): Drop unused include.
16782
16783         xalloc-oversized: new module
16784         * modules/xalloc-oversized: New module.
16785         * modules/xalloc (Depends-on): Add it.
16786         * lib/xalloc.h (xalloc_oversized): Move...
16787         * lib/xalloc-oversized.h: ...into new file.
16788
16789         utimecmp: drop dependency on xmalloc
16790         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
16791         due to memory pressure.
16792         * modules/utimecmp (Depends-on): Drop xalloc.
16793
16794 2011-04-27  Eric Blake  <eblake@redhat.com>
16795
16796         getcwd: fix mingw bugs
16797         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
16798         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
16799         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
16800
16801 2011-04-27  Bruno Haible  <bruno@clisp.org>
16802
16803         mkstemps: Ensure declaration on MacOS X 10.5.
16804         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
16805         * doc/glibc-functions/mkstemps.texi: Document header file problem on
16806         MacOS X.
16807
16808 2011-04-27  Bruno Haible  <bruno@clisp.org>
16809
16810         mkstemp: More documentation.
16811         * doc/posix-functions/mkstemp.texi: Document header file problem on
16812         MacOS X.
16813
16814 2011-04-27  Bruno Haible  <bruno@clisp.org>
16815
16816         mkstemp: Tweak configure message when cross-compiling.
16817         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
16818         result as a guess.
16819
16820 2011-04-27  Bruno Haible  <bruno@clisp.org>
16821
16822         clean-temp: Clarify what it does.
16823         * lib/clean-temp.h: Add more comments.
16824         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
16825         module.
16826         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
16827         * doc/glibc-functions/mkstemps.texi: Likewise.
16828         * doc/glibc-functions/mkostemps.texi: Likewise.
16829
16830 2011-04-27  Eric Blake  <eblake@redhat.com>
16831
16832         fchdir: avoid extra chdir and fix test
16833         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
16834         getcwd-lgpl.
16835         * lib/fchdir.c (get_name): Any absolute name will do; it does not
16836         have to be canonical.
16837         (canonicalize_file_name): Drop unused macro.
16838         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
16839
16840         filenamecat-lgpl: fix licence
16841         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
16842         when it was first created.
16843
16844         linkat, renameat: add missing dependency
16845         * modules/linkat (Depends-on): Require getcwd-lgpl.
16846         * modules/renameat (Depends-on): Likewise.
16847
16848         tests: reduce dependencies
16849         * tests/test-linkat.c (main): Use lighter-weight getcwd.
16850         * tests/test-renameat.c (main): Likewise.
16851         * modules/linkat-tests (Depends-on): Relax dependency.
16852         * modules/renameat-tests (Depends-on): Likewise.
16853         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
16854         dependency explicit.
16855
16856         save-cwd: reduce default dependency
16857         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
16858         * lib/save-cwd.c: Update comments.
16859         * NEWS: Document the semantic change.
16860
16861         getcwd: enhance tests
16862         * tests/test-getcwd-lgpl.c: New file, taken from...
16863         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
16864         repeat long path stress tests from m4 probe.
16865         * modules/getcwd-lgpl-tests: New module.
16866         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
16867         * m4/getcwd-abort-bug.m4: Update comment.
16868         * m4/getcwd-path-max.m4: Likewise.
16869
16870         getcwd-lgpl: new module
16871         * modules/getcwd-lgpl: New module.
16872         * lib/getcwd-lgpl.c: New file.
16873         * doc/posix-functions/getcwd.texi (getcwd): Document it.
16874         * MODULES.html.sh (lacking POSIX:2008): Likewise.
16875         * modules/getcwd (configure.ac): Set C witness.
16876         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
16877
16878         getcwd: tweak comments
16879         * m4/getcwd-abort-bug.m4: Fix comments.
16880         * m4/getcwd-path-max.m4: Likewise.
16881         * m4/getcwd.m4: Likewise.
16882
16883 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
16884         and Eric Blake  <eblake@redhat.com>
16885
16886         mkstemp: replace if system version uses wrong permissions
16887         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
16888         read/write mode bits set in file created by mkstemp.
16889         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
16890
16891 2011-04-27  Eric Blake  <eblake@redhat.com>
16892
16893         passfd: avoid compiler warning
16894         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
16895         Reported by Laine Stump.
16896
16897 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
16898
16899         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
16900         required by the NetBSD (and perhaps other 4.4BSD derived) join.
16901
16902 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
16903         and Eric Blake  <eblake@redhat.com>
16904
16905         mkstemp: mention clean-temp module
16906         * lib/mkstemp.c: Add comment.
16907         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
16908
16909 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
16910
16911         inttypes: also provide default values for 32-bit tests
16912         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
16913         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
16914
16915 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
16916
16917         strtoumax: remove dependency on strtoimax
16918         This is like the strtoull change of yesterday.
16919         * modules/strtoumax (Files): Add lib/strtoimax.c.
16920         (Depends-on): Remove strtoimax and add verify.
16921
16922         inttypes-incomplete: new module
16923         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
16924         all but the PRI* and SCN* parts of gl_INTTYPES_H.
16925         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
16926         of gl_INTTYPES_H.
16927         (gl_INTTYPES_H): Rewrite in terms of these new macros.
16928         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
16929         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
16930         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
16931         * modules/strtoumax, modules/xstrtol (Depends-on):
16932         Depend on inttypes-incomplete, not inttypes.
16933         * modules/inttypes-incomplete: New module, containing the contents
16934         of the old modules/inttypes module, except that the Files: section
16935         omits m4/inttypes-pri.m4, and the configure.ac section invokes
16936         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
16937         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
16938         (Depends-on): Depend only on inttypes-incomplete.
16939         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
16940
16941         inttypes: omit now-redundant strtoimax and strtoumax work
16942         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
16943         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
16944
16945         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
16946         This supports apps that need pointers to strtoimax and strtoumax,
16947         and ports to HP-UX 11.00 64.bit, which has macros that expand to
16948         nonexistent functions.  See
16949         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
16950         et seq.
16951         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
16952         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
16953         a macro.
16954         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
16955
16956 2011-04-25  Simon Josefsson  <simon@josefsson.org>
16957
16958         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
16959
16960 2011-04-25  Bruno Haible  <bruno@clisp.org>
16961
16962         strtol, strtoul: Mark modules as obsolete.
16963         * modules/strtol (Status, Notice): New sections.
16964         * modules/strtoul (Status, Notice): New sections.
16965
16966 2011-04-25  Bruno Haible  <bruno@clisp.org>
16967
16968         strtod: Remove check for strtod, unless supporting old platforms.
16969         * modules/strtod-obsolete: New file.
16970         * m4/strtod-obsolete.m4: New file.
16971         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
16972         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
16973         * modules/strtod (Depends-on): Add strtod-obsolete.
16974         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
16975
16976 2011-04-25  Bruno Haible  <bruno@clisp.org>
16977
16978         strcase: Make module obsolete.
16979         * modules/strcase (Status, Notice): New sections.
16980
16981 2011-04-25  Bruno Haible  <bruno@clisp.org>
16982
16983         dup2: Remove check for dup2, unless supporting old obsolete platforms.
16984         * modules/dup2-obsolete: New file.
16985         * m4/dup2-obsolete.m4: New file.
16986         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
16987         gl_FUNC_DUP2_OBSOLETE is not also defined.
16988         * modules/dup2 (Depends-on): Add dup2-obsolete.
16989         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
16990
16991 2011-04-25  Bruno Haible  <bruno@clisp.org>
16992
16993         strnlen: Avoid memchr related link error on old obsolete platforms.
16994         * modules/memchr-obsolete: New file.
16995         * m4/memchr-obsolete.m4: New file.
16996         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
16997         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
16998         * modules/memchr (Depends-on): Add memchr-obsolete.
16999         * modules/strnlen (Depends-on): Likewise.
17000         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
17001
17002 2011-04-25  Jim Meyering  <meyering@redhat.com>
17003
17004         maint.mk: makefile_at_at_check extend and clean up
17005         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
17006         in addition to */Makefile.am.
17007         Exempt legitimate uses of @VAR@ notation, e.g.,
17008         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
17009         Remove obsolete coreutils-specific comment.
17010         Prompted by discussion here:
17011         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
17012
17013 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
17014
17015         strtoul: remove dependency on strtol
17016         This is so that 'configure' need not check for strtol merely because
17017         the application needs strtoul.
17018         * modules/strtoul (Files): Add lib/strtol.c.
17019         (Depends-on): Remove strtol.
17020
17021         strtoull: remove dependency on strtoul
17022         This is like the strtoll change.
17023         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
17024         (Depends-on): Remove strtoul.
17025
17026         strtoll: remove dependency on strtol
17027         This is so that 'configure' need not check for strtol merely because
17028         the application needs strtoll.
17029         * modules/strtoll (Files): Add lib/strtol.c.
17030         (Depends-on): Remove strtol.
17031
17032 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
17033
17034         inttypes: Move some configure check to module 'imaxdiv'.
17035         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
17036         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
17037         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
17038
17039 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
17040
17041         inttypes: Move some configure check to module 'imaxabs'.
17042         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
17043         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
17044         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
17045
17046 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
17047
17048         inttypes: Remove configure tests that are not needed since 2009-12-31.
17049         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
17050         gl_cv_header_working_inttypes_h.
17051
17052 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
17053
17054         * modules/strnlen (Depends-on): Remove memchr.
17055         The strnlen implementation doesn't need the memchr module's fixes; see
17056         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
17057
17058         strtol: remove dependency on wchar
17059         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
17060         * modules/strtol (Depends-on): Remove wchar.
17061
17062 2011-04-21  Eric Blake  <eblake@redhat.com>
17063
17064         passfd: fix test regression on Linux
17065         * modules/passfd-tests (configure.ac): Correct socketpair check.
17066
17067         passfd: speed up configure and drop unused code
17068         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
17069         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
17070         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
17071         Instead of probing at configure for unix_scm_rights_bsd44_way,
17072         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
17073         check to a struct member probe.
17074         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
17075         (sendfd, recvfd): Update preprocessor checks.
17076         * modules/passfd (Files): Reflect rename, and drop unused file.
17077         (Depends-on): Drop unused dependency.
17078
17079         passfd: allow compilation on mingw
17080         * modules/sys_socket (Depends-on): Add sys_uio.
17081         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
17082         iovec and a minimal struct msghdr.
17083         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
17084         * tests/test-sys_socket.c (main): Enhance test.
17085         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
17086         guaranteed to provide what we need.
17087         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
17088         * modules/passfd-tests (Depends-on): Add sys_wait.
17089         * tests/test-passfd.c (main): Skip test on mingw, for now.
17090         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
17091         partial 'struct msghdr' implementation.
17092
17093         sys_uio: new module
17094         * modules/sys_uio: New module.
17095         * modules/sys_uio-tests: Likewise.
17096         * lib/sys_uio.in.h: New file.
17097         * m4/sys_uio_h.m4: Likewise.
17098         * tests/test-sys_uio.c: Likewise.
17099         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
17100         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
17101
17102 2011-04-20  Jim Meyering  <meyering@redhat.com>
17103
17104         useless-if-before-free: avoid false-positive
17105         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
17106         disjunct so that it too requires a terminating ";".  Without that,
17107         this script would identify as useless one statement from gcc that
17108         was not:
17109           if (aligned_ptr)
17110             free (((void **) aligned_ptr) [-1]);
17111
17112 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
17113
17114         doc: update users.txt.
17115         * users.txt: Add barcode.
17116
17117 2011-04-19  Bruno Haible  <bruno@clisp.org>
17118
17119         ioctl: Remove link dependency on native Windows.
17120         * lib/fd-hook.h: Renamed from lib/close-hook.h.
17121         (gl_close_fn, gl_ioctl_fn): New types.
17122         (struct fd_hook): Renamed from struct close_hook. Change type of
17123         private_close_fn field. Add private_ioctl_fn field.
17124         (close_hook_fn): Add parameter for primary close method.
17125         (execute_close_hooks, execute_all_close_hooks): Likewise.
17126         (ioctl_hook_fn): New type.
17127         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
17128         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
17129         argument.
17130         (unregister_fd_hook): Renamed from unregister_close_hook.
17131         * lib/fd-hook.c: Renamed from lib/close-hook.c.
17132         Don't include <unistd.h>.
17133         (close): Remove undef.
17134         (anchor): Update.
17135         (execute_close_hooks): Add argument for primary close method.
17136         (execute_all_close_hooks): Likewise.
17137         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
17138         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
17139         argument. Allow each argument to be NULL.
17140         (unregister_fd_hook): Renamed from unregister_close_hook.
17141         * lib/close.c (rpl_close): Pass 'close' function pointer to
17142         execute_all_close_hooks.
17143         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
17144         (primary_ioctl): New function.
17145         (ioctl): Don't call ioctlsocket here. Instead, call
17146         execute_all_ioctl_hooks.
17147         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
17148         close method.
17149         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
17150         (fd_sockets_hook): Renamed from close_sockets_hook.
17151         (gl_sockets_startup, gl_sockets_cleanup): Update.
17152         * modules/fd-hook: Renamed from modules/close-hook. Update.
17153         * modules/close (Depends-on): Add fd-hook, remove close-hook.
17154         * modules/sockets (Depends-on): Likewise.
17155         * modules/ioctl (Depends-on): Add fd-hook.
17156         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
17157         GNULIB_SOCKET.
17158
17159 2011-04-19  Bruno Haible  <bruno@clisp.org>
17160
17161         Move the support of O_NONBLOCK in open() to the 'open' module.
17162         * modules/nonblocking (Depends-on): Remove 'open'.
17163         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
17164         gl_cv_have_open_O_NONBLOCK.
17165         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
17166         O_NONBLOCK support.
17167         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
17168
17169 2011-04-17  Bruno Haible  <bruno@clisp.org>
17170
17171         pipe2: Simplify code.
17172         * lib/pipe2.c (pipe2): Reduce code duplication.
17173
17174 2011-04-17  Bruno Haible  <bruno@clisp.org>
17175
17176         nonblocking: Add comment.
17177         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
17178
17179 2011-04-17  Bruno Haible  <bruno@clisp.org>
17180
17181         nonblocking: Add tests for sockets.
17182         * tests/test-nonblocking-socket.sh: New file.
17183         * tests/test-nonblocking-socket-main.c: New file.
17184         * tests/test-nonblocking-socket-child.c: New file.
17185         * tests/test-nonblocking-socket.h: New file.
17186         * tests/socket-server.h: New file.
17187         * tests/socket-client.h: New file.
17188         * modules/nonblocking-socket-tests: New file.
17189         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
17190
17191 2011-04-17  Bruno Haible  <bruno@clisp.org>
17192
17193         nonblocking: Add tests for pipes.
17194         * tests/test-nonblocking-pipe.sh: New file.
17195         * tests/test-nonblocking-pipe-main.c: New file.
17196         * tests/test-nonblocking-pipe-child.c: New file.
17197         * tests/test-nonblocking-pipe.h: New file.
17198         * tests/test-nonblocking-writer.h: New file.
17199         * tests/test-nonblocking-reader.h: New file.
17200         * tests/test-nonblocking-misc.h: New file.
17201         * modules/nonblocking-pipe-tests: New file.
17202         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
17203
17204 2011-04-16  Bruno Haible  <bruno@clisp.org>
17205
17206         gettext: Clarify the needed programmer actions.
17207         * modules/gettext (Notice): New field.
17208         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
17209
17210 2011-04-16  Bruno Haible  <bruno@clisp.org>
17211
17212         strchrnul: Tweak last commit.
17213         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
17214         bug.
17215         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
17216         as in _GL_FUNCDECL_SYS.
17217         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
17218         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
17219
17220 2011-04-15  Eric Blake  <eblake@redhat.com>
17221
17222         strchrnul: work around cygwin bug
17223         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
17224         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
17225         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
17226         * modules/string (Makefile.am): Substitute it.
17227         * lib/string.in.h (strchrnul): Use it.
17228
17229 2011-04-15  Bruno Haible  <bruno@clisp.org>
17230
17231         Don't require lib/stdio-write.c when only module 'stdio' is used.
17232         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
17233         invocation.
17234         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
17235
17236 2011-04-14  Bruno Haible  <bruno@clisp.org>
17237
17238         Support non-blocking pipe I/O in read() on native Windows.
17239         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
17240         (read): New declaration.
17241         * lib/read.c: New file.
17242         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
17243         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
17244         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
17245         vscanf): New declarations.
17246         * lib/stdio-read.c: New file.
17247         * m4/read.m4: New file.
17248         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
17249         REPLACE_READ.
17250         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
17251         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
17252         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
17253         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
17254         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
17255         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
17256         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
17257         * modules/read: New file.
17258         * modules/nonblocking (Files): Add lib/stdio-read.c.
17259         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
17260         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
17261         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
17262         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
17263         * modules/pread (Depends-on): Add read.
17264         * modules/safe-read (Depends-on): Likewise.
17265         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
17266         gets, scanf, vfscanf, vscanf): Verify signatures.
17267         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
17268         problem with non-blocking pipes.
17269         * doc/posix-functions/fgetc.texi: Likewise.
17270         * doc/posix-functions/fgets.texi: Likewise.
17271         * doc/posix-functions/fread.texi: Likewise.
17272         * doc/posix-functions/fscanf.texi: Likewise.
17273         * doc/posix-functions/getc.texi: Likewise.
17274         * doc/posix-functions/getchar.texi: Likewise.
17275         * doc/posix-functions/gets.texi: Likewise.
17276         * doc/posix-functions/scanf.texi: Likewise.
17277         * doc/posix-functions/vfscanf.texi: Likewise.
17278         * doc/posix-functions/vscanf.texi: Likewise.
17279
17280 2011-04-14  Bruno Haible  <bruno@clisp.org>
17281
17282         Support non-blocking pipe I/O in write() on native Windows.
17283         * lib/write.c (rpl_write): Split a write request that failed merely
17284         because the byte count was larger than the pipe buffer's size.
17285         * doc/posix-functions/write.texi: Mention the problem with large byte
17286         counts.
17287
17288 2011-04-14  Bruno Haible  <bruno@clisp.org>
17289
17290         wchar: Ensure that wchar_t gets defined on uClibc.
17291         * lib/wchar.in.h: On uClibc, include <stddef.h>.
17292         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
17293
17294 2011-04-13  Bruno Haible  <bruno@clisp.org>
17295
17296         safe-write, full-read: Avoid unnecessary compilation units.
17297         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
17298         (Depends-on): Remove safe-read. Add ssize_t.
17299         * modules/full-read (Files): Add lib/full-write.c.
17300         (Depends-on): Add full-write.
17301
17302 2011-04-13  Bruno Haible  <bruno@clisp.org>
17303
17304         Support non-blocking pipe I/O and SIGPIPE in pwrite().
17305         * modules/pwrite (Depends-on): Add 'write'.
17306
17307 2011-04-13  Bruno Haible  <bruno@clisp.org>
17308
17309         Support non-blocking pipe I/O in write() on native Windows.
17310         * lib/unistd.in.h (write): Enable replacement also if
17311         GNULIB_UNISTD_H_NONBLOCKING is 1.
17312         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
17313         (rpl_write): When failing to write on a non-blocking pipe, change
17314         errno from ENOSPC to EAGAIN.
17315         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
17316         putchar, puts, vfprintf, vprintf): Enable replacement also if
17317         GNULIB_STDIO_H_NONBLOCKING is 1.
17318         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
17319         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
17320         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
17321         CALL_WITH_SIGPIPE_EMULATION.
17322         (CALL_WITH_SIGPIPE_EMULATION): Use them.
17323         * m4/nonblocking.m4: New file.
17324         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
17325         for non-blocking I/O support.
17326         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
17327         GNULIB_UNISTD_H_NONBLOCKING.
17328         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
17329         required for non-blocking I/O support.
17330         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
17331         * modules/nonblocking (Files): Add m4/nonblocking.m4,
17332         lib/stdio-write.c, m4/asm-underscore.m4.
17333         (Depends-on): Add stdio, unistd.
17334         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
17335         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
17336         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
17337         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
17338         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
17339         problem with non-blocking pipes.
17340         * doc/posix-functions/fputc.texi: Likewise.
17341         * doc/posix-functions/fputs.texi: Likewise.
17342         * doc/posix-functions/fwrite.texi: Likewise.
17343         * doc/posix-functions/printf.texi: Likewise.
17344         * doc/posix-functions/putc.texi: Likewise.
17345         * doc/posix-functions/putchar.texi: Likewise.
17346         * doc/posix-functions/puts.texi: Likewise.
17347         * doc/posix-functions/vfprintf.texi: Likewise.
17348         * doc/posix-functions/vprintf.texi: Likewise.
17349         * doc/posix-functions/write.texi: Likewise.
17350
17351 2011-04-10  Jim Meyering  <meyering@redhat.com>
17352
17353         maint.mk: prohibit doubled words
17354         Detect them also when they're separated by a newline.
17355         There are 3 ways to customize it:
17356           - disable the test on a per file basis, as usual with rules using
17357             $(VC_LIST_EXCEPT)
17358           - replace the default doubled-word-selecting regexp (affects all files)
17359           - ignore a particular file-vs-doubled-word match
17360         I nearly used that last one to ignore the "is is" match in
17361         coreutils' NEWS file, since the text was "ls -is is ..."
17362         To do that, I would have added this line to cfg.mk:
17363           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
17364         but it would have ignored any "is is" match in NEWS.
17365         Low probability, but still...
17366         Instead, I changed the text, slightly:
17367           -  ls -is is now consistent with ls -lis in ignoring values returned
17368           +  "ls -is" is now consistent with ls -lis in ignoring values returned
17369         * top/maint.mk (prohibit_double_word_RE_): Provide default.
17370         (prohibit_doubled_word_): Define.
17371         (sc_prohibit_doubled_word): New rule.
17372         (sc_prohibit_the_the): Remove.  Subsumed by the above.
17373
17374 2011-04-10  Jim Meyering  <meyering@redhat.com>
17375
17376         maint: fix doubled-word typo in comment
17377         * m4/gethostname.m4: s/is is/it is/
17378         * m4/getdomainname.m4: Likewise.
17379
17380 2011-04-10  Jim Meyering  <meyering@redhat.com>
17381
17382         maint: remove doubled word: s/it it/it/
17383         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
17384
17385 2011-04-10  Jim Meyering  <meyering@redhat.com>
17386
17387         maint.mk: remove useless semicolon and backslash
17388         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
17389         semicolon and backslash.
17390
17391 2011-04-10  Bruno Haible  <bruno@clisp.org>
17392
17393         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
17394         * modules/stdint-tests (Depends-on): Add wchar.
17395
17396 2011-04-10  Jim Meyering  <meyering@redhat.com>
17397
17398         maint: remove doubled words in comments, e.g., s/a a/a/
17399         * lib/strptime.c (day_of_the_week): s/the the/the/
17400         * tests/test-chown.h (test_chown): s/a a/a/
17401
17402         test-chown.h: correct a cast
17403         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
17404         when the destination is a stat.st_gid.
17405
17406 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
17407
17408         getaddrinfo: Fix test for sa_len member.
17409         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
17410         include <sys/types.h> before <sys/socket.h>.
17411
17412 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
17413
17414         maint: change "can not" to "cannot"
17415         * doc/posix-functions/iconv.texi (iconv): This one crossed line
17416         boundaries.
17417
17418 2011-04-09  Jim Meyering  <meyering@redhat.com>
17419
17420         maint: change "a a" to "a"
17421         * tests/test-lchown.h (test_lchown): s/a a/a/
17422
17423         maint.mk: prohibit \<the the\>
17424         * top/maint.mk (sc_prohibit_the_the): New rule.
17425
17426         maint: fix "the the" in comment
17427         * lib/count-one-bits.h: s/the the/the/
17428
17429         maint: change "can not" to "cannot"
17430         But do not change the occurrences in maintain.texi or in
17431         build-aux/po/Makefile.in.in, which I presume comes from gettext.
17432         * doc/gnulib-tool.texi: s/can not/cannot/
17433         * doc/posix-functions/accept.texi (accept): Likewise.
17434         * doc/posix-functions/socket.texi (socket): Likewise.
17435         * lib/mbrtowc.c: Likewise.
17436
17437         maint.mk: prohibit use of "can not"
17438         * top/maint.mk (sc_prohibit_can_not): New rule.
17439         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
17440
17441 2011-04-09  Bruno Haible  <bruno@clisp.org>
17442
17443         careadlinkat: Guard against misuse of careadlinkatcwd.
17444         * lib/careadlinkat.c: Include <stdlib.h>.
17445         (careadlinkatcwd): Check that the fd argument is as expected.
17446
17447 2011-04-09  Bruno Haible  <bruno@clisp.org>
17448
17449         careadlinkat: Use common coding style.
17450         * lib/careadlinkat.c: Move gnulib includes after system includes.
17451
17452 2011-04-09  Bruno Haible  <bruno@clisp.org>
17453
17454         careadlinkat: Clarify specification.
17455         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
17456         (careadlinkatcwd): Add comment.
17457         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
17458
17459 2011-04-09  Bruno Haible  <bruno@clisp.org>
17460
17461         areadlinkat: Avoid link error on many platforms.
17462         * modules/areadlinkat (Depends-on): Add areadlink.
17463
17464 2011-04-09  Bruno Haible  <bruno@clisp.org>
17465
17466         allocator, careadlinkat: Fix double-inclusion guard.
17467         * lib/allocator.h: Fix double-inclusion guard.
17468         * lib/careadlinkat.h: Likewise.
17469
17470 2011-04-09  Bruno Haible  <bruno@clisp.org>
17471
17472         relocatable-prog-wrapper: Update after module 'areadlink' changed.
17473         * lib/relocwrapper.c: Update dependencies hierarchy.
17474         * build-aux/install-reloc: Update list of files to be compiled.
17475         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
17476         lib/allocator.[hc].
17477
17478 2011-04-08  Eric Blake  <eblake@redhat.com>
17479
17480         strftime: silence gnulib-tool warning
17481         * modules/strftime-tests (Depends-on): Drop automatic dependency.
17482
17483 2011-04-08  Bruno Haible  <bruno@clisp.org>
17484
17485         verify: Fix syntax error with GCC 4.6 in C++ mode.
17486         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
17487         (HAVE_STATIC_ASSERT): New macro.
17488         (verify_true, verify): Use 'static_assert' if it is supported and
17489         '_Static_assert' is not supported.
17490
17491 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
17492
17493         allocator: New module.
17494         * modules/allocator, lib/allocator.c: New files.
17495         * lib/allocator.h (stdlib_allocator): New decl.
17496         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
17497         Remove.  Do not include <stdlib.h>.
17498         (careadlinkat): Use stdlib_allocator instead of rolling our own.
17499         * modules/careadlinkat (Files): Remove lib/allocator.h.
17500         (Depends-on): Add allocator.
17501
17502         stdlib: let modules use system malloc, realloc
17503         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
17504         if !_GL_USE_STDLIB_ALLOC.
17505         (malloc, realloc): Limit this change to a smaller scope.
17506
17507         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
17508         (malloc, realloc): Don't #undef; no longer needed.
17509         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
17510         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
17511         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
17512         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
17513         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
17514         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
17515         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
17516         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
17517
17518         careadlinkat: rename members to avoid problem
17519         * lib/allocator.h (struct allocator): Rename members from
17520         malloc/realloc to allocate/reallocate, to avoid problems if malloc
17521         and realloc are #define'd.  Reported by Eric Blake in
17522         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
17523         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
17524
17525 2011-04-08  Eric Blake  <eblake@redhat.com>
17526
17527         nonblocking: reduce dependency
17528         * tests/test-nonblocking.c: Only test sockets when in use.
17529         * modules/nonblocking-tests (Depends-on): Drop socket.
17530         (Makefile.am): Link even if sockets are not present.
17531         * modules/pipe2-tests (Makefile.am): Likewise.
17532         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
17533
17534         pipe2: fix O_NONBLOCK support on mingw
17535         * modules/pipe2 (Depends-on): Add nonblocking.
17536         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
17537         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
17538         * tests/test-nonblocking.c (main): Likewise.
17539         * modules/pipe2-tests (Makefile.am): Avoid link failure.
17540
17541         fcntl-h: fix O_ACCMODE on cygwin
17542         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
17543         * lib/fcntl.in.h (O_ACCMODE): Fix it.
17544
17545         pipe-filter: drop O_NONBLOCK workarounds
17546         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
17547         * modules/pipe-filter-ii (Depends-on): Likewise.
17548         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
17549
17550         nonblocking: provide O_NONBLOCK for mingw
17551         * modules/nonblocking (Depends-on): Add open.
17552         (configure.ac): Set new witness macro.
17553         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
17554         * modules/fcntl-h (Makefile.am): Substitute it.
17555         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
17556         nonblocking module is in use.
17557         * lib/nonblocking.c: Adjust portability test.
17558         * lib/open.c (open): Don't let native open see gnulib flag.
17559         * tests/test-fcntl-h.c (main): Enhance test.
17560         * tests/test-open.h (test_open): Likewise.
17561         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
17562
17563         careadlinkat: fix compilation error on mingw
17564         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
17565         within struct allocator.
17566
17567 2011-04-06  Eric Blake  <eblake@redhat.com>
17568
17569         binary-io: relicense under LGPLv2+
17570         * modules/binary-io (License): Relax to LGPLv2+.
17571         Requested for libvirt, and required by pipe2.
17572
17573 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
17574
17575         verify: use _Static_assert if available
17576         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
17577         (verify_true, verify): Use it if available.  This generates better
17578         diagnostics with GCC 4.6.0 and later.
17579
17580 2011-04-05  Bruno Haible  <bruno@clisp.org>
17581
17582         Remove leftover generated .h files after config.status changed.
17583
17584         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
17585         GL_GENERATE_ALLOCA_H.
17586         * modules/alloca-opt (Makefile.am): Remove alloca.h if
17587         GL_GENERATE_ALLOCA_H evaluates to false.
17588
17589         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
17590         GL_GENERATE_ARGZ_H.
17591         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
17592         evaluates to false.
17593
17594         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
17595         GL_GENERATE_BYTESWAP_H.
17596         * modules/byteswap (Makefile.am): Remove byteswap.h if
17597         GL_GENERATE_BYTESWAP_H evaluates to false.
17598
17599         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
17600         GL_GENERATE_ERRNO_H.
17601         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
17602         evaluates to false.
17603
17604         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
17605         GL_GENERATE_FLOAT_H.
17606         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
17607         evaluates to false.
17608
17609         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
17610         GL_GENERATE_FNMATCH_H.
17611         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
17612         GL_GENERATE_FNMATCH_H evaluates to false.
17613
17614         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
17615         GL_GENERATE_GLOB_H.
17616         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
17617         evaluates to false.
17618
17619         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
17620         automake conditional GL_GENERATE_ICONV_H.
17621         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
17622         evaluates to false.
17623
17624         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
17625         GL_GENERATE_NETINET_IN_H.
17626         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
17627         GL_GENERATE_NETINET_IN_H evaluates to false.
17628
17629         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
17630         conditional GL_GENERATE_PTHREAD_H.
17631         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
17632         * modules/pthread (Makefile.am): Remove pthread.h if
17633         GL_GENERATE_PTHREAD_H evaluates to false.
17634
17635         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
17636         GL_GENERATE_SCHED_H.
17637         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
17638         evaluates to false.
17639
17640         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
17641         conditional GL_GENERATE_SELINUX_CONTEXT_H.
17642         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
17643         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
17644
17645         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
17646         GL_GENERATE_STDARG_H.
17647         * modules/stdarg (Makefile.am): Remove stdarg.h if
17648         GL_GENERATE_STDARG_H evaluates to false.
17649
17650         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
17651         GL_GENERATE_STDBOOL_H.
17652         * modules/stdbool (Makefile.am): Remove stdbool.h if
17653         GL_GENERATE_STDBOOL_H evaluates to false.
17654
17655         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
17656         conditional GL_GENERATE_STDDEF_H.
17657         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
17658         * modules/stddef (Makefile.am): Remove stddef.h if
17659         GL_GENERATE_STDDEF_H evaluates to false.
17660
17661         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
17662         GL_GENERATE_STDINT_H.
17663         * modules/stdint (Makefile.am): Remove stdint.h if
17664         GL_GENERATE_STDINT_H evaluates to false.
17665
17666         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
17667         GL_GENERATE_SYSEXITS_H.
17668         * modules/sysexits (Makefile.am): Remove sysexits.h if
17669         GL_GENERATE_SYSEXITS_H evaluates to false.
17670
17671         Reported by Karl Berry and Ralf Wildenhues.
17672
17673 2011-04-05  Bruno Haible  <bruno@clisp.org>
17674
17675         Ensure to rebuild generated .h files when config.status has changed.
17676         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
17677         config.status.
17678         * modules/ctype (Makefile.am): Likewise.
17679         * modules/dirent (Makefile.am): Likewise.
17680         * modules/errno (Makefile.am): Likewise.
17681         * modules/fcntl-h (Makefile.am): Likewise.
17682         * modules/float (Makefile.am): Likewise.
17683         * modules/getopt-posix (Makefile.am): Likewise.
17684         * modules/glob (Makefile.am): Likewise.
17685         * modules/iconv-h (Makefile.am): Likewise.
17686         * modules/inttypes (Makefile.am): Likewise.
17687         * modules/langinfo (Makefile.am): Likewise.
17688         * modules/locale (Makefile.am): Likewise.
17689         * modules/math (Makefile.am): Likewise.
17690         * modules/netdb (Makefile.am): Likewise.
17691         * modules/netinet_in (Makefile.am): Likewise.
17692         * modules/poll-h (Makefile.am): Likewise.
17693         * modules/pthread (Makefile.am): Likewise.
17694         * modules/pty (Makefile.am): Likewise.
17695         * modules/sched (Makefile.am): Likewise.
17696         * modules/search (Makefile.am): Likewise.
17697         * modules/selinux-h (Makefile.am): Likewise.
17698         * modules/signal (Makefile.am): Likewise.
17699         * modules/spawn (Makefile.am): Likewise.
17700         * modules/stdarg (Makefile.am): Likewise.
17701         * modules/stdbool (Makefile.am): Likewise.
17702         * modules/stddef (Makefile.am): Likewise.
17703         * modules/stdint (Makefile.am): Likewise.
17704         * modules/stdio (Makefile.am): Likewise.
17705         * modules/stdlib (Makefile.am): Likewise.
17706         * modules/string (Makefile.am): Likewise.
17707         * modules/strings (Makefile.am): Likewise.
17708         * modules/sys_file (Makefile.am): Likewise.
17709         * modules/sys_ioctl (Makefile.am): Likewise.
17710         * modules/sys_select (Makefile.am): Likewise.
17711         * modules/sys_socket (Makefile.am): Likewise.
17712         * modules/sys_stat (Makefile.am): Likewise.
17713         * modules/sys_time (Makefile.am): Likewise.
17714         * modules/sys_times (Makefile.am): Likewise.
17715         * modules/sys_utsname (Makefile.am): Likewise.
17716         * modules/sys_wait (Makefile.am): Likewise.
17717         * modules/sysexits (Makefile.am): Likewise.
17718         * modules/termios (Makefile.am): Likewise.
17719         * modules/time (Makefile.am): Likewise.
17720         * modules/unistd (Makefile.am): Likewise.
17721         * modules/wchar (Makefile.am): Likewise.
17722         * modules/wctype-h (Makefile.am): Likewise.
17723         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
17724
17725 2011-04-05  Bruno Haible  <bruno@clisp.org>
17726
17727         pipe2: Relicense under LGPLv2+.
17728         * modules/pipe2 (License): Change to LGPLv2+.
17729         Requested by Eric Blake, for libvirt.
17730
17731 2011-04-05  Bruce Korb  <bkorb@gnu.org>
17732
17733         bootstrap: compute gnulib_extra_files after updating build_aux
17734         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
17735         change build_aux or also supply gnulib_extra_files.  Handle correctly.
17736
17737 2011-04-05  Eric Blake  <eblake@redhat.com>
17738
17739         bootstrap: preserve git whitelist item sorting
17740         * build-aux/bootstrap (sort_patterns): New function.
17741         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
17742
17743 2011-04-05  Simon Josefsson  <simon@josefsson.org>
17744
17745         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
17746         sc_space_tab check.
17747
17748 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
17749
17750         areadlink, areadlinkat: rewrite in terms of careadlinkat
17751         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
17752         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
17753         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
17754         (malloc, realloc): Remove #undefs.
17755         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
17756         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
17757         readlink, ssize_t, stdint, unistd.
17758         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
17759         areadlink, stdint.
17760
17761         careadlinkat: new module
17762         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
17763         * modules/careadlinkat: New files, written by me with
17764         a review and feedback from Ben Pfaff in
17765         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
17766
17767 2011-04-01  Bruno Haible  <bruno@clisp.org>
17768
17769         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
17770         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
17771         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
17772         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
17773         Reported by Bruce Korb <bruce.korb@gmail.com>.
17774
17775 2011-04-01  Bruno Haible  <bruno@clisp.org>
17776
17777         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
17778         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
17779         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
17780         * modules/wcpcpy (Depends-on): Add extensions.
17781         * modules/wcpncpy (Depends-on): Likewise.
17782         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
17783         systems.
17784         * doc/posix-functions/wcpncpy.texi: Likewise.
17785         * doc/posix-functions/wcwidth.texi: Likewise.
17786
17787 2011-03-31  Eric Blake  <eblake@redhat.com>
17788
17789         nonblocking: fix mingw test failures
17790         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
17791         non-blocking flag on regular file.
17792         (get_nonblocking_flag): Set errno on invalid fd.
17793         * tests/test-nonblocking.c (main): Avoid test failure on
17794         directories if fchdir is not active.
17795         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
17796
17797 2011-03-31  Bruno Haible  <bruno@clisp.org>
17798
17799         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
17800         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
17801         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
17802         Reported by Simon Josefsson <simon@josefsson.org>.
17803
17804 2011-03-31  Bruno Haible  <bruno@clisp.org>
17805         and Eric Blake  <eblake@redhat.com>
17806
17807         nonblocking: new module
17808         * modules/nonblocking: New module.
17809         * modules/nonblocking-tests: Likewise.
17810         * lib/nonblocking.h: New file.
17811         * lib/nonblocking.c: Likewise.
17812         * tests/test-nonblocking.c: New test.
17813         * lib/ioctl.c (ioctl) [mingw]: Update comment.
17814
17815 2011-03-30  Bruno Haible  <bruno@clisp.org>
17816
17817         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
17818         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
17819         instead of 'printf' format for GCC >= 4.4.
17820         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
17821         (fprintf, printf, vfprintf, vprintf): Declare with
17822         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
17823         the system's vfprintf() function.
17824         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
17825
17826 2011-03-30  Eric Blake  <eblake@redhat.com>
17827
17828         passfd: fix scoping bug
17829         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
17830         before sendmsg/recvmsg.
17831
17832         passfd: standardize coding conventions
17833         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
17834         can be learned at compile time.
17835         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
17836         ifdefs.
17837         (sendfd, recvfd): Follow gnulib code conventions.
17838
17839         passfd: fix incorrect sendmsg arguments
17840         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
17841         incorrect msg_controllen value.
17842         * modules/passfd-tests (Depends-on): Check for alarm.
17843         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
17844         Reported by Bastien ROUCARIES.
17845
17846 2011-03-30  Bruno Haible  <bruno@clisp.org>
17847
17848         c-strcasestr: Relicense under LGPLv2+.
17849         * modules/c-strcasestr (License): Change to LGPLv2+.
17850         Requested by Eric Blake, for libvirt.
17851
17852 2011-03-30  Simon Josefsson  <simon@josefsson.org>
17853
17854         * users.txt: Add libidn2.  Fix libtasn1 link.
17855
17856 2011-03-30  Jim Meyering  <meyering@redhat.com>
17857
17858         tests: readlink* ("",... fails with EINVAL on newer kernels
17859         readlink and readlinkat have typically failed with ENOENT for
17860         the invalid, empty file name,  "".  However, with the advent
17861         of linux-2.6.39, they fail with EINVAL.
17862         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
17863         when operating on the empty file name.
17864         * tests/test-readlink.h (test_readlink): Likewise.
17865
17866 2011-03-29  Bruno Haible  <bruno@clisp.org>
17867
17868         Relicense some modules under LGPLv2+, for libidn2.
17869         * modules/array-mergesort (License): Change to LGPLv2+.
17870         * modules/c-strcaseeq (License): Likewise.
17871         * modules/striconveh (License): Likewise.
17872         * modules/striconveha (License): Likewise.
17873         * modules/uniconv/base (License): Likewise.
17874         * modules/uniconv/u8-conv-from-enc (License): Likewise.
17875         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
17876         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
17877         * modules/unictype/base (License): Likewise.
17878         * modules/unictype/bidiclass-of (License): Likewise.
17879         * modules/unictype/category-M (License): Likewise.
17880         * modules/unictype/category-none (License): Likewise.
17881         * modules/unictype/category-of (License): Likewise.
17882         * modules/unictype/category-test (License): Likewise.
17883         * modules/unictype/category-test-withtable (License): Likewise.
17884         * modules/unictype/combining-class (License): Likewise.
17885         * modules/unictype/joiningtype-of (License): Likewise.
17886         * modules/unictype/scripts (License): Likewise.
17887         * modules/uninorm/base (License): Likewise.
17888         * modules/uninorm/canonical-decomposition (License): Likewise.
17889         * modules/uninorm/composition (License): Likewise.
17890         * modules/uninorm/decompose-internal (License): Likewise.
17891         * modules/uninorm/decomposition-table (License): Likewise.
17892         * modules/uninorm/nfc (License): Likewise.
17893         * modules/uninorm/nfd (License): Likewise.
17894         * modules/uninorm/u32-normalize (License): Likewise.
17895         * modules/unistr/base (License): Likewise.
17896         * modules/unistr/u32-cpy (License): Likewise.
17897         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
17898         * modules/unistr/u32-to-u8 (License): Likewise.
17899         * modules/unistr/u32-uctomb (License): Likewise.
17900         * modules/unistr/u8-check (License): Likewise.
17901         * modules/unistr/u8-mblen (License): Likewise.
17902         * modules/unistr/u8-mbtouc (License): Likewise.
17903         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
17904         * modules/unistr/u8-mbtoucr (License): Likewise.
17905         * modules/unistr/u8-prev (License): Likewise.
17906         * modules/unistr/u8-strlen (License): Likewise.
17907         * modules/unistr/u8-to-u32 (License): Likewise.
17908         * modules/unistr/u8-uctomb (License): Likewise.
17909         * modules/unitypes (License): Likewise.
17910         Requested by Simon Josefsson.
17911
17912 2011-03-29  Simon Josefsson  <simon@josefsson.org>
17913
17914         lib-symbol-visibility: Add a notice.
17915         * modules/lib-symbol-visibility (Notice): New field.
17916
17917 2011-03-29  Bruno Haible  <bruno@clisp.org>
17918
17919         getaddrinfo: Doc fix.
17920         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
17921         section "fixed in Gnulib".
17922
17923 2011-03-28  Simon Josefsson  <simon@josefsson.org>
17924
17925         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
17926         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
17927
17928 2011-03-26  Bruno Haible  <bruno@clisp.org>
17929
17930         unictype/property-byname: Reduce the number of load-time relocations.
17931         * lib/unictype/pr_byname.c: Include <stdlib.h>.
17932         (UC_PROPERTY_INDEX_*): New enumeration values.
17933         (uc_property_byname): Convert an index from the lookup table to an
17934         uc_property_t.
17935         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
17936         values.
17937
17938 2011-03-26  Bruno Haible  <bruno@clisp.org>
17939
17940         unictype/property-byname: Allow omitted word separators and aliases.
17941         * lib/unictype/pr_byname.gperf: Add property names without word
17942         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
17943         for 'space'.
17944
17945 2011-03-26  Bruno Haible  <bruno@clisp.org>
17946
17947         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
17948         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
17949         also hyphens to space.
17950         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
17951         without spaces.
17952         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
17953
17954 2011-03-26  Bruno Haible  <bruno@clisp.org>
17955
17956         unictype/joiningtype-byname: Recognize long names as well.
17957         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
17958         a long name.
17959         * lib/unictype/joiningtype_byname.c: Include <string.h>,
17960         unictype/joiningtype_byname.h.
17961         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
17962         * lib/unictype/joiningtype_byname.gperf: New file.
17963         * modules/unictype/joiningtype-byname (Files): Add
17964         lib/unictype/joiningtype_byname.gperf.
17965         (Depends-on): Add gperf.
17966         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
17967         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
17968         long names.
17969
17970         Tests for module 'unictype/joiningtype-longname'.
17971         * modules/unictype/joiningtype-longname-tests: New file.
17972         * tests/unictype/test-joiningtype_longname.c: New file.
17973
17974         New module 'unictype/joiningtype-longname'.
17975         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
17976         * lib/unictype/joiningtype_longname.c: New file.
17977         * modules/unictype/joiningtype-longname: New file.
17978         * modules/unictype/joiningtype-all (Depends-on): Add
17979         unictype/joiningtype-longname.
17980
17981 2011-03-26  Bruno Haible  <bruno@clisp.org>
17982
17983         unictype/bidiclass-byname: Recognize long names as well.
17984         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
17985         name.
17986         * lib/unictype/bidi_byname.c: Include <string.h>,
17987         unictype/bidi_byname.h.
17988         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
17989         * lib/unictype/bidi_byname.gperf: New file.
17990         * modules/unictype/bidiclass-byname (Files): Add
17991         lib/unictype/bidi_byname.gperf.
17992         (Depends-on): Add gperf.
17993         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
17994         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
17995         long names.
17996
17997         Tests for module 'unictype/bidiclass-longname'.
17998         * modules/unictype/bidiclass-longname-tests: New file.
17999         * tests/unictype/test-bidi_longname.c: New file.
18000
18001         New module 'unictype/bidiclass-longname'.
18002         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
18003         * lib/unictype/bidi_longname.c: New file.
18004         * modules/unictype/bidiclass-longname: New file.
18005         * modules/unictype/bidiclass-all (Depends-on): Add
18006         unictype/bidiclass-longname.
18007
18008 2011-03-26  Bruno Haible  <bruno@clisp.org>
18009
18010         unictype/bidi*: Rename modules.
18011         * modules/unictype/bidiclass-all: Renamed from
18012         modules/unictype/bidicategory-all.
18013         * modules/unictype/bidiclass-name: Renamed from
18014         modules/unictype/bidiclass-name.
18015         (Description): Update.
18016         * modules/unictype/bidiclass-name-tests: Renamed from
18017         modules/unictype/bidicategory-name-tests.
18018         * modules/unictype/bidiclass-byname: Renamed from
18019         modules/unictype/bidicategory-byname.
18020         (Description): Update.
18021         * modules/unictype/bidiclass-byname-tests: Renamed from
18022         modules/unictype/bidicategory-byname-tests.
18023         * modules/unictype/bidiclass-of: Renamed from
18024         modules/unictype/bidicategory-of.
18025         (Description): Update.
18026         * modules/unictype/bidiclass-of-tests: Renamed from
18027         modules/unictype/bidicategory-of-tests.
18028         * modules/unictype/bidiclass-test: Renamed from
18029         modules/unictype/bidicategory-test.
18030         (Description): Update.
18031         * modules/unictype/bidiclass-test-tests: Renamed from
18032         modules/unictype/bidicategory-test-tests.
18033         * modules/unictype/bidicategory-all: New file, a simple redirection.
18034         * modules/unictype/bidicategory-name: Likewise.
18035         * modules/unictype/bidicategory-byname: Likewise.
18036         * modules/unictype/bidicategory-of: Likewise.
18037         * modules/unictype/bidicategory-test: Likewise.
18038         * modules/unictype/property-bidi-* (Dependencies): Update.
18039         * lib/unictype/bidi_*.c: Update comment.
18040
18041 2011-03-26  Bruno Haible  <bruno@clisp.org>
18042
18043         unictype/bidi*: Rename functions, part 2.
18044         * modules/unictype/bidicategory-name (configure.ac): Update required
18045         libunistring version.
18046         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
18047
18048 2011-03-25  Bruno Haible  <bruno@clisp.org>
18049
18050         New module 'unictype/combining-class-all'.
18051         * modules/unictype/combining-class-all: New file.
18052
18053         Tests for module 'unictype/combining-class-byname'.
18054         * modules/unictype/combining-class-byname-tests: New file.
18055         * tests/unictype/test-combiningclass_byname.c: New file.
18056
18057         New module 'unictype/combining-class-byname'.
18058         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
18059         * lib/unictype/combiningclass_byname.c: New file.
18060         * lib/unictype/combiningclass_byname.gperf: New file.
18061         * modules/unictype/combining-class-byname: New file.
18062
18063         Tests for module 'unictype/combining-class-longname'.
18064         * modules/unictype/combining-class-longname-tests: New file.
18065         * tests/unictype/test-combiningclass_longname.c: New file.
18066
18067         New module 'unictype/combining-class-longname'.
18068         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
18069         * lib/unictype/combiningclass_longname.c: New file.
18070         * modules/unictype/combining-class-longname: New file.
18071
18072         Tests for module 'unictype/combining-class-name'.
18073         * modules/unictype/combining-class-name-tests: New file.
18074         * tests/unictype/test-combiningclass_name.c: New file.
18075
18076         New module 'unictype/combining-class-name'.
18077         * lib/unictype.in.h (uc_combining_class_name): New declaration.
18078         * lib/unictype/combiningclass_name.c: New file.
18079         * modules/unictype/combining-class-name: New file.
18080
18081 2011-03-25  Bruno Haible  <bruno@clisp.org>
18082
18083         unictype/combining-class: Rename source files.
18084         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
18085         of unictype/combining.h.
18086         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
18087         Update.
18088         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
18089         * modules/unictype/combining-class (Description): Fix.
18090         (Files, Makefile.am): Update.
18091         * tests/unictype/test-combiningclass.c: Renamed from
18092         tests/unictype/test-combining.c.
18093         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
18094
18095 2011-03-25  Bruno Haible  <bruno@clisp.org>
18096
18097         unictype: Update list of canonical combining classes.
18098         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
18099
18100 2011-03-25  Bruno Haible  <bruno@clisp.org>
18101
18102         unictype/category-byname: Recognize long names as well.
18103         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
18104         a long name.
18105         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
18106         unictype/categ_byname.h.
18107         (UC_CATEGORY_INDEX_*): New enumeration values.
18108         (uc_general_category_byname): Use uc_general_category_lookup and
18109         convert from index to value.
18110         * lib/unictype/categ_byname.gperf: New file.
18111         * modules/unictype/category-byname (Files): Add
18112         lib/unictype/categ_byname.gperf.
18113         (Depends-on): Add gperf.
18114         (Makefile.am): Add rule for generating unictype/categ_byname.h.
18115         * tests/unictype/test-categ_byname.c (main): Test the recognition of
18116         long names.
18117
18118         Tests for module 'unictype/category-longname'.
18119         * modules/unictype/category-longname-tests: New file.
18120         * tests/unictype/test-categ_longname.c: New file.
18121
18122         New module 'unictype/category-longname'.
18123         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
18124         * lib/unictype/categ_longname.c: New file.
18125         * modules/unictype/category-longname: New file.
18126         * modules/unictype/category-all (Depends-on): Add it.
18127
18128 2011-03-25  Bruno Haible  <bruno@clisp.org>
18129
18130         Tests for module 'unictype/category-LC'.
18131         * modules/unictype/category-LC-tests: New file.
18132         * tests/unictype/test-categ_LC.c: New file, automatically generated.
18133
18134         New module 'unictype/category-LC'.
18135         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
18136         (UC_CATEGORY_LC): New declaration.
18137         (UC_CASED_LETTER): New macro.
18138         * lib/gen-uni-tables.c (is_category_LC): New function.
18139         (output_categories): Also handle category LC.
18140         (UC_CATEGORY_MASK_LC): New enumeration value.
18141         (general_category_byname): Also handle category LC.
18142         * lib/unictype/categ_LC.c: New file.
18143         * lib/unictype/categ_LC.h: New file, automatically generated.
18144         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
18145         category LC.
18146         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
18147         * modules/unictype/category-LC: New file.
18148         * modules/unictype/category-byname (Depends-on): Add
18149         unictype/category-LC.
18150         * modules/unictype/category-all (Depends-on): Likewise.
18151
18152 2011-03-25  Eric Blake  <eblake@redhat.com>
18153
18154         xmalloc: revert yesterday's regression
18155         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
18156         realloc's underlying behavior (allowing allocation of zero-size
18157         objects, especially if malloc-gnu is also in use).
18158
18159 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
18160
18161         maint.mk: add missing version to VC-tag
18162         * top/maint.mk: git tag was missing actual tag name; add it.
18163
18164         valgrind: do leak checking, and exit with code 1 on error (not 0)
18165         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
18166         to VALGRIND.
18167
18168 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
18169
18170         posix-modules: say what it does.
18171         * posix-modules: Add a line to the --help output saying what it does.
18172
18173 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
18174
18175         xmalloc: Do not leak if underlying realloc is C99 compatible.
18176         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
18177         This avoids a leak on C99-based systems.  See
18178         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
18179
18180 2011-03-24  Eric Blake  <eblake@redhat.com>
18181
18182         realloc: document portability problem
18183         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
18184         passing 0 size to realloc.
18185
18186 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
18187
18188         doc: update users.txt
18189         * users.txt: Add cvsps, tmpwatch
18190
18191 2011-03-23  Matt Rice  <ratmice@gmail.com>
18192
18193         doc: update users.txt
18194         * users.txt: Add gdb.
18195
18196 2011-03-23  Jim Meyering  <meyering@redhat.com>
18197
18198         doc: update users.txt
18199         Looking through matches up to the following URL (there are still
18200         several more pages), I found several projects that use gnulib:
18201         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
18202         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
18203         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
18204
18205 2011-03-22  Bruno Haible  <bruno@clisp.org>
18206
18207         unictype/bidi*: Rename functions.
18208         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
18209         uc_bidi_class, uc_is_bidi_class): New declarations.
18210         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
18211         uc_bidi_category_byname.
18212         (uc_bidi_category_byname): New function.
18213         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
18214         u_bidi_category_name.
18215         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
18216         (uc_bidi_category_name): New function.
18217         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
18218         uc_bidi_category.
18219         (uc_bidi_category): New function.
18220         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
18221         uc_is_bidi_category. Invoke uc_bidi_class.
18222         (uc_is_bidi_category): New function.
18223         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
18224         instead of uc_bidi_category_byname.
18225         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
18226         instead of uc_bidi_category_name.
18227         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
18228         uc_bidi_category.
18229         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
18230         instead of uc_is_bidi_category.
18231
18232 2011-03-21  Bruno Haible  <bruno@clisp.org>
18233
18234         New module 'unictype/joininggroup-all'.
18235         * modules/unictype/joininggroup-all: New file.
18236
18237         Tests for module 'unictype/joininggroup-of'.
18238         * modules/unictype/joininggroup-of-tests: New file.
18239         * tests/unictype/test-joininggroup_of.c: New file.
18240         * tests/unictype/test-joininggroup_of.h: New file, automatically
18241         generated by gen-uni-tables.
18242
18243         New module 'unictype/joininggroup-of'.
18244         * modules/unictype/joininggroup-of: New file.
18245         * lib/unictype/joininggroup_of.c: New file.
18246         * lib/unictype/joininggroup_of.h: New file, automatically generated by
18247         gen-uni-tables.
18248
18249         Tests for module 'unictype/joininggroup-byname'.
18250         * modules/unictype/joininggroup-byname-tests: New file.
18251         * tests/unictype/test-joininggroup_byname.c: New file.
18252
18253         New module 'unictype/joininggroup-byname'.
18254         * modules/unictype/joininggroup-byname: New file.
18255         * lib/unictype/joininggroup_byname.c: New file.
18256         * lib/unictype/joininggroup_byname.gperf: New file.
18257
18258         Tests for module 'unictype/joininggroup-name'.
18259         * modules/unictype/joininggroup-name-tests: New file.
18260         * tests/unictype/test-joininggroup_name.c: New file.
18261
18262         New module 'unictype/joininggroup-name'.
18263         * modules/unictype/joininggroup-name: New file.
18264         * lib/unictype/joininggroup_name.c: New file.
18265         * lib/unictype/joininggroup_name.h: New file.
18266
18267         New module 'unictype/joiningtype-all'.
18268         * modules/unictype/joiningtype-all: New file.
18269
18270         Tests for module 'unictype/joiningtype-of'.
18271         * modules/unictype/joiningtype-of-tests: New file.
18272         * tests/unictype/test-joiningtype_of.c: New file.
18273         * tests/unictype/test-joiningtype_of.h: New file, automatically
18274         generated by gen-uni-tables.
18275
18276         New module 'unictype/joiningtype-of'.
18277         * modules/unictype/joiningtype-of: New file.
18278         * lib/unictype/joiningtype_of.c: New file.
18279         * lib/unictype/joiningtype_of.h: New file, automatically generated by
18280         gen-uni-tables.
18281
18282         Tests for module 'unictype/joiningtype-byname'.
18283         * modules/unictype/joiningtype-byname-tests: New file.
18284         * tests/unictype/test-joiningtype_byname.c: New file.
18285
18286         New module 'unictype/joiningtype-byname'.
18287         * modules/unictype/joiningtype-byname: New file.
18288         * lib/unictype/joiningtype_byname.c: New file.
18289
18290         Tests for module 'unictype/joiningtype-name'.
18291         * modules/unictype/joiningtype-name-tests: New file.
18292         * tests/unictype/test-joiningtype_name.c: New file.
18293
18294         New module 'unictype/joiningtype-name'.
18295         * modules/unictype/joiningtype-name: New file.
18296         * lib/unictype/joiningtype_name.c: New file.
18297
18298         unictype: Add support for Arabic shaping properties.
18299         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
18300         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
18301         declarations.
18302         (UC_JOINING_GROUP_*): New enumeration values.
18303         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
18304         declarations.
18305         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
18306         (unicode_joining_type): New variable.
18307         (UC_JOINING_GROUP_*): New enumeration values.
18308         (unicode_joining_group): New variable.
18309         (fill_arabicshaping, joining_type_as_c_identifier,
18310         output_joining_type_test, output_joining_type,
18311         joining_group_as_c_identifier, output_joining_group_test,
18312         output_joining_group): New functions.
18313         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
18314         fill_arabicshaping and output_joining_type_test, output_joining_type,
18315         output_joining_group_test, output_joining_group.
18316         Reported by Simon Josefsson.
18317
18318 2011-03-21  Jim Meyering  <meyering@redhat.com>
18319
18320         strftime: fix a bug in yesterday's change
18321         * lib/strftime.c (add): Accommodate width's initial value of -1.
18322         Otherwise, nstrftime would copy uninitialized data into
18323         the result buffer.
18324
18325 2011-03-21  Jim Meyering  <meyering@redhat.com>
18326
18327         tests: add strftime-tests module
18328         * tests/test-strftime.c: New file.
18329         * modules/strftime-tests: New module.
18330
18331 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
18332
18333         strftime: don't assume a byte count fits in 'int'
18334         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
18335         found this problem by static analysis, using gcc -Wstrict-overflow
18336         (GCC 4.5.2, x86-64).  This reported an optimization that depended
18337         on an integer overflow having undefined behavior, but it turns out
18338         that the argument is a size, which might not fit in 'int' anyway,
18339
18340 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
18341
18342         stdio: don't require ignore_value around fwrite
18343
18344         This patch works around libc bug 11959
18345         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
18346         Without this patch, applications must often write
18347         ignore_value (fwrite (...)) even though the ignore_value is
18348         not helpful here.  It's common to write many objects, using
18349         fwrite/printf/etc., and then use ferror to detect output error.
18350
18351         I considered making this patch optional, but decided against it,
18352         because libc is obviously being inconsistent here: there is no
18353         reason libc should insist that user code must inspect fwrite
18354         return's value without also insisting that it inspect printf's,
18355         putchar's, etc.  If user code wants to have a strict style where
18356         all these functions' values are checked (so that ferror need not
18357         be checked), we could add support for that style in a new gnulib
18358         module, but in the meantime it's better to be consistent and to
18359         support common usage.
18360
18361         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
18362         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
18363         that we are compiling in checking mode, and if not C++, and
18364         if not already wrapping fwrite for some other reason.
18365         (fwrite): #define to rpl_fwrite if the latter is defined.
18366
18367 2011-03-20  Bruno Haible  <bruno@clisp.org>
18368
18369         verror: Fix compilation error introduced on 2011-02-13.
18370         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
18371         instead of __attribute__.
18372         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
18373
18374 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
18375             Bruno Haible  <bruno@clisp.org>
18376
18377         socklen: do not depend on sys_socket
18378         While trying to modify Emacs to use gnulib's socklen module,
18379         I discovered a circular dependency: socklen depends on sys_socket
18380         and vice versa.  Emacs can use socklen, but it does not need
18381         sys_socket because it has its own substitute for sys/socket.h.
18382         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
18383         gl_TYPE_SOCKLEN_T.
18384         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
18385         gl_PREREQ_SYS_H_SOCKET.
18386         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
18387         gl_PREREQ_SYS_H_SOCKET.
18388         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
18389         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
18390         * modules/socklen (Depends-on): Do not depend on sys_socket.
18391         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
18392
18393 2011-03-20  Jim Meyering  <meyering@redhat.com>
18394
18395         maint.mk: sort file names *after* new transformation
18396         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
18397         prefix would have led to an unwarranted failure in GNU parted.
18398         Sort after that transformation.
18399
18400 2011-03-19  Jim Meyering  <meyering@redhat.com>
18401
18402         maint.mk: fix po-file syntax-check rule
18403         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
18404         Patch by Bruno Haible.
18405
18406 2011-03-19  Bruno Haible  <bruno@clisp.org>
18407
18408         socklen: Update comment.
18409         * m4/socklen.m4: Update comment about platforms.
18410
18411 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
18412             Bruno Haible  <bruno@clisp.org>
18413
18414         inet_ntop, inet_pton: Simplify.
18415         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
18416         documented to provide socklen_t and we already depend on sys_socket.
18417         * modules/inet_pton (Depends-on): Likewise.
18418         * lib/arpa_inet.in.h: Adjust comment.
18419
18420 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
18421             Bruno Haible  <bruno@clisp.org>
18422
18423         netdb: Simplify.
18424         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
18425         documented to provide socklen_t and we already depend on sys_socket.
18426         * lib/netdb.in.h: Adjust comment.
18427
18428 2011-03-19  Bruno Haible  <bruno@clisp.org>
18429
18430         sys_socket, netdb: Document problem with socklen_t.
18431         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
18432         platforms.
18433         * doc/posix-headers/netdb.texi: Likewise.
18434
18435 2011-03-18  Eric Blake  <eblake@redhat.com>
18436
18437         maint.mk: let po check work in VPATH build
18438         * top/maint.mk (po_file): Allow cfg.mk override.
18439         (sc_po_check): Allow VPATH use.
18440         Reported by Jiri Denemark.
18441
18442 2011-03-16  Jim Meyering  <meyering@redhat.com>
18443
18444         maint.mk: allow fine-grained syntax-check exclusion via Make variables
18445         Before, you would have had to create one .x-sc_ file per rule in order
18446         to exempt offending files.  Now, you may instead use a Make variable --
18447         usually defined in cfg.mk -- whose name identifies the affected rule.
18448         * top/maint.mk (_sc_excl): Define.
18449         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
18450         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
18451
18452 2011-03-13  Bruno Haible  <bruno@clisp.org>
18453
18454         ignore-value tests: Avoid warnings.
18455         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
18456         empty for gcc < 3.4.
18457
18458 2011-03-13  Bruno Haible  <bruno@clisp.org>
18459
18460         passfd: Fix link error on Solaris.
18461         * modules/passfd (Description): Correct.
18462         (Depends-on): Add socketlib.
18463         (Link): New section.
18464         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
18465
18466 2011-03-13  Bruno Haible  <bruno@clisp.org>
18467
18468         passfd: Fix link error on AIX 5.2.
18469         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
18470
18471 2011-03-13  Bruno Haible  <bruno@clisp.org>
18472
18473         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
18474         * lib/sys_socket.in.h: Include <stddef.h>.
18475         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
18476         CMSG_FIRSTHDR. Remove unused variable.
18477
18478 2011-03-13  Bruno Haible  <bruno@clisp.org>
18479
18480         passfd: Fix compilation error on OpenBSD.
18481         * lib/passfd.c: Include <sys/uio.h>.
18482
18483 2011-03-13  Bruno Haible  <bruno@clisp.org>
18484
18485         passfd test: Fix warnings.
18486         * tests/test-passfd.c: Include <sys/wait.h>.
18487         (main): Fix typo.
18488
18489 2011-03-13  Bruno Haible  <bruno@clisp.org>
18490
18491         passfd module, part 4, tweaks.
18492         * tests/test-passfd.c: Reorder includes.
18493         (main): Fix perror and printf calls.
18494
18495 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
18496
18497         passfd module, part 4.
18498         * modules/passfd-tests: New file.
18499         * tests/test-passfd.c: New file.
18500
18501 2011-03-13  Jim Meyering  <meyering@redhat.com>
18502
18503         Makefile: rely on GNU make; derive syntax-check rule names
18504         Rather than requiring that each sc_ rule be listed as a dependent
18505         of "check", use features of GNU make to derive the list.
18506         * Makefile (syntax-check-rules): Define.
18507         (check): Depend on the new variable, not the hard-coded list.
18508
18509 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
18510             Bruno Haible  <bruno@clisp.org>
18511
18512         passfd module, part 3.
18513         * lib/passfd.h (recvfd): Add a flags argument.
18514         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
18515         (recvfd): Add a flags argument.
18516         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
18517         exists.
18518         * modules/passfd (Depends-on): Add cloexec.
18519         Suggested by Eric Blake.
18520
18521 2011-03-13  Bruno Haible  <bruno@clisp.org>
18522
18523         passfd module, part 2, tweaks.
18524         * modules/passfd (Files): Reorder.
18525         (Depends-on): Remove errno.
18526         (Include): Remove <sys/socket.h>, <sys/un.h>.
18527         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
18528         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
18529         specification header. Include <sys/socket.h> always. Don't include
18530         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
18531         (sendfd): Clarify that it sets errno when it fails.
18532         (recvfd): Fix specification.
18533
18534 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
18535
18536         passfd module, part 2.
18537         * modules/passfd: New file.
18538         * lib/passfd.h: New file.
18539         * lib/passfd.c: New file.
18540
18541 2011-03-12  Bruno Haible  <bruno@clisp.org>
18542
18543         wcswidth, mbswidth: Avoid integer overflow.
18544         * lib/wcswidth.c: Include <limits.h>.
18545         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
18546         * lib/mbswidth.c: Include <limits.h>.
18547         (mbsnwidth): Avoid 'int' overflow.
18548         Reported by Jim Meyering.
18549
18550 2011-03-12  Bruno Haible  <bruno@clisp.org>
18551
18552         futimens, utimensat: Avoid endless recursion on Solaris 10.
18553         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
18554         Solaris.
18555         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
18556         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
18557
18558 2011-03-11  Jim Meyering  <meyering@redhat.com>
18559
18560         maint.mk: relax a regexp to accommodate other formatting styles
18561         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
18562         between "ngettext" and the following "(".
18563
18564 2011-03-11  Pádraig Brady <P@draigBrady.com>
18565
18566         maint.mk: suppress a false positive warning
18567         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
18568         diagnostics are marked with ngettext.
18569
18570 2011-03-10  Eric Blake  <eblake@redhat.com>
18571
18572         wchar: add explicit dependencies, for Tru64
18573         * modules/mbmemcasecoll (Depends-on): Add wchar.
18574         * modules/mbtowc (Depends-on): Likewise.
18575         * modules/vasnprintf (Depends-on): Likewise.
18576         * modules/unistdio/u-printf-args (Depends-on): Likewise.
18577         * modules/wctomb (Depends-on): Likewise.
18578         Reported by Peter O'Gorman.
18579
18580 2011-03-08  Bruno Haible  <bruno@clisp.org>
18581
18582         passfd module, part 1, tweaks.
18583         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
18584         Improve indentation. Improve AC_MSG_CHECKING messages.
18585         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
18586         gl_SOCKET_FAMILIES.
18587
18588 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
18589
18590         passfd module, part 1.
18591         * m4/afunix.m4: New file.
18592         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
18593         sockets.
18594
18595 2011-03-08  Bruno Haible  <bruno@clisp.org>
18596
18597         regex-quote: New API.
18598         * lib/regex-quote.h: Include <stdbool.h>.
18599         (struct regex_quote_spec): New type.
18600         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
18601         New declarations.
18602         (regex_quote_length, regex_quote_copy, regex_quote): Take a
18603         'const struct regex_quote_spec *' argument.
18604         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
18605         (pcre_special): New constant.
18606         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
18607         New functions.
18608         (regex_quote_length, regex_quote_copy, regex_quote): Take a
18609         'const struct regex_quote_spec *' argument.
18610         * modules/regex-quote (Depends-on): Add stdbool.
18611         * tests/test-regex-quote.c (check): Update for new API. Add test for
18612         anchored results.
18613         * NEWS: Mention the API change.
18614         Reported by Reuben Thomas and Eric Blake.
18615
18616 2011-03-06  Bruno Haible  <bruno@clisp.org>
18617
18618         regex-quote: Fix creation of POSIX extended regular expressions.
18619         * lib/regex-quote.c (ere_special): Add grouping and alternation
18620         operators.
18621
18622 2011-03-05  Bruno Haible  <bruno@clisp.org>
18623
18624         doc: Improve doc regarding autopoint vs. gnulib.
18625         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
18626         disable autopoint while running autoreconf.
18627         Suggested by Ralf Wildenhues.
18628
18629 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18630
18631         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
18632         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
18633
18634 2011-03-03  Bruce Korb  <bkorb@gnu.org>
18635
18636         parse-duration: remove xalloc.h dependency
18637         * lib/parse-duration.c (parse_period): handle NULL return from
18638         strdup instead of calling xstrdup().
18639         * modules/parse-duration: remove "xalloc" dependency
18640
18641 2011-03-03  Matthew Booth  <mbooth@redhat.com>
18642
18643         bootstrap: honor m4_base when running aclocal
18644         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
18645
18646 2011-03-02  Jim Meyering  <meyering@redhat.com>
18647
18648         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
18649         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
18650         on request from Matt Booth.
18651
18652 2011-03-01  Eric Blake  <eblake@redhat.com>
18653
18654         test-link: work on Hurd
18655         * tests/test-link.h (test_link): Hurd rejects linking directories
18656         with EISDIR instead of the POSIX-mandated EPERM.
18657
18658 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
18659
18660         stdio: simplify by moving files to printf-posix, sigpipe
18661         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
18662         since this symbol is needed only if printf is replaced.
18663         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
18664         Require gl_ASM_SYMBOL_PREFIX.
18665         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
18666         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
18667         (Depends-on): Add 'raise'.
18668         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
18669         * modules/stdio (Files): Remove lib/stdio-write.c,
18670         m4/asm-underscore.m4.
18671         (Depends-on): Remove 'raise'.
18672
18673         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
18674         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
18675         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
18676         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
18677
18678 2011-02-28  Bruno Haible  <bruno@clisp.org>
18679
18680         localcharset: Assume ANSI C behaviour of free().
18681         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
18682         calling free().
18683         Suggested by Simon Josefsson <simon@josefsson.org>.
18684
18685 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
18686             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
18687             Bruno Haible  <bruno@clisp.org>  (tiny change)
18688
18689         On Cygwin, use /proc file system instead of win32 API.
18690         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
18691         Win32 file names.
18692         (DllMain): Simplify by removing Cygwin specific code.
18693         (find_shared_library_fullname): Use Linux specific implementation also
18694         for Cygwin.
18695         (get_shared_library_fullname): Update accordingly.
18696         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
18697         Win32 file names.
18698         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
18699         Cygwin specific code.
18700
18701 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
18702             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
18703
18704         Fix OpenMP flag detection for various Fortran compilers.
18705         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
18706         OpenMP-conditional compilation construct, to force compile
18707         failure with missing OpenMP flag.
18708         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
18709
18710 2011-02-25  Eric Blake  <eblake@redhat.com>
18711
18712         strstr: expand test coverage
18713         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
18714         compilation.
18715         * tests/test-memmem.c (main): Duplicate tests.
18716         * tests/test-strcasestr.c (main): Likewise.
18717         * tests/test-c-strcasestr.c (main): Likewise.
18718
18719 2011-02-25  Jim Meyering  <meyering@redhat.com>
18720
18721         maint.mk: detect missing-NL-at-EOF, too
18722         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
18723         it also detects when a file lacks a newline at EOF.
18724         (require_exactly_one_NL_at_EOF_): Renamed from
18725         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
18726         since people may well have .x-sc_... file names tied to the
18727         existing name.  Suggested by Eric Blake.
18728
18729 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
18730
18731         dirname: move m4/dos.m4 functionality into lib/dosname.h
18732
18733         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
18734         extracts symbols from it, puts them into config.h; but it's much
18735         easier to use the symbols directly.  filename.h already does this,
18736         but it disagrees with dos.m4 in some respects.  This patch
18737         introduces a different include file dosname.h that packages up
18738         dos.m4, and then later we can work on merging filename.h and
18739         dosname.h.  Applications that need only the easy-to-configure
18740         symbols should consider including dosname.h rather than dirname.h.
18741         * NEWS: Mention incompatible changes.
18742         * m4/dos.m4: Remove.
18743         * lib/dosname.h, modules/dosname: New files.
18744         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
18745         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
18746         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
18747         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
18748         Include dosname.h, not dirname.h.
18749         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
18750         Include dosname.h, for definitions of symbols like ISSLASH
18751         that used to be in config.h.
18752         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
18753         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
18754         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
18755         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
18756         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
18757         * modules/rmdir (Files): Likewise.
18758         * modules/stat (Files): Likewise.
18759         * modules/unlink (Files): Likewise.
18760         * modules/dirname-lgpl (Depends-on): Add dosname.
18761         * modules/lstat (Depends-on): Likewise.
18762         * modules/openat (Depends-on): Likewise.
18763         * modules/rmdir (Depends-on): Likewise.
18764         * modules/savewd (Depends-on): Likewise.
18765         * modules/stat (Depends-on): Likewise.
18766         * modules/unlink (Depends-on): Likewise.
18767         * modules/openat (Depends-on): Remove dirname-lgpl.
18768         * modules/savewd (Depends-on): Likewise.
18769         * tests/test-dirname.c: Do not use removed symbols like
18770         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
18771         the remaining symbols, e.g., ISSLASH ('\\').
18772
18773 2011-02-25  Eric Blake  <eblake@redhat.com>
18774
18775         strstr: revert patches that introduced bug and pessimization
18776         * lib/str-two-way.h: Add another reference.
18777         (two_way_short_needle, two_way_long_needle): Revert changes from
18778         2011-02-24; they pessimize search speed.
18779         (critical_factorization): Partially revert changes from
18780         2010-06-22; they violate the requirement that the left half of the
18781         needle be smaller than the period of the needle.
18782
18783 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
18784
18785         filenamecat: remove unnecessary dependency on dirname-lgpl
18786         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
18787         is no direct dependency, just an indirect one via filenamecat-lgpl.
18788
18789         remove: remove unnecessary use of m4/dos.m4
18790         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
18791         * modules/remove (FILES): Remove m4/dos.m4.
18792
18793         * lib/openat-proc.c: Don't include dirname.h; not needed.
18794
18795         backupfile: remove unnecessary use of m4/dos.m4
18796         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
18797         of its symbols are used by the backupfile code.  backupfile.c does
18798         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
18799         for the rare case of programs that want all their backup file
18800         names to live within 8+3 limits, and dos.m4 doesn't address that.
18801         * modules/backupfile (Files): Remove m4/dos.m4.
18802
18803 2011-02-24  Jim Meyering  <meyering@redhat.com>
18804
18805         strstr: fix a bug whereby strstr would mistakenly return NULL
18806         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
18807         in period calculation.
18808         (two_way_long_needle): Likewise.
18809         The original problem was reported by Mike Stump in
18810         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
18811         Ralf Wildenhues provided the short needle and haystack.
18812         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
18813         Add a more involved test to trigger the bug in two_way_long_needle.
18814
18815 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
18816
18817         gnulib-tool: remove use of bold display in help screen
18818         * gnulib-tool (func_usage): Do not use bold display anymore in the
18819         help screen.  That was just meant to be a temporary emphasis for a
18820         backward-incompatible change.
18821
18822 2011-02-23  Bruno Haible  <bruno@clisp.org>
18823
18824         Fix misindentation of preprocessor directives.
18825         * lib/argp-namefrob.h: Reindent preprocessor directives.
18826         * lib/getopt_int.h (struct _getopt_data): Likewise.
18827         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
18828         * lib/vasnprintf.c (decode_long_double): Likewise.
18829         * tests/test-argmatch.c: Insert blank lines, for clarity.
18830         * tests/test-exclude.c: Likewise.
18831
18832 2011-02-22  Bruno Haible  <bruno@clisp.org>
18833
18834         ioctl: Fix for MacOS X in 64-bit mode.
18835         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
18836         value.
18837         Suggested by Eric Blake.
18838         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
18839
18840 2011-02-22  Jim Meyering  <meyering@redhat.com>
18841
18842         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
18843         * Makefile (sc_cpp_indent_check): Don't limit the check to files
18844         in lib/.
18845
18846 2011-02-22  Eric Blake  <eblake@redhat.com>
18847
18848         maint: avoid any CDPATH issue
18849         * Makefile (sc_cpp_indent_check): Anchor cd argument.
18850
18851         maint: adjust cpp indentation for my modules, as well
18852         * Makefile (sc_cpp_indent_check): Add my name.
18853         * lib/fbufmode.c: Filter through cppi.
18854         * lib/fpurge.c: Likewise.
18855         * lib/freadable.c: Likewise.
18856         * lib/freading.c: Likewise.
18857         * lib/fwritable.c: Likewise.
18858         * lib/fwriting.c: Likewise.
18859         * lib/sigaction.c: Likewise.
18860
18861 2011-02-22  Jim Meyering  <meyering@redhat.com>
18862
18863         maint: adjust cpp indentation to reflect nesting depth
18864         I.e., in a block of code that begins with an unnested "#if",
18865         put one space between the "#" in column 1 and following token.
18866         For example,
18867         -#include <sys/vfs.h>
18868         +# include <sys/vfs.h>
18869         Do this only in .c files that are part of a module I maintain.
18870         * lib/linkat.c: Filter through cppi.
18871         * lib/nanosleep.c: Likewise.
18872         * lib/openat.c: Likewise.
18873         * lib/openat-die.c: Likewise.
18874         * lib/dup3.c: Likewise.
18875         * lib/fchownat.c: Likewise.
18876         * lib/flock.c: Likewise.
18877         * lib/fsync.c: Likewise.
18878         * lib/fts.c: Likewise.
18879         * lib/getpass.c: Likewise.
18880         * lib/gettimeofday.c: Likewise.
18881         * lib/userspec.c: Likewise.
18882         * Makefile (sc_cpp_indent_check): New rule, to check this.
18883
18884 2011-02-22  Bruno Haible  <bruno@clisp.org>
18885
18886         New module 'wctomb'.
18887         * lib/stdlib.in.h (wctomb): New declaration.
18888         * lib/wctomb.c: New file.
18889         * lib/wctomb-impl.h: New file.
18890         * m4/wctomb.m4: New file.
18891         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
18892         REPLACE_WCTOMB.
18893         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
18894         REPLACE_WCTOMB.
18895         * modules/wctomb: New file.
18896         * tests/test-stdlib-c++.cc: Test signature of wctomb.
18897         * doc/posix-functions/wctomb.texi: Mention the new module.
18898         * modules/wctob (Depends-on): Add wctomb.
18899
18900 2011-02-22  Bruno Haible  <bruno@clisp.org>
18901
18902         New module 'mbtowc'.
18903         * lib/stdlib.in.h (mbtowc): New declaration.
18904         * lib/mbtowc.c: New file.
18905         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
18906         * m4/mbtowc.m4: New file.
18907         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
18908         REPLACE_MBTOWC.
18909         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
18910         REPLACE_MBTOWC.
18911         * modules/mbtowc: New file.
18912         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
18913         * doc/posix-functions/mbtowc.texi: Mention the new module.
18914         * modules/btowc (Depends-on): Add mbtowc.
18915
18916 2011-02-22  Bruno Haible  <bruno@clisp.org>
18917
18918         wcrtomb: Add more tests for native Windows platforms.
18919         * tests/test-wcrtomb-w32-1.sh: New file.
18920         * tests/test-wcrtomb-w32-2.sh: New file.
18921         * tests/test-wcrtomb-w32-3.sh: New file.
18922         * tests/test-wcrtomb-w32-4.sh: New file.
18923         * tests/test-wcrtomb-w32-5.sh: New file.
18924         * tests/test-wcrtomb-w32.c: New file.
18925         * modules/wcrtomb-tests (Files): Add them.
18926         (Makefile.am): Arrange to run these tests.
18927         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
18928         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
18929
18930 2011-02-20  Bruno Haible  <bruno@clisp.org>
18931
18932         wcrtomb: Enhance test.
18933         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
18934
18935 2011-02-20  Bruno Haible  <bruno@clisp.org>
18936
18937         mbrtowc: Tiny optimization.
18938         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
18939
18940 2011-02-20  Jim Meyering  <meyering@redhat.com>
18941
18942         test-exclude.c: remove unmatched #endif
18943         * tests/test-exclude.c: Remove stray #endif, left over from
18944         the change of a week ago.
18945
18946 2011-02-19  Jim Meyering  <meyering@redhat.com>
18947
18948         git-version-gen: skip "-dirty" check when appropriate
18949         * build-aux/git-version-gen: Don't run any git commands when the
18950         version string comes from .tarball-version.  Prior to this, we
18951         would run git update-index --refresh even from a just-unpacked
18952         tarball directory, and that could affect a .git/ directory in a
18953         parent of the build directory.  Reported by Mike Frysinger.
18954
18955 2011-02-19  Bruno Haible  <bruno@clisp.org>
18956
18957         unictype/property-byname: Reduce the size of the 'data' segment.
18958         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
18959
18960 2011-02-19  Bruno Haible  <bruno@clisp.org>
18961
18962         unictype/scripts: Reduce the size of the 'data' segment.
18963         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
18964         '%pic'.
18965         * lib/unictype/scripts_byname.gperf: Regenerated.
18966
18967 2011-02-19  Bruno Haible  <bruno@clisp.org>
18968
18969         stdint: Update documentation.
18970         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
18971
18972 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
18973
18974         stdint: omit redundant check for wchar.h
18975         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
18976         always tests whether wchar.h exists, so remove the now-redundant test.
18977
18978 2011-02-18  Bruno Haible  <bruno@clisp.org>
18979
18980         stdint: Cut dependency to module 'wchar'.
18981         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
18982         include the necessary prerequisites.
18983         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
18984         * modules/stdint (Depends-on): Remove wchar.
18985         (Makefile.am): Substitute HAVE_WCHAR_H.
18986         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
18987
18988 2011-02-18  Eric Blake  <eblake@redhat.com>
18989
18990         longlong: skip, rather than fail, on cross-compilation
18991         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
18992         when cross-compiling; regression from 2011-02-16.
18993
18994 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
18995
18996         * NEWS: Mention 2011-02-08 change to stdlib.
18997
18998 2011-02-17  Bruno Haible  <bruno@clisp.org>
18999
19000         getloadavg: Add comments about platforms.
19001         * m4/getloadavg.m4: Add comment.
19002         * lib/getloadavg.c: Likewise.
19003
19004 2011-02-17  Bruno Haible  <bruno@clisp.org>
19005
19006         getloadavg: Fix link error on Solaris 2.6.
19007         * modules/getloadavg (Link): New section.
19008         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
19009         linking test-getloadavg.
19010         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
19011         getloadavg.
19012
19013 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
19014
19015         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
19016         It was 'int', but this doesn't match the IRIX 6.5 manual.
19017         Suggested by Bruno Haible in
19018         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
19019
19020 2011-02-17  Bruno Haible  <bruno@clisp.org>
19021
19022         havelib: Fix comments.
19023         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
19024         change.
19025
19026 2011-02-17  Bruno Haible  <bruno@clisp.org>
19027
19028         havelib: Update config.rpath.
19029         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
19030
19031 2011-02-17  Bruno Haible  <bruno@clisp.org>
19032
19033         getloadavg test: Add some plausibility checks.
19034         * tests/test-getloadavg.c (check_avg): Print a warning when the value
19035         is improbable.
19036
19037 2011-02-16  Eric Blake  <eblake@redhat.com>
19038
19039         maintainer-makefile: make syntax-check a no-op from tarballs
19040         * top/maint.mk (no-vc-detected): New rule.
19041         (local-checks-available): Use it to avoid hanging if someone tries
19042         'make syntax-check' from a tarball.  Also append to any non-syntax
19043         checks already defined in cfg.mk.
19044
19045 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
19046
19047         longlong: tune, particularly for common case of c99
19048
19049         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
19050         or running anything if c99, or if unsigned long long int does not
19051         work.  In either case, we know the answer without further tests.
19052         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
19053         it at most once, and use its results for both long long int and
19054         unsigned long long int.  This is more likely to be efficient in
19055         the common case where the program wants to check for both long
19056         long int and unsigned long long int.
19057         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
19058         since the answer is already known.
19059
19060 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
19061
19062         getloadavg: set errno
19063         * lib/getloadavg.c: Set errno when returning -1.  If no other
19064         error number looks appropriate, set it to ENOSYS if the getloadavg
19065         looks like it can't possibly ever work, ENOTSUP otherwise.
19066         Suggested by Bruno Haible in
19067         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
19068
19069         getloadavg: trim unused parts and speed up 'configure'
19070         * NEWS: Document this.
19071         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
19072         always compiled if getloadavg is absent.
19073         Move test code to ...
19074         * tests/test-getloadavg.c: New file, containing previous
19075         contents of test from lib/getloadavg.c.  It also contains
19076         suggestions by Bruno Haible in
19077         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
19078         * modules/getloadavg-tests: New file.
19079         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
19080         Do tests in the same order as they're needed for getloadavg.c.
19081         Omit setgid-related tests that generate symbols KMEM_GROUP,
19082         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
19083         Do only the tests that are needed to see whether the system has
19084         getloadavg, moving the other tests into ...
19085         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
19086         NLIST_NAME_UNION; nobody should be using it.  Do not define
19087         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
19088         relevant, as the user of this module shouldn't care how getloadavg
19089         is implemented.
19090
19091         getloadavg: omit unused var
19092         * lib/getloadavg.c (getloadavg): Omit unused local variable.
19093
19094 2011-02-15  Jim Meyering  <meyering@redhat.com>
19095
19096         doc: update users.txt
19097         * users.txt: Update iwhd's URL.
19098
19099 2011-02-13  Bruno Haible  <bruno@clisp.org>
19100
19101         Consistent macro naming for macros that use GCC __attribute__.
19102         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
19103         _ATTRIBUTE_NONNULL_.
19104         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
19105         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
19106         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
19107         ATTRIBUTE_DEPRECATED.
19108         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
19109         ATTRIBUTE_NORETURN.
19110         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
19111         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
19112         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
19113         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
19114         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
19115         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
19116         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
19117         ATTRIBUTE_SENTINEL.
19118         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
19119         ATTRIBUTE_RETURN_CHECK.
19120         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
19121         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
19122         ATTRIBUTE_NORETURN.
19123         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
19124         Reported by Paul Eggert.
19125
19126 2011-02-13  Bruno Haible  <bruno@clisp.org>
19127
19128         Don't interfere with a program's definition of __attribute__.
19129         * lib/argp.h (__attribute__): Remove definition.
19130         (_GL_ATTRIBUTE_FORMAT): New macro.
19131         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
19132         * lib/argp-fmtstream.h (__attribute__): Remove definition.
19133         (_GL_ATTRIBUTE_FORMAT): New macro.
19134         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
19135         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
19136         GCC 3 or newer.
19137         * lib/error.h (__attribute__): Remove definition.
19138         (_GL_ATTRIBUTE_FORMAT): New macro.
19139         (error, error_at_line): Use it.
19140         * lib/hash.h (__attribute__): Remove definition.
19141         (ATTRIBUTE_WUR): Update definition. Define always.
19142         * lib/openat.h (__attribute__): Remove definition.
19143         (ATTRIBUTE_NORETURN): Update definition. Define always.
19144         * lib/sigpipe-die.h (__attribute__): Remove definition.
19145         (ATTRIBUTE_NORETURN): Update definition. Define always.
19146         * lib/vasnprintf.h (__attribute__): Remove definition.
19147         (_GL_ATTRIBUTE_FORMAT): New macro.
19148         (asnprintf, vasnprintf): Use it.
19149         * lib/xalloc.h (__attribute__): Remove definition.
19150         (ATTRIBUTE_NORETURN): Update definition. Define always.
19151         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
19152         * lib/xmemdup0.h (__attribute__): Remove definition.
19153         (ATTRIBUTE_NORETURN): Update definition. Define always.
19154         * lib/xprintf.h (__attribute__): Remove definition.
19155         (_GL_ATTRIBUTE_FORMAT): New macro.
19156         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
19157         * lib/xstrtol.h (__attribute__): Remove definition.
19158         (ATTRIBUTE_NORETURN): Update definition. Define always.
19159         * lib/xvasprintf.h (__attribute__): Remove definition.
19160         (_GL_ATTRIBUTE_FORMAT): New macro.
19161         (xasprintf, xvasprintf): Use it.
19162         * tests/test-argmatch.c (__attribute__): Remove definition.
19163         (ATTRIBUTE_NORETURN): Update definition. Define always.
19164         * tests/test-exclude.c (__attribute__): Remove definition.
19165         (ATTRIBUTE_NORETURN): Update definition. Define always.
19166         Reported by Paul Eggert.
19167
19168 2011-02-13  Bruno Haible  <bruno@clisp.org>
19169
19170         mbrtowc: Add more tests for native Windows platforms.
19171         * tests/test-mbrtowc-w32-1.sh: New file.
19172         * tests/test-mbrtowc-w32-2.sh: New file.
19173         * tests/test-mbrtowc-w32-3.sh: New file.
19174         * tests/test-mbrtowc-w32-4.sh: New file.
19175         * tests/test-mbrtowc-w32-5.sh: New file.
19176         * tests/test-mbrtowc-w32.c: New file.
19177         * modules/mbrtowc-tests (Files): Add them.
19178         (Makefile.am): Arrange to run these tests.
19179         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
19180         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
19181
19182 2011-02-13  Bruno Haible  <bruno@clisp.org>
19183
19184         mbrtowc: Work around native Windows bug.
19185         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
19186         guess when no suitable locale for testing was found.
19187         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
19188
19189 2011-02-13  Bruno Haible  <bruno@clisp.org>
19190
19191         mbsinit: Work around mingw bug.
19192         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
19193         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
19194         Windows.
19195         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
19196
19197 2011-02-13  Bruno Haible  <bruno@clisp.org>
19198
19199         mbsinit: Don't crash for a NULL argument.
19200         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
19201         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
19202
19203 2011-02-13  Bruno Haible  <bruno@clisp.org>
19204
19205         Don't interfere with a program's definition of __attribute__.
19206         * lib/stdio.in.h (__attribute__): Remove definition.
19207         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
19208         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
19209         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
19210         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
19211         * lib/string.in.h (__attribute__): Remove definition.
19212         Reported by Paul Eggert.
19213
19214 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
19215
19216         stdlib: don't get in the way of non-GCC __attribute__
19217         See thread starting at
19218         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
19219         Revert previous stdlib change, installing the following instead:
19220         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
19221         to get in the way of a non-GCC compiler that supports __attribute__.
19222         (_GL_ATTRIBUTE_RETURN): New macro.
19223         (_Exit): Use it instead of __attribute__.
19224
19225 2011-02-12  Bruno Haible  <bruno@clisp.org>
19226
19227         quotearg test: Avoid test failure on mingw.
19228         * tests/test-quotearg.sh: Convert the locale identifier from native
19229         Windows syntax to Unix syntax.
19230
19231 2011-02-12  Bruno Haible  <bruno@clisp.org>
19232
19233         setlocale: Prefer gnulib's override over libintl's override.
19234         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
19235         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
19236         GNULIB_defined_setlocale is set.
19237
19238 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
19239
19240         stdlib: support non-GCC __attribute__
19241
19242         Fix a serious and tricky problem encountered when attempting to
19243         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
19244         5.5, but it crashed due to memory corruption on Solaris 10 with
19245         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
19246         bits that are otherwise zero.  This tagging is optional inside
19247         Emacs but is preferred and is used when __attribute__ ((__aligned
19248         (8))) works, as it does with both recent-enough GCC and with Sun C
19249         5.11.  However, Sun C 5.11 is not GCC and does not #define
19250         __GNUC__ and __GNUC_MINOR__.
19251
19252         When I added the getloadavg module to Emacs, it brought in
19253         stdlib.in.h, which contained this fragment:
19254
19255            #ifndef __attribute__
19256            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
19257            #  define __attribute__(Spec)   /* empty */
19258            # endif
19259            #endif
19260
19261         When files that include <stdlib.h> were compiled with Sun C 5.11,
19262         the above code disabled __attribute__ ((__aligned (8))), which
19263         caused variables to not be properly aligned, which eventually led
19264         to the pointer corruption mentioned above.  (This was a bit hard
19265         to diagnose, unfortunately.)
19266
19267         Several "#define __attribute__(X) /* empty */" code snippets need
19268         to be eradicated from Gnulib to work with non-GCC compilers that
19269         support __attribute__.  The Autoconf way to do this is to test for
19270         each kind of attribute that we want support for, and selectively
19271         enable that in source code.
19272
19273         Fix this problem just for stdlib.h, by adding a test for the
19274         __noreturn__ attribute, and change stdlib.in.h to use that test
19275         when needed.  This technique can be easily generalized to the
19276         other *.in.h files and attributes, and a similar technique can be
19277         used for *.h and *.c files.  This patch is enough to solve the
19278         problem for Emacs + getloadavg, and I thought I'd publish it for
19279         feedback before undertaking further, similar fixes in other
19280         modules.
19281
19282         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
19283         because it's not needed for stdlib.h.  It merely substitutes the
19284         value directly into stdlib.h.  We may well need to #define it, or
19285         similar symbols, for other modules, but it's nice to also have an
19286         option to not #define it for applications like Emacs that do not
19287         need it.
19288
19289         * lib/stdlib.in.h (__attribute__): Do not #define.
19290         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
19291         be defined only if the _Exit module is also used.
19292         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
19293         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
19294         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
19295         platforms.
19296         * modules/_Exit (Files): Add m4/attribute.m4.
19297         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
19298         * m4/attribute.m4: New file.
19299
19300 2011-02-12  Bruno Haible  <bruno@clisp.org>
19301
19302         wcsrtombs: Work around bug on native Windows.
19303         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
19304         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
19305         instead of len.
19306         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
19307
19308 2011-02-12  Bruno Haible  <bruno@clisp.org>
19309
19310         mbsrtowcs: Work around bug on native Windows.
19311         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
19312         against mingw bug.
19313         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
19314
19315 2011-02-12  Bruno Haible  <bruno@clisp.org>
19316
19317         Avoid setlocale bugs in tests.
19318         * modules/btowc (Dependencies): Add setlocale.
19319         * modules/c-strcase (Dependencies): Likewise.
19320         * modules/mbmemcasecmp (Dependencies): Likewise.
19321         * modules/mbmemcasecoll (Dependencies): Likewise.
19322         * modules/mbrtowc (Dependencies): Likewise.
19323         * modules/mbscasecmp (Dependencies): Likewise.
19324         * modules/mbscasestr (Dependencies): Likewise.
19325         * modules/mbschr (Dependencies): Likewise.
19326         * modules/mbscspn (Dependencies): Likewise.
19327         * modules/mbsinit (Dependencies): Likewise.
19328         * modules/mbsncasecmp (Dependencies): Likewise.
19329         * modules/mbsnrtowcs (Dependencies): Likewise.
19330         * modules/mbspbrk (Dependencies): Likewise.
19331         * modules/mbspcasecmp (Dependencies): Likewise.
19332         * modules/mbsrchr (Dependencies): Likewise.
19333         * modules/mbsrtowcs (Dependencies): Likewise.
19334         * modules/mbsspn (Dependencies): Likewise.
19335         * modules/mbsstr (Dependencies): Likewise.
19336         * modules/nl_langinfo (Dependencies): Likewise.
19337         * modules/quotearg (Dependencies): Likewise.
19338         * modules/unicase/locale-language (Dependencies): Likewise.
19339         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
19340         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
19341         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
19342         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
19343         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
19344         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
19345         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
19346         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
19347         * modules/vasnprintf-posix (Dependencies): Likewise.
19348         * modules/wcrtomb (Dependencies): Likewise.
19349         * modules/wcsnrtombs (Dependencies): Likewise.
19350         * modules/wcsrtombs (Dependencies): Likewise.
19351
19352 2011-02-12  Bruno Haible  <bruno@clisp.org>
19353
19354         setlocale: Workaround native Windows bug.
19355         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
19356         succeeds but sets LC_CTYPE to "C", report a failure.
19357         * tests/test-setlocale2.sh: New file.
19358         * tests/test-setlocale2.c: New file.
19359         * modules/setlocale-tests (Files): Add the new files.
19360         (Makefile.am): Enable test-setlocale2.sh test.
19361         * doc/posix-functions/setlocale.texi: Mention workaround.
19362
19363 2011-02-11  Bruno Haible  <bruno@clisp.org>
19364
19365         Tests for module 'setlocale'.
19366         * modules/setlocale-tests: New file.
19367         * tests/test-setlocale1.sh: New file.
19368         * tests/test-setlocale1.c: New file.
19369
19370         New module 'setlocale'.
19371         * lib/locale.in.h (setlocale): New declaration.
19372         * lib/setlocale.c: New file, based on
19373         gettext/gettext-runtime/intl/setlocale.c.
19374         * m4/setlocale.m4: New file.
19375         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
19376         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
19377         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
19378         REPLACE_SETLOCALE.
19379         * modules/setlocale: New file.
19380         * tests/test-locale-c++.cc: Test the declaration of setlocale.
19381         * doc/posix-functions/setlocale.texi: Mention the new module.
19382
19383 2011-02-11  Bruno Haible  <bruno@clisp.org>
19384
19385         Prepare for locale dependent tests on mingw.
19386         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
19387         because it has the wrong locale encoding.
19388         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
19389         French_France.1252 instead of "fr".
19390         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
19391         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
19392         because it has the wrong locale encoding.
19393         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
19394         native Windows, try Turkish_Turkey.65001.
19395         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
19396         Chinese_China.54936.
19397
19398         Prepare for locale dependent tests on mingw.
19399         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
19400         differently.
19401         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
19402         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
19403         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
19404         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
19405
19406 2011-02-11  Eric Blake  <eblake@redhat.com>
19407
19408         strptime: avoid compiler warnings
19409         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
19410         compiler warnings about dead code.
19411         Reported by Daniel P. Berrange.
19412
19413 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
19414
19415         doc: update users.txt
19416         * users.txt: Add rcs.
19417
19418 2011-02-10  John W. Eaton  <jwe@gnu.org>
19419
19420         doc: update users.txt
19421         * users.txt: Add octave.
19422
19423 2011-02-10  Jim Meyering  <meyering@redhat.com>
19424
19425         doc: update users.txt
19426         * users.txt: Add iwhd.
19427
19428 2011-02-09  Bruno Haible  <bruno@clisp.org>
19429
19430         gnulib-tool: Make copyright notice adjustment more robust.
19431         * gnulib-tool (func_import): In sed_transform_main_lib_file,
19432         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
19433         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
19434         License".
19435         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
19436
19437 2011-02-06  Bruno Haible  <bruno@clisp.org>
19438
19439         New module 'towctrans'.
19440         * modules/towctrans: New file.
19441         * lib/wctype.in.h (towctrans): New declaration.
19442         * lib/towctrans.c: New file.
19443         * lib/towctrans-impl.h: New file.
19444         * m4/towctrans.m4: New file.
19445         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
19446         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
19447         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
19448         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
19449         * doc/posix-functions/towctrans.texi: Mention the new module.
19450
19451 2011-02-06  Bruno Haible  <bruno@clisp.org>
19452
19453         New module 'wctrans'.
19454         * modules/wctrans: New file.
19455         * lib/wctype.in.h (wctrans): New declaration.
19456         * lib/wctrans.c: New file.
19457         * lib/wctrans-impl.h: New file.
19458         * m4/wctrans.m4: New file.
19459         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
19460         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
19461         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
19462         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
19463         * doc/posix-functions/wctrans.texi: Mention the new module.
19464
19465 2011-02-06  Bruno Haible  <bruno@clisp.org>
19466
19467         New module 'iswctype'.
19468         * modules/iswctype: New file.
19469         * lib/wctype.in.h (iswctype): New declaration.
19470         * lib/iswctype.c: New file.
19471         * lib/iswctype-impl.h: New file.
19472         * m4/iswctype.m4: New file.
19473         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
19474         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
19475         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
19476         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
19477         * doc/posix-functions/iswctype.texi: Mention the new module and the
19478         HP-UX 11.00 problem.
19479
19480 2011-02-06  Bruno Haible  <bruno@clisp.org>
19481
19482         New module 'wctype'.
19483         * modules/wctype: Change to represent the wctype() substitute.
19484         * lib/wctype.in.h (wctype): New declaration.
19485         * lib/wctype.c: New file.
19486         * lib/wctype-impl.h: New file.
19487         * m4/wctype.m4: New file.
19488         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
19489         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
19490         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
19491         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
19492         * doc/posix-functions/wctype.texi: Mention the new module and the
19493         HP-UX 11.00 problem.
19494
19495 2011-02-06  Bruno Haible  <bruno@clisp.org>
19496
19497         wctype-h: Ensure wctype_t and wctrans_t are defined.
19498         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
19499         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
19500         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
19501         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
19502         HAVE_WCTRANS_T.
19503         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
19504
19505 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
19506
19507         flock: fix license typo
19508
19509         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
19510         omitted.
19511
19512 2011-02-08  Bruno Haible  <bruno@clisp.org>
19513
19514         Split large sed scripts, for HP-UX sed.
19515         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
19516         to avoid HP-UX limit of 99 commands, in the near future.
19517         * modules/stdlib (Makefile.am): Likewise.
19518         * modules/unistd (Makefile.am): Likewise.
19519         * modules/wchar (Makefile.am): Likewise.
19520         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
19521         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
19522         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
19523
19524 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
19525             Bruno Haible  <bruno@clisp.org>
19526
19527         stdlib: improve random_r modularization
19528         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
19529         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
19530         you also need the random_r module to get this material right.
19531         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
19532         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
19533         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
19534
19535 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
19536
19537         stdlib: don't depend on stdint
19538         * lib/stdlib.in.h: Don't include <stdint.h> merely because
19539         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
19540         be independent of whether stdint.h is needed.
19541         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
19542         here, instead of ...
19543         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
19544         struct random_data should be using the random_r module, not just
19545         the stdlib module (which wouldn't make sense: what package needs
19546         just struct random_data without also needing random_r?).
19547         * modules/stdlib (Depends-on): Remove stdint.
19548
19549         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
19550         See the thread rooted at
19551         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
19552         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
19553         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
19554         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
19555         __VMS)); previously it was always included (via fcntl--.h).
19556         (getloadavg): Do not use c_strtod.  Instead, approximate it by
19557         hand; this is good enough for load averages.  Also, do not use
19558         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
19559         flags directly if available and don't bother otherwise.  (Packages
19560         that need the extra reliability should use the modules that define
19561         these flags on older platforms that lack them.)
19562         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
19563         fcntl-safer.
19564
19565 2011-02-08  Jim Meyering  <meyering@redhat.com>
19566
19567         di-set.h, ino-map.h: add multiple-inclusion guard
19568         Technically, the guard is required only for ino-map.h, due to its
19569         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
19570         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
19571         * lib/ino-map.h: Likewise.
19572
19573 2011-02-06  Bruno Haible  <bruno@clisp.org>
19574
19575         iswblank: Ensure declaration on glibc systems.
19576         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
19577         * modules/iswblank (Dependencies): Add 'extensions'.
19578         * doc/posix-functions/iswblank.texi: Document the glibc problem.
19579
19580 2011-02-06  Bruno Haible  <bruno@clisp.org>
19581
19582         New module 'iswblank'.
19583         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
19584         * modules/iswblank: New file.
19585         * modules/wctype-h (Files): Remove lib/iswblank.c.
19586         (Makefile.am): Substitute GNULIB_ISWBLANK.
19587         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
19588         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
19589         (gl_WCTYPE_H_DEFAULTS): New macro.
19590         (gl_WCTYPE_H): Require it. Remove iswblank related code.
19591         * modules/iswblank-tests: New file.
19592         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
19593         * tests/test-wctype-h.c (main): Remove iswblank tests.
19594         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
19595         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
19596         of 'wctype-h'.
19597         * NEWS: Mention the change.
19598         * modules/mbchar (Depends-on): Add iswblank.
19599
19600 2011-02-08  Bruno Haible  <bruno@clisp.org>
19601
19602         di-set tests: Refactor.
19603         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
19604         unnecessary includes.
19605         (ASSERT): Remove macro.
19606         (main): Make C90 compliant by avoiding variable declaration after
19607         statement.
19608         * modules/di-set-tests (Files): Add tests/macros.h.
19609
19610 2011-02-08  Bruno Haible  <bruno@clisp.org>
19611
19612         ino-map tests: Refactor.
19613         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
19614         unnecessary includes.
19615         (ASSERT): Remove macro.
19616         (main): Make C90 compliant by avoiding variable declaration after
19617         statement.
19618         * modules/ino-map-tests (Files): Add tests/macros.h.
19619
19620 2011-02-08  Jim Meyering  <meyering@redhat.com>
19621
19622         di-set: add "const" to a cast
19623         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
19624         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
19625
19626 2011-02-06  Bruno Haible  <bruno@clisp.org>
19627
19628         Rename module 'wctype' to 'wctype-h'.
19629         * modules/wctype-h: Renamed from modules/wctype.
19630         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
19631         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
19632         (Files, Depends-on, Makefile.am): Update.
19633         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
19634         (Files, Makefile.am): Update.
19635         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
19636         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
19637         * doc/posix-headers/wctype.texi: Update.
19638         * doc/posix-functions/iswalnum.texi: Update.
19639         * doc/posix-functions/iswalpha.texi: Update.
19640         * doc/posix-functions/iswblank.texi: Update.
19641         * doc/posix-functions/iswcntrl.texi: Update.
19642         * doc/posix-functions/iswdigit.texi: Update.
19643         * doc/posix-functions/iswgraph.texi: Update.
19644         * doc/posix-functions/iswlower.texi: Update.
19645         * doc/posix-functions/iswprint.texi: Update.
19646         * doc/posix-functions/iswpunct.texi: Update.
19647         * doc/posix-functions/iswspace.texi: Update.
19648         * doc/posix-functions/iswupper.texi: Update.
19649         * doc/posix-functions/iswxdigit.texi: Update.
19650         * doc/posix-functions/towlower.texi: Update.
19651         * doc/posix-functions/towupper.texi: Update.
19652         * NEWS: Mention the change.
19653         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
19654         * modules/mbchar (Dependencies): Likewise.
19655         * modules/mbswidth (Dependencies): Likewise.
19656         * modules/quotearg (Dependencies): Likewise.
19657         * modules/regex (Dependencies): Likewise.
19658         * modules/wcscasecmp (Dependencies): Likewise.
19659         * modules/wcsncasecmp (Dependencies): Likewise.
19660         * modules/wcwidth (Dependencies): Likewise.
19661
19662 2011-02-06  Bruno Haible  <bruno@clisp.org>
19663
19664         New module 'wcswidth'.
19665         * modules/wcswidth: New file.
19666         * lib/wchar.in.h (wcswidth): New declaration.
19667         * lib/wcswidth.c: New file.
19668         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
19669         * m4/wcswidth.m4: New file.
19670         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
19671         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
19672         REPLACE_WCSWIDTH.
19673         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
19674         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
19675         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
19676         * doc/posix-functions/wcswidth.texi: Mention the new module.
19677
19678 2011-02-06  Bruno Haible  <bruno@clisp.org>
19679
19680         New module 'wcstok'.
19681         * modules/wcstok: New file.
19682         * lib/wchar.in.h (wcstok): New declaration.
19683         * lib/wcstok.c: New file.
19684         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
19685         * m4/wcstok.m4: New file.
19686         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
19687         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
19688         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
19689         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
19690         * doc/posix-functions/wcstok.texi: Mention the new module.
19691
19692 2011-02-06  Bruno Haible  <bruno@clisp.org>
19693
19694         New module 'wcsstr'.
19695         * modules/wcsstr: New file.
19696         * lib/wchar.in.h (wcsstr): New declaration.
19697         * lib/wcsstr.c: New file.
19698         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
19699         * m4/wcsstr.m4: New file.
19700         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
19701         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
19702         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
19703         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
19704         * doc/posix-functions/wcsstr.texi: Mention the new module.
19705
19706 2011-02-06  Bruno Haible  <bruno@clisp.org>
19707
19708         New module 'wcspbrk'.
19709         * modules/wcspbrk: New file.
19710         * lib/wchar.in.h (wcspbrk): New declaration.
19711         * lib/wcspbrk.c: New file.
19712         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
19713         * m4/wcspbrk.m4: New file.
19714         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
19715         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
19716         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
19717         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
19718         * doc/posix-functions/wcspbrk.texi: Mention the new module.
19719
19720 2011-02-06  Bruno Haible  <bruno@clisp.org>
19721
19722         New module 'wcsspn'.
19723         * modules/wcsspn: New file.
19724         * lib/wchar.in.h (wcsspn): New declaration.
19725         * lib/wcsspn.c: New file.
19726         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
19727         * m4/wcsspn.m4: New file.
19728         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
19729         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
19730         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
19731         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
19732         * doc/posix-functions/wcsspn.texi: Mention the new module.
19733
19734 2011-02-06  Bruno Haible  <bruno@clisp.org>
19735
19736         New module 'wcscspn'.
19737         * modules/wcscspn: New file.
19738         * lib/wchar.in.h (wcscspn): New declaration.
19739         * lib/wcscspn.c: New file.
19740         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
19741         * m4/wcscspn.m4: New file.
19742         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
19743         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
19744         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
19745         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
19746         * doc/posix-functions/wcscspn.texi: Mention the new module.
19747
19748 2011-02-06  Bruno Haible  <bruno@clisp.org>
19749
19750         New module 'wcsrchr'.
19751         * modules/wcsrchr: New file.
19752         * lib/wchar.in.h (wcsrchr): New declaration.
19753         * lib/wcsrchr.c: New file.
19754         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
19755         * m4/wcsrchr.m4: New file.
19756         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
19757         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
19758         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
19759         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
19760         * doc/posix-functions/wcsrchr.texi: Mention the new module.
19761
19762 2011-02-06  Bruno Haible  <bruno@clisp.org>
19763
19764         New module 'wcschr'.
19765         * modules/wcschr: New file.
19766         * lib/wchar.in.h (wcschr): New declaration.
19767         * lib/wcschr.c: New file.
19768         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
19769         * m4/wcschr.m4: New file.
19770         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
19771         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
19772         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
19773         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
19774         * doc/posix-functions/wcschr.texi: Mention the new module.
19775
19776 2011-02-06  Bruno Haible  <bruno@clisp.org>
19777
19778         New module 'wcsdup'.
19779         * modules/wcsdup: New file.
19780         * lib/wchar.in.h (wcsdup): New declaration.
19781         * lib/wcsdup.c: New file.
19782         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
19783         * m4/wcsdup.m4: New file.
19784         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
19785         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
19786         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
19787         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
19788         * doc/posix-functions/wcsdup.texi: Mention the new module.
19789
19790 2011-02-06  Bruno Haible  <bruno@clisp.org>
19791
19792         New module 'wcsxfrm'.
19793         * modules/wcsxfrm: New file.
19794         * lib/wchar.in.h (wcsxfrm): New declaration.
19795         * lib/wcsxfrm.c: New file.
19796         * lib/wcsxfrm-impl.h: New file.
19797         * m4/wcsxfrm.m4: New file.
19798         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
19799         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
19800         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
19801         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
19802         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
19803
19804 2011-02-06  Bruno Haible  <bruno@clisp.org>
19805
19806         New module 'wcscoll'.
19807         * modules/wcscoll: New file.
19808         * lib/wchar.in.h (wcscoll): New declaration.
19809         * lib/wcscoll.c: New file.
19810         * lib/wcscoll-impl.h: New file.
19811         * m4/wcscoll.m4: New file.
19812         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
19813         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
19814         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
19815         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
19816         * doc/posix-functions/wcscoll.texi: Mention the new module.
19817
19818 2011-02-06  Bruno Haible  <bruno@clisp.org>
19819
19820         New module 'wcsncasecmp'.
19821         * modules/wcsncasecmp: New file.
19822         * lib/wchar.in.h (wcsncasecmp): New declaration.
19823         * lib/wcsncasecmp.c: New file.
19824         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
19825         * m4/wcsncasecmp.m4: New file.
19826         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
19827         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
19828         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
19829         HAVE_WCSNCASECMP.
19830         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
19831         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
19832
19833 2011-02-06  Bruno Haible  <bruno@clisp.org>
19834
19835         New module 'wcscasecmp'.
19836         * modules/wcscasecmp: New file.
19837         * lib/wchar.in.h (wcscasecmp): New declaration.
19838         * lib/wcscasecmp.c: New file.
19839         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
19840         * m4/wcscasecmp.m4: New file.
19841         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
19842         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
19843         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
19844         HAVE_WCSCASECMP.
19845         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
19846         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
19847
19848 2011-02-05  Bruno Haible  <bruno@clisp.org>
19849
19850         New module 'wcsncmp'.
19851         * modules/wcsncmp: New file.
19852         * lib/wchar.in.h (wcsncmp): New declaration.
19853         * lib/wcsncmp.c: New file.
19854         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
19855         * m4/wcsncmp.m4: New file.
19856         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
19857         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
19858         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
19859         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
19860         * doc/posix-functions/wcsncmp.texi: Mention the new module.
19861
19862 2011-02-05  Bruno Haible  <bruno@clisp.org>
19863
19864         New module 'wcscmp'.
19865         * modules/wcscmp: New file.
19866         * lib/wchar.in.h (wcscmp): New declaration.
19867         * lib/wcscmp.c: New file.
19868         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
19869         * m4/wcscmp.m4: New file.
19870         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
19871         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
19872         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
19873         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
19874         * doc/posix-functions/wcscmp.texi: Mention the new module.
19875
19876 2011-02-05  Bruno Haible  <bruno@clisp.org>
19877
19878         New module 'wcsncat'.
19879         * modules/wcsncat: New file.
19880         * lib/wchar.in.h (wcsncat): New declaration.
19881         * lib/wcsncat.c: New file.
19882         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
19883         * m4/wcsncat.m4: New file.
19884         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
19885         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
19886         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
19887         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
19888         * doc/posix-functions/wcsncat.texi: Mention the new module.
19889
19890 2011-02-05  Bruno Haible  <bruno@clisp.org>
19891
19892         New module 'wcscat'.
19893         * modules/wcscat: New file.
19894         * lib/wchar.in.h (wcscat): New declaration.
19895         * lib/wcscat.c: New file.
19896         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
19897         * m4/wcscat.m4: New file.
19898         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
19899         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
19900         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
19901         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
19902         * doc/posix-functions/wcscat.texi: Mention the new module.
19903
19904 2011-02-05  Bruno Haible  <bruno@clisp.org>
19905
19906         New module 'wcpncpy'.
19907         * modules/wcpncpy: New file.
19908         * lib/wchar.in.h (wcpncpy): New declaration.
19909         * lib/wcpncpy.c: New file.
19910         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
19911         * m4/wcpncpy.m4: New file.
19912         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
19913         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
19914         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
19915         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
19916         * doc/posix-functions/wcpncpy.texi: Mention the new module.
19917
19918 2011-02-05  Bruno Haible  <bruno@clisp.org>
19919
19920         New module 'wcsncpy'.
19921         * modules/wcsncpy: New file.
19922         * lib/wchar.in.h (wcsncpy): New declaration.
19923         * lib/wcsncpy.c: New file.
19924         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
19925         * m4/wcsncpy.m4: New file.
19926         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
19927         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
19928         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
19929         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
19930         * doc/posix-functions/wcsncpy.texi: Mention the new module.
19931
19932 2011-02-05  Bruno Haible  <bruno@clisp.org>
19933
19934         New module 'wcpcpy'.
19935         * modules/wcpcpy: New file.
19936         * lib/wchar.in.h (wcpcpy): New declaration.
19937         * lib/wcpcpy.c: New file.
19938         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
19939         * m4/wcpcpy.m4: New file.
19940         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
19941         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
19942         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
19943         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
19944         * doc/posix-functions/wcpcpy.texi: Mention the new module.
19945
19946 2011-02-05  Bruno Haible  <bruno@clisp.org>
19947
19948         New module 'wcscpy'.
19949         * modules/wcscpy: New file.
19950         * lib/wchar.in.h (wcscpy): New declaration.
19951         * lib/wcscpy.c: New file.
19952         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
19953         * m4/wcscpy.m4: New file.
19954         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
19955         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
19956         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
19957         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
19958         * doc/posix-functions/wcscpy.texi: Mention the new module.
19959
19960 2011-02-05  Bruno Haible  <bruno@clisp.org>
19961
19962         New module 'wcsnlen'.
19963         * modules/wcsnlen: New file.
19964         * lib/wchar.in.h (wcsnlen): New declaration.
19965         * lib/wcsnlen.c: New file.
19966         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
19967         * m4/wcsnlen.m4: New file.
19968         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
19969         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
19970         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
19971         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
19972         * doc/posix-functions/wcsnlen.texi: Mention the new module.
19973
19974 2011-02-05  Bruno Haible  <bruno@clisp.org>
19975
19976         New module 'wcslen'.
19977         * modules/wcslen: New file.
19978         * lib/wchar.in.h (wcslen): New declaration.
19979         * lib/wcslen.c: New file.
19980         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
19981         * m4/wcslen.m4: New file.
19982         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
19983         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
19984         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
19985         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
19986         * doc/posix-functions/wcslen.texi: Mention the new module.
19987
19988 2011-02-05  Bruno Haible  <bruno@clisp.org>
19989
19990         New module 'wmemset'.
19991         * modules/wmemset: New file.
19992         * lib/wchar.in.h (wmemset): New declaration.
19993         * lib/wmemset.c: New file.
19994         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
19995         * m4/wmemset.m4: New file.
19996         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
19997         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
19998         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
19999         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
20000         * doc/posix-functions/wmemset.texi: Mention the new module.
20001
20002 2011-02-05  Bruno Haible  <bruno@clisp.org>
20003
20004         New module 'wmemmove'.
20005         * modules/wmemmove: New file.
20006         * lib/wchar.in.h (wmemmove): New declaration.
20007         * lib/wmemmove.c: New file.
20008         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
20009         * m4/wmemmove.m4: New file.
20010         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
20011         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
20012         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
20013         HAVE_WMEMMOVE.
20014         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
20015         * doc/posix-functions/wmemmove.texi: Mention the new module.
20016
20017 2011-02-05  Bruno Haible  <bruno@clisp.org>
20018
20019         New module 'wmemcpy'.
20020         * modules/wmemcpy: New file.
20021         * lib/wchar.in.h (wmemcpy): New declaration.
20022         * lib/wmemcpy.c: New file.
20023         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
20024         * m4/wmemcpy.m4: New file.
20025         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
20026         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
20027         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
20028         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
20029         * doc/posix-functions/wmemcpy.texi: Mention the new module.
20030
20031 2011-02-05  Bruno Haible  <bruno@clisp.org>
20032
20033         New module 'wmemcmp'.
20034         * modules/wmemcmp: New file.
20035         * lib/wchar.in.h (wmemcmp): New declaration.
20036         * lib/wmemcmp.c: New file.
20037         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
20038         * m4/wmemcmp.m4: New file.
20039         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
20040         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
20041         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
20042         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
20043         * doc/posix-functions/wmemcmp.texi: Mention the new module.
20044
20045 2011-02-07  Jim Meyering  <meyering@redhat.com>
20046
20047         di-set, ino-map: new modules, from coreutils
20048         * lib/di-set.c: New file.
20049         * lib/di-set.h: Likewise.
20050         * lib/ino-map.c: Likewise.
20051         * lib/ino-map.h: Likewise.
20052         * modules/di-set: Likewise.
20053         * modules/di-set-tests: Likewise.
20054         * modules/ino-map: Likewise.
20055         * modules/ino-map-tests: Likewise.
20056         * tests/test-di-set.c: Likewise.
20057         * tests/test-ino-map.c: Likewise.
20058
20059 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
20060
20061         getloadavg: merge minor changes from Emacs
20062
20063         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
20064         (getloadavg): Use memset, not bzero.
20065
20066         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
20067         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
20068         clash (bug#86).
20069
20070 2010-11-14  Bruno Haible  <bruno@clisp.org>
20071
20072         Allow multiple gnulib generated replacements to coexist.
20073         * lib/getopt.in.h (struct option): Avoid identical redefinition.
20074         * lib/inttypes.in.h (imaxdiv_t): Likewise.
20075         * lib/langinfo.in.h (nl_item): Likewise.
20076         * lib/math.in.h (_NaN, NAN): Likewise.
20077         * lib/netdb.in.h (struct addrinfo): Likewise.
20078         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
20079         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
20080         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
20081         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
20082         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
20083         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
20084         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
20085         pthread_mutexattr_init, pthread_mutexattr_settype,
20086         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
20087         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
20088         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
20089         pthread_spin_trylock, pthread_spin_unlock): Likewise.
20090         * lib/sched.in.h (struct sched_param): Likewise.
20091         * lib/se-selinux.in.h (security_class_t, security_context_t,
20092         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
20093         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
20094         lsetfilecon, fsetfilecon, security_check_context,
20095         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
20096         Likewise.
20097         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
20098         Likewise.
20099         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
20100         _gl_function_taking_int_returning_void_t, union sigval,
20101         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
20102         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
20103         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
20104         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
20105         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
20106         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
20107         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
20108         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
20109         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
20110         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
20111         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
20112         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
20113         socklen_t, rpl_fd_isset): Likewise.
20114         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
20115         * lib/sys_time.in.h (struct timeval): Likewise.
20116         * lib/sys_times.in.h (struct tms): Likewise.
20117         * lib/sys_utsname.in.h (struct utsname):
20118         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
20119         * lib/unistd.in.h (getpagesize): Likewise.
20120         * lib/wchar.in.h (mbstate_t): Likewise.
20121         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
20122         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
20123         towlower, towupper): Likewise.
20124         Reported by Sam Steingold <sds@gnu.org>.
20125
20126 2011-02-05  Eric Blake  <eblake@redhat.com>
20127
20128         unsetenv: work around Haiku issues
20129         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
20130         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
20131
20132 2010-12-30  Bruce Korb  <bkorb@gnu.org>
20133
20134         libposix: avoid calling error() within libposix
20135         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
20136         is defined.
20137
20138 2011-02-05  Eric Blake  <eblake@redhat.com>
20139
20140         strerror_r-posix: port to cygwin
20141         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
20142         implementation.
20143         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
20144         * tests/test-strerror_r.c (main): Fix test.
20145         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
20146         issue.
20147
20148 2011-02-05  Bruno Haible  <bruno@clisp.org>
20149
20150         New module 'wmemchr'.
20151         * modules/wmemchr: New file.
20152         * lib/wchar.in.h (wmemchr): New declaration.
20153         * lib/wmemchr.c: New file.
20154         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
20155         * m4/wmemchr.m4: New file.
20156         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
20157         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
20158         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
20159         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
20160         * doc/posix-functions/wmemchr.texi: Mention the new module.
20161
20162 2011-02-04  Eric Blake  <eblake@redhat.com>
20163
20164         fdopendir: detect FreeBSD bug
20165         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
20166         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
20167
20168 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
20169
20170         stdbool: do not define HAVE_STDBOOL_H
20171         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
20172         AC_HEADER_STDBOOL.  All uses changed.  Do not define
20173         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
20174         imported from the latest Autoconf git.  It was motivated by Emacs,
20175         which uses gnulib but does not need HAVE_STDBOOL_H.
20176
20177 2011-02-04  Bruno Haible  <bruno@clisp.org>
20178
20179         wcsnrtombs: Prepare for new module wwcsnrtombs.
20180         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
20181         * lib/wcsnrtombs.c: Include it.
20182         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
20183
20184         wcsrtombs: Prepare for new module wwcsrtombs.
20185         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
20186         * lib/wcsrtombs.c: Include it.
20187         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
20188
20189         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
20190         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
20191         * lib/mbsnrtowcs.c: Include it.
20192         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
20193
20194         mbsrtowcs: Prepare for new module mbsrtowwcs.
20195         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
20196         * lib/mbsrtowcs.c: Include it.
20197         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
20198
20199 2011-02-04  Bruno Haible  <bruno@clisp.org>
20200
20201         vasnprintf: Reduce use of malloc for small format strings.
20202         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
20203         (arguments): Add room for the first 7 arguments.
20204         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
20205         (char_directives, u8_directives, u16_directives, u32_directives): Add
20206         room for the first 7 directives.
20207         * lib/printf-parse.c: Include <string.h>.
20208         (PRINTF_PARSE): Change memory handling code so that it uses the first
20209         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
20210         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
20211         Reported by Pádraig Brady <P@draigbrady.com>.
20212
20213 2011-01-31  Eric Blake  <eblake@redhat.com>
20214
20215         dup2: work around Haiku bug
20216         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
20217         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
20218         * doc/posix-functions/dup2.texi (dup2): Document the bug.
20219         * tests/test-dup2.c (main): Enhance test.
20220
20221 2011-01-31  Simon Josefsson  <simon@josefsson.org>
20222
20223         doc: off_t is not available in eglibc 2.11.2 stdio.h.
20224         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
20225         declared by eglibc 2.11.2.
20226         * lib/stdio.in.h: Likewise.
20227
20228 2011-01-31  Eric Blake  <eblake@redhat.com>
20229
20230         ignore-value: add missing test dependency
20231         * tests/test-ignore-value.c: Revert previous change; stdio.h
20232         provides off_t.
20233         * modules/ignore-value-tests (Depends-on): Add missing dependency.
20234
20235 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
20236
20237         mktime: clarify long_int width checking
20238         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
20239         the top level, to make it clearer that the assumption about
20240         long_int width is being checked.  See
20241         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
20242
20243 2011-01-30  Simon Josefsson  <simon@josefsson.org>
20244
20245         ignore-value: Fix self-test.
20246         * tests/test-ignore-value.c: Include sys/types.h for off_t.
20247
20248 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
20249
20250         TYPE_MAXIMUM: avoid theoretically undefined behavior
20251         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
20252         negative number, which the C Standard says has undefined behavior.
20253         In practice this is not a problem, but might as well do it by the book.
20254         Reported by Rich Felker and Eric Blake; see
20255         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
20256         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
20257         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
20258         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
20259         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
20260         * m4/stdint.m4 (gl_STDINT_H): Likewise.
20261         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
20262
20263         mktime: #undef mktime before #defining it
20264         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
20265
20266         mktime: systematically normalize tm_isdst comparisons
20267         * lib/mktime.c (isdst_differ): New function.
20268         (__mktime_internal): Use it systematically for all isdst comparisons.
20269         This completes the fix for libc BZ #6723, and removes the need for
20270         normalizing tm_isdst.  See
20271         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
20272         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
20273
20274         mktime: fix some integer overflow issues and sidestep the rest
20275
20276         This was prompted by a bug report by Benjamin Lindner for MinGW
20277         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
20278         His bug is due to signed integer overflow (0 - INT_MIN), and I
20279         I scanned through mktime.c looking for other integer overflow
20280         problems, fixing all the bugs I found.
20281
20282         Although the C Standard says the resulting code is still not safe
20283         in the presence of integer overflow, in practice it should be good
20284         enough for all real-world two's-complement implementations, except
20285         for debugging environments that deliberately trap on integer
20286         overflow (e.g., gcc -ftrapv).
20287
20288         * lib/mktime.c (WRAPV): New macro.
20289         (SHR): Also check that long_int and time_t shift right in the
20290         usual way, before using the fast-but-unportable method.
20291         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
20292         used.  The code already assumed two's complement, so there's
20293         no need to test for alternatives.  All uses removed.
20294         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
20295         the C standard.  Problem reported by Rich Felker in
20296         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
20297         (twos_complement_arithmetic): Also check long_int and time_t.
20298         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
20299         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
20300         (__mktime_internal): Avoid integer overflow with unary subtraction
20301         in two instances where -1 - X is an adequate replacement for -X,
20302         since the calculations are approximate.
20303
20304 2011-01-29  Eric Blake  <eblake@redhat.com>
20305
20306         mktime: avoid infinite loop
20307         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
20308         type; behavior is still undefined but portable to all known targets.
20309         Reported by Rich Felker.
20310
20311 2011-01-29  Simon Josefsson  <simon@josefsson.org>
20312
20313         rename, unlink, same-inode: Relicense.
20314         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
20315         * modules/unlink (License): Likewise.
20316         * modules/same-inode (License): Likewise.
20317
20318 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
20319
20320         mktime: avoid problems on NetBSD 5 / i386
20321         * lib/mktime.c (long_int): New type.  This works around a problem
20322         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
20323         but time_t is 64 bits, and where I expect the existing code is
20324         wrong in some cases.
20325         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
20326         (ydhms_diff): Bring back the compile-time check for wide-enough
20327         year and yday.
20328
20329         mktime: fix misspelling in comment
20330         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
20331         This merges all recent glibc changes of importance.
20332
20333 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20334
20335         move-if-change: cope with concurrent mv of identical file.
20336         * build-aux/move-if-change (CMPPROG): Accept environment
20337         variable as an override for `cmp'.
20338         (usage): Document CMPPROG.
20339         Adjust comparison to drop stdout.  Cope with failure of mv if
20340         the target file exists and is identical to the source, for
20341         parallel builds.
20342         Report from H.J. Lu against binutils in PR binutils/12283.
20343
20344 2011-01-28  Bruce Korb  <bkorb@gnu.org>
20345
20346         * users.txt: Mention sharutils.
20347
20348 2011-01-28  Simon Josefsson  <simon@josefsson.org>
20349
20350         * users.txt: Mention OATH Toolkit.
20351
20352 2011-01-27  Bruno Haible  <bruno@clisp.org>
20353
20354         Prepare for supporting FreeBSD 10.
20355         * build-aux/config.libpath: Remove handling of freebsd1*.
20356
20357 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
20358
20359         Prepare for supporting FreeBSD 10.
20360         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
20361         match FreeBSD 10.0.
20362
20363 2011-01-27  Bruno Haible  <bruno@clisp.org>
20364
20365         vma-iter, get-rusage-as: Add OpenBSD support.
20366         * modules/vma-iter (configure.ac): Test for mquery.
20367         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
20368         * lib/vma-iter.c: Include <sys/mman.h>.
20369         (vma_iterate): Add an implementation based on mquery().
20370         * lib/resource-ext.h (get_rusage_as): Update comments.
20371         * lib/get-rusage-as.c: Likewise.
20372         * lib/get-rusage-data.c: Likewise.
20373
20374 2011-01-26  Karl Berry  <karl@gnu.org>
20375
20376         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
20377         variables to make it easier to override the makeinfo program used.
20378
20379 2011-01-26  Eric Blake  <eblake@redhat.com>
20380
20381         fcntl: work around Haiku F_DUPFD bugs
20382         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
20383         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
20384         cloexec bit on duplication.
20385         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
20386
20387 2011-01-26  Bruno Haible  <bruno@clisp.org>
20388
20389         Enable memory leak tests on AIX.
20390         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
20391         * tests/test-fprintf-posix3.c (main): Likewise.
20392
20393 2011-01-26  Bruno Haible  <bruno@clisp.org>
20394
20395         Tests for module 'get-rusage-data'.
20396         * modules/get-rusage-data-tests: New file.
20397         * tests/test-get-rusage-data.c: New file.
20398
20399         New module 'get-rusage-data'.
20400         * lib/resource-ext.h (get_rusage_data): New declaration.
20401         * lib/get-rusage-data.c: New file.
20402         * modules/get-rusage-data: New file.
20403
20404 2011-01-25  Bruno Haible  <bruno@clisp.org>
20405
20406         get-rusage-as: Allow for easier testing.
20407         * lib/resource-ext.h (get_rusage_as): Add comment.
20408         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
20409         (main): New function for interactive testing.
20410
20411 2011-01-25  Bruno Haible  <bruno@clisp.org>
20412
20413         vma-iter: Treat Haiku like BeOS.
20414         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
20415         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
20416
20417 2011-01-25  Eric Blake  <eblake@redhat.com>
20418
20419         c-stack: fix regression on cygwin when libsigsegv is present
20420         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
20421
20422 2011-01-24  Bruno Haible  <bruno@clisp.org>
20423
20424         vma-iter: Avoid empty intervals.
20425         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
20426         on an empty interval.
20427
20428 2011-01-24  Jim Meyering  <meyering@redhat.com>
20429
20430         u64: remove unnecessary #include
20431         * lib/u64.h: Don't include <stddef.h>.  It was not used.
20432
20433 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
20434
20435         Allow the user to avoid the HAVE_RAW_DECL_* macros.
20436         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
20437
20438 2011-01-23  Bruno Haible  <bruno@clisp.org>
20439
20440         New module 'vma-iter'.
20441         * lib/vma-iter.h: New file.
20442         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
20443         * modules/vma-iter: New file.
20444         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
20445         for get_rusage_as_via_iterator.
20446         (vma_iterate_callback): New function.
20447         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
20448         * modules/get-rusage-as (Depends-on): Add vma-iter.
20449
20450 2011-01-23  Bruno Haible  <bruno@clisp.org>
20451
20452         uninorm: Tweak includes.
20453         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
20454         Reported by Jim Meyering.
20455
20456 2011-01-23  Bruno Haible  <bruno@clisp.org>
20457
20458         get-rusage-as: Improve on NetBSD.
20459         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
20460         /proc, like on FreeBSD.
20461
20462 2011-01-23  Jim Meyering  <meyering@redhat.com>
20463
20464         xreadlink.h: remove unnecessary #include
20465         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
20466
20467         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
20468         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
20469
20470 2011-01-23  Bruno Haible  <bruno@clisp.org>
20471
20472         get-rusage-as: Fix bug.
20473         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
20474         original limit when aborting the first loop.
20475
20476 2011-01-23  Bruno Haible  <bruno@clisp.org>
20477
20478         wctype: Ensure valid C syntax.
20479         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
20480         unconditionally, instead of gl_NEXT_HEADERS conditionally.
20481
20482 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
20483
20484         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
20485         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
20486         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
20487         as they are needed only for configure's test case.
20488         This removes two unnecessary symbols from config.h.
20489
20490         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
20491         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
20492         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
20493         AC_CHECK_HEADERS_ONCE on a header that we also invoke
20494         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
20495         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
20496         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
20497         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
20498         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
20499         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
20500         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
20501         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
20502         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
20503         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
20504         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
20505         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
20506         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
20507         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
20508
20509 2011-01-21  Eric Blake  <eblake@redhat.com>
20510
20511         maintainer-makefile: work with older git for submodule check
20512         * top/maint.mk (public-submodule-commit): Rewrite to avoid
20513         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
20514         Reported by Matthias Bolte.
20515
20516         bootstrap: minor portability fixes
20517         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
20518         (usage): Omit leading capital and trailing . on help phrases, per
20519         GNU Coding Standards.
20520         (check_versions, top level): Prefix messages with script name.
20521
20522 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
20523
20524         bootstrap: support --no-git option
20525         * build-aux/bootstrap: Add --no-git option, to be used when
20526         --gnulib-srcdir points to the exact desired checkout.
20527
20528 2011-01-21  Eric Blake  <eblake@redhat.com>
20529
20530         strerror_r-posix: work with glibc 2.13
20531         * lib/strerror_r.c (strerror_r): Fix return type.
20532
20533 2011-01-21  Pádraig Brady  <P@draigBrady.com>
20534             Bruno Haible  <bruno@clisp.org>
20535
20536         uN_strstr: New unit tests.
20537         * modules/unistr/u8-strstr-tests: New file.
20538         * modules/unistr/u16-strstr-tests: New file.
20539         * modules/unistr/u32-strstr-tests: New file.
20540         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
20541         * tests/unistr/test-u8-strstr.c: New file.
20542         * tests/unistr/test-u16-strstr.c: New file.
20543         * tests/unistr/test-u32-strstr.c: New file.
20544
20545 2011-01-21  Pádraig Brady  <P@draigBrady.com>
20546             Bruno Haible  <bruno@clisp.org>
20547
20548         Make uN_strstr functions O(n) worst-case.
20549         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
20550         16-bit and 32-bit unit cases, use the unibyte algorithm from
20551         lib/mbsstr.c.
20552         * lib/unistr/u8-strstr.c: Include <string.h>.
20553         (UNIT_IS_UINT8_T): New macro.
20554         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
20555         (U_STRLEN, U_STRNLEN): New macros.
20556         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
20557         (U_STRLEN, U_STRNLEN): New macros.
20558         * modules/unistr/u8-strstr (Depends-on): Add strstr.
20559         (configure.ac): Update required libunistring version.
20560         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
20561         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
20562         malloca.
20563         (configure.ac): Update required libunistring version.
20564         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
20565         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
20566         malloca.
20567         (configure.ac): Update required libunistring version.
20568
20569 2011-01-21  Pádraig Brady  <P@draigBrady.com>
20570             Bruno Haible  <bruno@clisp.org>
20571
20572         Prepare for faster uN_strstr functions.
20573         * lib/str-kmp.h: Support definable UNITs.
20574         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
20575         needle_len argument.
20576         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
20577         * lib/mbscasestr.c (mbscasestr): Likewise.
20578
20579 2011-01-21  Pádraig Brady <P@draigBrady.com>
20580
20581         malloca-tests: make faster by unsetting MALLOC_PERTURB_
20582         * tests/test-malloca.c (main): Unset the environment variable
20583         to greatly speed up the test.
20584         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
20585         * modules/malloca-tests: Depend on unsetenv.
20586
20587 2011-01-21  Pádraig Brady <P@draigBrady.com>
20588
20589         ignore-value: remove stdint dependency
20590         * lib/ignore-value.h: Remove <stdint.h>
20591         * modules/ignore-value: Remove stdint dependency.
20592
20593 2011-01-21  Jim Meyering  <meyering@redhat.com>
20594
20595         maint.mk: adjust variable name to be consistent with other gl_ vars
20596         * top/maint.mk (gl_public_submodule_commit): Rename the variable
20597         to be lower case.
20598
20599 2011-01-20  Jim Meyering  <meyering@redhat.com>
20600
20601         maint.mk: make "check" depend on public-submodule-commit by default
20602         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
20603
20604 2011-01-20  Bruno Haible  <bruno@clisp.org>
20605
20606         mbfile, mbiter: Complete change from 2008-12-21.
20607         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
20608         * m4/mbiter.m4 (gl_MBITER): Likewise.
20609
20610 2011-01-20  Jim Meyering  <meyering@redhat.com>
20611
20612         init.sh: insert space between each function name and "()"
20613         * tests/init.sh: Make it a little easier to see that a function's
20614         name is "warn_", and not "warn" when looking at the first part of
20615         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
20616
20617 2011-01-20  Jim Meyering  <meyering@redhat.com>
20618
20619         mountlist: clean up code formatting
20620         * lib/mountlist.c (read_file_system_list): Split a long line,
20621         correct bracing style, use NULL in place of "(struct statfs *)0",
20622         don't parenthesize return value, add spaces around "=" and after
20623         ";-in-for-stmt".
20624
20625 2011-01-14  Markus Duft <mduft@gentoo.org>
20626
20627         mountlist: add support for Interix
20628         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
20629         Apply statvfs to all entries of /dev/fs.
20630         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
20631         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
20632
20633 2011-01-20  Jim Meyering  <meyering@redhat.com>
20634
20635         maint.mk: improve the public-submodule-commit rule
20636         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
20637         to suppress printing of its commands... unless V=1.
20638         Add git submodule's --quiet option to suppress printing of e.g.,
20639         "Entering gnulib" output.
20640         "cd" into $(srcdir) before running git submodule.
20641
20642 2011-01-20  Bruno Haible  <bruno@clisp.org>
20643
20644         include_next: Fix bug introduced on 2011-01-18.
20645         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
20646         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
20647         ac_cv_header_... variable if the second argument is not 'check'.
20648         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
20649         gl_NEXT_HEADERS_INTERNAL.
20650
20651 2011-01-20  Bruno Haible  <bruno@clisp.org>
20652
20653         Allow the user to avoid the GNULIB_TEST_* macros.
20654         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
20655         Suggested by Paul Eggert.
20656
20657 2011-01-14  Jim Meyering  <meyering@redhat.com>
20658
20659         bootstrap: avoid failure when there is no .gitmodules file
20660         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
20661         has been assigned to, even when its value is the empty string.
20662         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
20663         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
20664         Reported by John W. Eaton <jwe@gnu.org>.
20665
20666 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
20667
20668         assume <ctype.h>, ..., <time.h> exist
20669         For years gnulib has been assuming the existence of the headers
20670         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
20671         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
20672         them, since they don't appear to be needed.
20673         * README (Portability guidelines): Document this.
20674         * lib/flock.c: Assume <fcntl.h> exists.
20675         * lib/regex_internal.h: Assume <locale.h> exists.
20676         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
20677         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
20678         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
20679         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
20680         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
20681         * m4/regex.m4 (gl_REGEX): Likewise.
20682         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
20683         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
20684         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
20685         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
20686         * tests/test-argp.c: Likewise.
20687         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
20688
20689         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
20690         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
20691         AA_APPLE_UNIVERSAL_BUILD.  See
20692         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
20693         * NEWS: Document this.
20694
20695 2011-01-19  Eric Blake  <eblake@redhat.com>
20696
20697         c-stack: assume stack overflow if SA_SIGINFO unsupported
20698         * lib/c-stack.c (SIGACTION_WORKS): Rename...
20699         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
20700         sigaction will work.
20701         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
20702         behavior match Linux.
20703         * tests/test-c-stack.c (main): Prefer NULL for pointers.
20704
20705         stdbool-tests: accomodate Haiku
20706         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
20707
20708         binary-io: fix O_TEXT on Haiku
20709         * modules/binary-io (Depends-on): Add fcntl-h.
20710         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
20711         than blindly undefining O_TEXT.
20712         Reported by Scott McCreary.
20713
20714 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
20715
20716         include_next: do not check for standard headers like stddef.h
20717
20718         I found this problem when modifying Emacs to use gnulib.
20719         I noticed that it added HAVE_STDDEF_H to config.h, even though
20720         gnulib always assumes <stddef.h> exists as per README and this
20721         symbol is unnecessary.
20722         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
20723         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
20724         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
20725         faster for headers like stddef.h that are known to exist.
20726         (gl_CHECK_NEXT_HEADERS): Use it.
20727         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
20728         rather than gl_CHECK_NEXT_HEADERS.
20729         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
20730         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
20731
20732 2011-01-18  Eric Blake  <eblake@redhat.com>
20733
20734         ansi-c++-opt: skip C++ dependency style if C++ is unused
20735         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
20736         tests when we know C++ compilation is not desired.
20737         Reported by Scott McCreary.
20738
20739 2011-01-18  Bruno Haible  <bruno@clisp.org>
20740
20741         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
20742         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
20743         (main): Perform test also when getrlimit and setrlimit don't exist or
20744         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
20745         limiting the address space size using setrlimit, compare the address
20746         space size before and after the the test.
20747         * tests/test-dprintf-posix2.c: Likewise.
20748         * tests/test-fprintf-posix3.sh: Update skip messages.
20749         * tests/test-dprintf-posix2.sh: Likewise.
20750         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
20751         * modules/dprintf-posix-tests (Depends-on): Likewise.
20752         Reported by Bruce Korb <bkorb@gnu.org> and
20753         Gary V. Vaughan <gary@gnu.org>.
20754
20755 2011-01-18  Bruno Haible  <bruno@clisp.org>
20756
20757         get-rusage-as: Improvement for Cygwin.
20758         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
20759         areas that are merely reserved.
20760
20761 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
20762
20763         strftime: remove dependencies on multibyte modules
20764
20765         strftime depended on mbrlen, mbsinit, and wchar, but these modules
20766         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
20767         only if __osf__ is defined, and I suspect OSF doesn't need these
20768         other modules.  If my guess is wrong, we'll need to come up with a
20769         variant of strftime that doesn't need the multibyte modules.
20770
20771         I discovered this problem when attempting modify Emacs to use the
20772         strftime module.  With the previous gnulib, this caused Emacs to
20773         need 31 new files, ranging from lib/config.charset to
20774         m4/wint_t.m4.  This was overkill and I expect would be offputting
20775         to the Emacs maintainers.  After this change, only 6 new files are
20776         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
20777         stdbool.m4, and tm_gmtoff.m4.
20778
20779         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
20780         Suggested by Bruno Haible in
20781         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
20782         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
20783         and do not check for wchar.h.
20784         * modules/strftime (Files): Remove m4/mbstate_t.m4.
20785         (Depends-on): Remove mbrlen, mbsinit, wchar.
20786
20787 2011-01-18  Bruno Haible  <bruno@clisp.org>
20788
20789         Tests for module 'get-rusage-as'.
20790         * modules/get-rusage-as-tests: New file.
20791         * tests/test-get-rusage-as.c: New file.
20792
20793         New module 'get-rusage-as'.
20794         * modules/get-rusage-as: New file.
20795         * lib/resource-ext.h: New file.
20796         * lib/get-rusage-as.c: New file.
20797
20798 2011-01-17  Eric Blake  <eblake@redhat.com>
20799
20800         sigaction: relax license from LGPLv3+ to LGPLv2+
20801         * modules/sigaction (License): Relax to LGPLv2+.
20802
20803 2011-01-14  Bruno Haible  <bruno@clisp.org>
20804
20805         filemode: Make function declarations usable in C++ mode.
20806         * lib/filemode.h: Enclose function declarations in extern "C" block.
20807         Reported by John W. Eaton <jwe@gnu.org>.
20808
20809 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
20810
20811         save-cwd: no longer include "xgetcwd.h"
20812         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
20813         This avoids a compilation failure in projects that use save-cwd
20814         without also using the xgetcwd module.
20815
20816 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
20817
20818         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
20819         This is so that a program like Emacs, which needs only dtoastr,
20820         does not have to bother with distributing and compiling ftoastr
20821         and ldtoastr.
20822         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
20823         * modules/dtoastr, modules/ldtoastr: New files.
20824         * modules/ftoastr: Now works just for 'float'.
20825         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
20826         (Makefile.am): Remove ftoastr.h (not needed and no effect),
20827         dtoastr.c, ldtoastr.c.
20828
20829 2011-01-11  Jim Meyering  <meyering@redhat.com>
20830
20831         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
20832         There is no need to work around the lack of the fchdir function,
20833         since gnulib can now provide a replacement when required.
20834         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
20835         * modules/save-cwd (Depends-on): Add fchdir.
20836
20837 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
20838
20839         openat, save-cwd: avoid xmalloc
20840
20841         This removes a direct (but undocumented) dependency of openat on
20842         xalloc, along with an indirect dependency via save-cwd.  It also
20843         removes a dependency of save-cwd on xgetcwd, and thereby
20844         indirectly on xalloc.  This change causes the openat substitute
20845         to fall back on save_cwd when memory is tight, and for save_cwd to
20846         fail instead of dying when memory is tight, but that's good enough.
20847         Problem and initial idea for fix reported by Bastien Roucaries in
20848         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
20849
20850         * lib/openat-proc.c: Include stdlib.h (for malloc), not
20851         xalloc.h (for xmalloc).
20852         (openat_proc_name): Use malloc, not xmalloc.
20853         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
20854         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
20855
20856         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
20857         This avoids heap allocation for file names whose lengths are in
20858         the range 512..1023, with the upper bound increasing to at most
20859         4031 depending on the platform's PATH_MAX.  (We do not want
20860         pathmax.h here as it might supply a non-constant PATH_MAX.)
20861         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
20862         Perhaps they should be moved to malloca.h?
20863         (OPENAT_BUFFER_SIZE): Use them.
20864
20865 2011-01-10  Bruno Haible  <bruno@clisp.org>
20866
20867         doc: Update users.txt.
20868         * users.txt: Add recutils.
20869
20870 2011-01-09  Karl Berry  <karl@gnu.org>
20871
20872         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
20873
20874         * doc/configmake.texi: New file.
20875         * doc/gnulib.texi: Include it.
20876         * modules/configmake: Move documentation from here.
20877
20878 2011-01-09  Bruno Haible  <bruno@clisp.org>
20879
20880         Update to Unicode 6.0.0.
20881         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
20882         (get_lbp): Update for Unicode 6.0.0.
20883         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
20884         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
20885         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
20886         U+11001, U+11038..U+11046. Remove U+06DE.
20887         (uc_width): Fix bounds of planes.
20888         * tests/uniwidth/test-uc_width2.sh: Same updates as in
20889         lib/uniwidth/width.c.
20890         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
20891         trailing whitespace removed.
20892         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
20893         without comments, but with the original copyright notice.
20894         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
20895         * lib/unicase/ignorable.h: Likewise.
20896         * lib/unicase/tocasefold.h: Likewise.
20897         * lib/unicase/tolower.h: Likewise.
20898         * lib/unicase/totitle.h: Likewise.
20899         * lib/unicase/toupper.h: Likewise.
20900         * lib/unictype/bidi_of.h: Likewise.
20901         * lib/unictype/blocks.h: Likewise.
20902         * lib/unictype/categ_C.h: Likewise.
20903         * lib/unictype/categ_Cn.h: Likewise.
20904         * lib/unictype/categ_L.h: Likewise.
20905         * lib/unictype/categ_Ll.h: Likewise.
20906         * lib/unictype/categ_Lm.h: Likewise.
20907         * lib/unictype/categ_Lo.h: Likewise.
20908         * lib/unictype/categ_Lu.h: Likewise.
20909         * lib/unictype/categ_M.h: Likewise.
20910         * lib/unictype/categ_Mc.h: Likewise.
20911         * lib/unictype/categ_Me.h: Likewise.
20912         * lib/unictype/categ_Mn.h: Likewise.
20913         * lib/unictype/categ_N.h: Likewise.
20914         * lib/unictype/categ_Nd.h: Likewise.
20915         * lib/unictype/categ_No.h: Likewise.
20916         * lib/unictype/categ_P.h: Likewise.
20917         * lib/unictype/categ_Po.h: Likewise.
20918         * lib/unictype/categ_S.h: Likewise.
20919         * lib/unictype/categ_Sc.h: Likewise.
20920         * lib/unictype/categ_Sk.h: Likewise.
20921         * lib/unictype/categ_Sm.h: Likewise.
20922         * lib/unictype/categ_So.h: Likewise.
20923         * lib/unictype/categ_of.h: Likewise.
20924         * lib/unictype/combining.h: Likewise.
20925         * lib/unictype/ctype_alnum.h: Likewise.
20926         * lib/unictype/ctype_alpha.h: Likewise.
20927         * lib/unictype/ctype_graph.h: Likewise.
20928         * lib/unictype/ctype_lower.h: Likewise.
20929         * lib/unictype/ctype_print.h: Likewise.
20930         * lib/unictype/ctype_punct.h: Likewise.
20931         * lib/unictype/ctype_upper.h: Likewise.
20932         * lib/unictype/decdigit.h: Likewise.
20933         * lib/unictype/digit.h: Likewise.
20934         * lib/unictype/numeric.h: Likewise.
20935         * lib/unictype/pr_alphabetic.h: Likewise.
20936         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
20937         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
20938         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
20939         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
20940         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
20941         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
20942         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
20943         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
20944         * lib/unictype/pr_case_ignorable.h: Likewise.
20945         * lib/unictype/pr_cased.h: Likewise.
20946         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
20947         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
20948         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
20949         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
20950         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
20951         * lib/unictype/pr_combining.h: Likewise.
20952         * lib/unictype/pr_composite.h: Likewise.
20953         * lib/unictype/pr_currency_symbol.h: Likewise.
20954         * lib/unictype/pr_decimal_digit.h: Likewise.
20955         * lib/unictype/pr_deprecated.h: Likewise.
20956         * lib/unictype/pr_format_control.h: Likewise.
20957         * lib/unictype/pr_grapheme_base.h: Likewise.
20958         * lib/unictype/pr_grapheme_extend.h: Likewise.
20959         * lib/unictype/pr_grapheme_link.h: Likewise.
20960         * lib/unictype/pr_id_continue.h: Likewise.
20961         * lib/unictype/pr_id_start.h: Likewise.
20962         * lib/unictype/pr_ideographic.h: Likewise.
20963         * lib/unictype/pr_lowercase.h: Likewise.
20964         * lib/unictype/pr_math.h: Likewise.
20965         * lib/unictype/pr_numeric.h: Likewise.
20966         * lib/unictype/pr_other_alphabetic.h: Likewise.
20967         * lib/unictype/pr_other_id_continue.h: Likewise.
20968         * lib/unictype/pr_other_math.h: Likewise.
20969         * lib/unictype/pr_punctuation.h: Likewise.
20970         * lib/unictype/pr_sentence_terminal.h: Likewise.
20971         * lib/unictype/pr_terminal_punctuation.h: Likewise.
20972         * lib/unictype/pr_unassigned_code_value.h: Likewise.
20973         * lib/unictype/pr_unified_ideograph.h: Likewise.
20974         * lib/unictype/pr_uppercase.h: Likewise.
20975         * lib/unictype/pr_xid_continue.h: Likewise.
20976         * lib/unictype/pr_xid_start.h: Likewise.
20977         * lib/unictype/scripts.h: Likewise.
20978         * lib/unictype/scripts_byname.gperf: Likewise.
20979         * lib/unictype/sy_java_ident.h: Likewise.
20980         * lib/unigbrk/gbrkprop.h: Likewise.
20981         * lib/unilbrk/lbrkprop1.h: Likewise.
20982         * lib/unilbrk/lbrkprop2.h: Likewise.
20983         * lib/uninorm/decomposition-table2.h: Likewise.
20984         * lib/uniwbrk/wbrkprop.h: Likewise.
20985         * tests/unicase/test-cased.c: Likewise.
20986         * tests/unicase/test-ignorable.c: Likewise.
20987         * tests/unicase/test-uc_tolower.c: Likewise.
20988         * tests/unicase/test-uc_totitle.c: Likewise.
20989         * tests/unicase/test-uc_toupper.c: Likewise.
20990         * tests/unictype/test-categ_C.c: Likewise.
20991         * tests/unictype/test-categ_Cn.c: Likewise.
20992         * tests/unictype/test-categ_L.c: Likewise.
20993         * tests/unictype/test-categ_Ll.c: Likewise.
20994         * tests/unictype/test-categ_Lm.c: Likewise.
20995         * tests/unictype/test-categ_Lo.c: Likewise.
20996         * tests/unictype/test-categ_Lu.c: Likewise.
20997         * tests/unictype/test-categ_M.c: Likewise.
20998         * tests/unictype/test-categ_Mc.c: Likewise.
20999         * tests/unictype/test-categ_Me.c: Likewise.
21000         * tests/unictype/test-categ_Mn.c: Likewise.
21001         * tests/unictype/test-categ_N.c: Likewise.
21002         * tests/unictype/test-categ_Nd.c: Likewise.
21003         * tests/unictype/test-categ_No.c: Likewise.
21004         * tests/unictype/test-categ_P.c: Likewise.
21005         * tests/unictype/test-categ_Po.c: Likewise.
21006         * tests/unictype/test-categ_S.c: Likewise.
21007         * tests/unictype/test-categ_Sc.c: Likewise.
21008         * tests/unictype/test-categ_Sk.c: Likewise.
21009         * tests/unictype/test-categ_Sm.c: Likewise.
21010         * tests/unictype/test-categ_So.c: Likewise.
21011         * tests/unictype/test-ctype_alnum.c: Likewise.
21012         * tests/unictype/test-ctype_alpha.c: Likewise.
21013         * tests/unictype/test-ctype_graph.c: Likewise.
21014         * tests/unictype/test-ctype_lower.c: Likewise.
21015         * tests/unictype/test-ctype_print.c: Likewise.
21016         * tests/unictype/test-ctype_punct.c: Likewise.
21017         * tests/unictype/test-ctype_upper.c: Likewise.
21018         * tests/unictype/test-decdigit.h: Likewise.
21019         * tests/unictype/test-digit.h: Likewise.
21020         * tests/unictype/test-numeric.h: Likewise.
21021         * tests/unictype/test-pr_alphabetic.c: Likewise.
21022         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
21023         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
21024         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
21025         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
21026         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
21027         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
21028         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
21029         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
21030         * tests/unictype/test-pr_case_ignorable.c: Likewise.
21031         * tests/unictype/test-pr_cased.c: Likewise.
21032         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
21033         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
21034         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
21035         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
21036         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
21037         * tests/unictype/test-pr_combining.c: Likewise.
21038         * tests/unictype/test-pr_composite.c: Likewise.
21039         * tests/unictype/test-pr_currency_symbol.c: Likewise.
21040         * tests/unictype/test-pr_decimal_digit.c: Likewise.
21041         * tests/unictype/test-pr_deprecated.c: Likewise.
21042         * tests/unictype/test-pr_format_control.c: Likewise.
21043         * tests/unictype/test-pr_grapheme_base.c: Likewise.
21044         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
21045         * tests/unictype/test-pr_grapheme_link.c: Likewise.
21046         * tests/unictype/test-pr_id_continue.c: Likewise.
21047         * tests/unictype/test-pr_id_start.c: Likewise.
21048         * tests/unictype/test-pr_ideographic.c: Likewise.
21049         * tests/unictype/test-pr_lowercase.c: Likewise.
21050         * tests/unictype/test-pr_math.c: Likewise.
21051         * tests/unictype/test-pr_numeric.c: Likewise.
21052         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
21053         * tests/unictype/test-pr_other_id_continue.c: Likewise.
21054         * tests/unictype/test-pr_other_math.c: Likewise.
21055         * tests/unictype/test-pr_punctuation.c: Likewise.
21056         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
21057         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
21058         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
21059         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
21060         * tests/unictype/test-pr_uppercase.c: Likewise.
21061         * tests/unictype/test-pr_xid_continue.c: Likewise.
21062         * tests/unictype/test-pr_xid_start.c: Likewise.
21063         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
21064         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
21065         changes.
21066         * lib/unictype/categ_Cc.h: Likewise.
21067         * lib/unictype/categ_Cf.h: Likewise.
21068         * lib/unictype/categ_Co.h: Likewise.
21069         * lib/unictype/categ_Cs.h: Likewise.
21070         * lib/unictype/categ_Lt.h: Likewise.
21071         * lib/unictype/categ_Nl.h: Likewise.
21072         * lib/unictype/categ_Pc.h: Likewise.
21073         * lib/unictype/categ_Pd.h: Likewise.
21074         * lib/unictype/categ_Pe.h: Likewise.
21075         * lib/unictype/categ_Pf.h: Likewise.
21076         * lib/unictype/categ_Pi.h: Likewise.
21077         * lib/unictype/categ_Ps.h: Likewise.
21078         * lib/unictype/categ_Z.h: Likewise.
21079         * lib/unictype/categ_Zl.h: Likewise.
21080         * lib/unictype/categ_Zp.h: Likewise.
21081         * lib/unictype/categ_Zs.h: Likewise.
21082         * lib/unictype/ctype_blank.h: Likewise.
21083         * lib/unictype/ctype_cntrl.h: Likewise.
21084         * lib/unictype/ctype_digit.h: Likewise.
21085         * lib/unictype/ctype_space.h: Likewise.
21086         * lib/unictype/ctype_xdigit.h: Likewise.
21087         * lib/unictype/mirror.h: Likewise.
21088         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
21089         * lib/unictype/pr_bidi_block_separator.h: Likewise.
21090         * lib/unictype/pr_bidi_common_separator.h: Likewise.
21091         * lib/unictype/pr_bidi_control.h: Likewise.
21092         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
21093         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
21094         * lib/unictype/pr_bidi_european_digit.h: Likewise.
21095         * lib/unictype/pr_bidi_pdf.h: Likewise.
21096         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
21097         * lib/unictype/pr_bidi_whitespace.h: Likewise.
21098         * lib/unictype/pr_dash.h: Likewise.
21099         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
21100         * lib/unictype/pr_diacritic.h: Likewise.
21101         * lib/unictype/pr_extender.h: Likewise.
21102         * lib/unictype/pr_hex_digit.h: Likewise.
21103         * lib/unictype/pr_hyphen.h: Likewise.
21104         * lib/unictype/pr_ids_binary_operator.h: Likewise.
21105         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
21106         * lib/unictype/pr_ignorable_control.h: Likewise.
21107         * lib/unictype/pr_iso_control.h: Likewise.
21108         * lib/unictype/pr_join_control.h: Likewise.
21109         * lib/unictype/pr_left_of_pair.h: Likewise.
21110         * lib/unictype/pr_line_separator.h: Likewise.
21111         * lib/unictype/pr_logical_order_exception.h: Likewise.
21112         * lib/unictype/pr_non_break.h: Likewise.
21113         * lib/unictype/pr_not_a_character.h: Likewise.
21114         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
21115         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
21116         * lib/unictype/pr_other_id_start.h: Likewise.
21117         * lib/unictype/pr_other_lowercase.h: Likewise.
21118         * lib/unictype/pr_other_uppercase.h: Likewise.
21119         * lib/unictype/pr_paired_punctuation.h: Likewise.
21120         * lib/unictype/pr_paragraph_separator.h: Likewise.
21121         * lib/unictype/pr_pattern_syntax.h: Likewise.
21122         * lib/unictype/pr_pattern_white_space.h: Likewise.
21123         * lib/unictype/pr_private_use.h: Likewise.
21124         * lib/unictype/pr_quotation_mark.h: Likewise.
21125         * lib/unictype/pr_radical.h: Likewise.
21126         * lib/unictype/pr_soft_dotted.h: Likewise.
21127         * lib/unictype/pr_space.h: Likewise.
21128         * lib/unictype/pr_titlecase.h: Likewise.
21129         * lib/unictype/pr_variation_selector.h: Likewise.
21130         * lib/unictype/pr_white_space.h: Likewise.
21131         * lib/unictype/pr_zero_width.h: Likewise.
21132         * lib/unictype/sy_c_ident.h: Likewise.
21133         * lib/unictype/sy_c_whitespace.h: Likewise.
21134         * lib/unictype/sy_java_whitespace.h: Likewise.
21135         * lib/uninorm/composition-table.gperf: Likewise.
21136         * lib/uninorm/decomposition-table1.h: Likewise.
21137         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
21138         LB8.
21139         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
21140         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
21141         * modules/unictype/*: Bump version number of expected libunistring
21142         version.
21143
21144 2011-01-09  Bruno Haible  <bruno@clisp.org>
21145
21146         Update to Unicode 5.2.0.
21147         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
21148         trailing whitespace removed.
21149
21150 2011-01-09  Bruno Haible  <bruno@clisp.org>
21151
21152         New Unicode character properties, from Unicode 5.2.0.
21153         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
21154         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
21155         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
21156         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
21157         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
21158         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
21159         uc_is_property_cased, uc_is_property_case_ignorable,
21160         uc_is_property_changes_when_lowercased,
21161         uc_is_property_changes_when_uppercased,
21162         uc_is_property_changes_when_titlecased,
21163         uc_is_property_changes_when_casefolded,
21164         uc_is_property_changes_when_casemapped): New declarations.
21165         * lib/unictype/pr_byname.gperf: Add the new properties.
21166         * modules/unictype/property-byname (Depends-on): Depend on the new
21167         properties modules.
21168         * modules/unictype/property-all (Depends-on): Likewise.
21169         * MODULES.html.sh (Unicode string functions): Add
21170         unictype/property-case-ignorable, unictype/property-cased,
21171         unictype/property-changes-when-casefolded,
21172         unictype/property-changes-when-casemapped,
21173         unictype/property-changes-when-lowercased,
21174         unictype/property-changes-when-titlecased,
21175         unictype/property-changes-when-uppercased.
21176
21177         New module 'unictype/property-changes-when-casemapped'.
21178         * modules/unictype/property-changes-when-casemapped: New file.
21179         * lib/unictype/pr_changes_when_casemapped.c: New file.
21180         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
21181         generated by gen-uni-tables.
21182         * modules/unictype/property-changes-when-casemapped-tests: New file.
21183         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
21184         automatically generated by gen-uni-tables.
21185
21186         New module 'unictype/property-changes-when-casefolded'.
21187         * modules/unictype/property-changes-when-casefolded: New file.
21188         * lib/unictype/pr_changes_when_casefolded.c: New file.
21189         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
21190         generated by gen-uni-tables.
21191         * modules/unictype/property-changes-when-casefolded-tests: New file.
21192         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
21193         automatically generated by gen-uni-tables.
21194
21195         New module 'unictype/property-changes-when-titlecased'.
21196         * modules/unictype/property-changes-when-titlecased: New file.
21197         * lib/unictype/pr_changes_when_titlecased.c: New file.
21198         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
21199         generated by gen-uni-tables.
21200         * modules/unictype/property-changes-when-titlecased-tests: New file.
21201         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
21202         automatically generated by gen-uni-tables.
21203
21204         New module 'unictype/property-changes-when-uppercased'.
21205         * modules/unictype/property-changes-when-uppercased: New file.
21206         * lib/unictype/pr_changes_when_uppercased.c: New file.
21207         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
21208         generated by gen-uni-tables.
21209         * modules/unictype/property-changes-when-uppercased-tests: New file.
21210         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
21211         automatically generated by gen-uni-tables.
21212
21213         New module 'unictype/property-changes-when-lowercased'.
21214         * modules/unictype/property-changes-when-lowercased: New file.
21215         * lib/unictype/pr_changes_when_lowercased.c: New file.
21216         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
21217         generated by gen-uni-tables.
21218         * modules/unictype/property-changes-when-lowercased-tests: New file.
21219         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
21220         automatically generated by gen-uni-tables.
21221
21222         New module 'unictype/property-case-ignorable'.
21223         * modules/unictype/property-case-ignorable: New file.
21224         * lib/unictype/pr_case_ignorable.c: New file.
21225         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
21226         by gen-uni-tables.
21227         * modules/unictype/property-case-ignorable-tests: New file.
21228         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
21229         generated by gen-uni-tables.
21230
21231         New module 'unictype/property-cased'.
21232         * modules/unictype/property-cased: New file.
21233         * lib/unictype/pr_cased.c: New file.
21234         * lib/unictype/pr_cased.h: New file, automatically generated by
21235         gen-uni-tables.
21236         * modules/unictype/property-cased-tests: New file.
21237         * tests/unictype/test-pr_cased.c: New file, automatically generated by
21238         gen-uni-tables.
21239
21240 2011-01-09  Bruno Haible  <bruno@clisp.org>
21241
21242         Update to Unicode 5.2.0.
21243         * lib/gen-uni-tables.c (output_predicate, output_category,
21244         output_combclass, output_bidi_category, output_decimal_digit_test,
21245         output_decimal_digit, output_digit_test, output_digit,
21246         output_numeric_test, output_numeric, output_mirror, output_scripts,
21247         output_scripts_byname, output_blocks, output_ident_category): Fix
21248         comment header.
21249         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
21250         get_wbp.
21251         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
21252         items.
21253         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
21254         Changes_When_Lowercased, Changes_When_Uppercased,
21255         Changes_When_Titlecased, Changes_When_Casefolded,
21256         Changes_When_Casemapped.
21257         (is_property_alphabetic, is_property_default_ignorable_code_point):
21258         Update for Unicode 5.2.0.
21259         (is_property_cased, is_property_case_ignorable,
21260         is_property_changes_when_lowercased,
21261         is_property_changes_when_uppercased,
21262         is_property_changes_when_titlecased,
21263         is_property_changes_when_casefolded,
21264         is_property_changes_when_casemapped): New functions.
21265         (output_properties): Output also the properties cased, case_ignorable,
21266         changes_when_lowercased, changes_when_uppercased,
21267         changes_when_titlecased, changes_when_casefolded,
21268         changes_when_casemapped.
21269         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
21270         Unicode TR#11 revision 17 -> 19.
21271         (LBP_CP): New enumeration value.
21272         (LBP_*): Adjust values accordingly.
21273         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
21274         TR#14 revision 22 -> 24.
21275         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
21276         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
21277         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
21278         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
21279         is_WBP_MIDLETTER.
21280         (output_composition_tables): Allow for 24 bits instead of 16 bits in
21281         the code1 and code2 of each composition rule.
21282         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
21283         * lib/unicase/ignorable.h: Likewise.
21284         * lib/unicase/tocasefold.h: Likewise.
21285         * lib/unicase/tolower.h: Likewise.
21286         * lib/unicase/totitle.h: Likewise.
21287         * lib/unicase/toupper.h: Likewise.
21288         * lib/unictype/bidi_of.h: Likewise.
21289         * lib/unictype/blocks.h: Likewise.
21290         * lib/unictype/categ_C.h: Likewise.
21291         * lib/unictype/categ_Cf.h: Likewise.
21292         * lib/unictype/categ_Cn.h: Likewise.
21293         * lib/unictype/categ_L.h: Likewise.
21294         * lib/unictype/categ_Ll.h: Likewise.
21295         * lib/unictype/categ_Lm.h: Likewise.
21296         * lib/unictype/categ_Lo.h: Likewise.
21297         * lib/unictype/categ_Lu.h: Likewise.
21298         * lib/unictype/categ_M.h: Likewise.
21299         * lib/unictype/categ_Mc.h: Likewise.
21300         * lib/unictype/categ_Mn.h: Likewise.
21301         * lib/unictype/categ_N.h: Likewise.
21302         * lib/unictype/categ_Nd.h: Likewise.
21303         * lib/unictype/categ_Nl.h: Likewise.
21304         * lib/unictype/categ_No.h: Likewise.
21305         * lib/unictype/categ_P.h: Likewise.
21306         * lib/unictype/categ_Pd.h: Likewise.
21307         * lib/unictype/categ_Po.h: Likewise.
21308         * lib/unictype/categ_S.h: Likewise.
21309         * lib/unictype/categ_Sc.h: Likewise.
21310         * lib/unictype/categ_So.h: Likewise.
21311         * lib/unictype/categ_of.h: Likewise.
21312         * lib/unictype/combining.h: Likewise.
21313         * lib/unictype/ctype_alnum.h: Likewise.
21314         * lib/unictype/ctype_alpha.h: Likewise.
21315         * lib/unictype/ctype_graph.h: Likewise.
21316         * lib/unictype/ctype_lower.h: Likewise.
21317         * lib/unictype/ctype_print.h: Likewise.
21318         * lib/unictype/ctype_punct.h: Likewise.
21319         * lib/unictype/ctype_upper.h: Likewise.
21320         * lib/unictype/decdigit.h: Likewise.
21321         * lib/unictype/digit.h: Likewise.
21322         * lib/unictype/numeric.h: Likewise.
21323         * lib/unictype/pr_alphabetic.h: Likewise.
21324         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
21325         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
21326         * lib/unictype/pr_bidi_european_digit.h: Likewise.
21327         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
21328         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
21329         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
21330         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
21331         * lib/unictype/pr_combining.h: Likewise.
21332         * lib/unictype/pr_composite.h: Likewise.
21333         * lib/unictype/pr_currency_symbol.h: Likewise.
21334         * lib/unictype/pr_dash.h: Likewise.
21335         * lib/unictype/pr_decimal_digit.h: Likewise.
21336         * lib/unictype/pr_deprecated.h: Likewise.
21337         * lib/unictype/pr_diacritic.h: Likewise.
21338         * lib/unictype/pr_extender.h: Likewise.
21339         * lib/unictype/pr_grapheme_base.h: Likewise.
21340         * lib/unictype/pr_grapheme_extend.h: Likewise.
21341         * lib/unictype/pr_grapheme_link.h: Likewise.
21342         * lib/unictype/pr_id_continue.h: Likewise.
21343         * lib/unictype/pr_id_start.h: Likewise.
21344         * lib/unictype/pr_ideographic.h: Likewise.
21345         * lib/unictype/pr_ignorable_control.h: Likewise.
21346         * lib/unictype/pr_logical_order_exception.h: Likewise.
21347         * lib/unictype/pr_lowercase.h: Likewise.
21348         * lib/unictype/pr_numeric.h: Likewise.
21349         * lib/unictype/pr_other_alphabetic.h: Likewise.
21350         * lib/unictype/pr_punctuation.h: Likewise.
21351         * lib/unictype/pr_sentence_terminal.h: Likewise.
21352         * lib/unictype/pr_terminal_punctuation.h: Likewise.
21353         * lib/unictype/pr_unassigned_code_value.h: Likewise.
21354         * lib/unictype/pr_unified_ideograph.h: Likewise.
21355         * lib/unictype/pr_uppercase.h: Likewise.
21356         * lib/unictype/pr_xid_continue.h: Likewise.
21357         * lib/unictype/pr_xid_start.h: Likewise.
21358         * lib/unictype/pr_zero_width.h: Likewise.
21359         * lib/unictype/scripts.h: Likewise.
21360         * lib/unictype/scripts_byname.gperf: Likewise.
21361         * lib/unictype/sy_java_ident.h: Likewise.
21362         * lib/unigbrk/gbrkprop.h: Likewise.
21363         * lib/unilbrk/lbrkprop1.h: Likewise.
21364         * lib/unilbrk/lbrkprop2.h: Likewise.
21365         * lib/unilbrk/lbrktables.h: Likewise.
21366         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
21367         LBP_CP. Implement rule LB30.
21368         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
21369         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
21370         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
21371         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
21372         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
21373         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
21374         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
21375         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
21376         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
21377         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
21378         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
21379         bits instead of 16 bits in the code1 and code2 of each composition
21380         rule.
21381         (uc_composition): Update for Unicode 5.2.0.
21382         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
21383         * lib/uninorm/decomposition-table2.h: Likewise.
21384         * lib/uniwbrk/wbrkprop.h: Likewise.
21385         * tests/unicase/test-cased.c: Likewise.
21386         * tests/unicase/test-ignorable.c: Likewise.
21387         * tests/unicase/test-uc_tolower.c: Likewise.
21388         * tests/unicase/test-uc_totitle.c: Likewise.
21389         * tests/unicase/test-uc_toupper.c: Likewise.
21390         * tests/unictype/test-categ_C.c: Likewise.
21391         * tests/unictype/test-categ_Cf.c: Likewise.
21392         * tests/unictype/test-categ_Cn.c: Likewise.
21393         * tests/unictype/test-categ_L.c: Likewise.
21394         * tests/unictype/test-categ_Ll.c: Likewise.
21395         * tests/unictype/test-categ_Lm.c: Likewise.
21396         * tests/unictype/test-categ_Lo.c: Likewise.
21397         * tests/unictype/test-categ_Lu.c: Likewise.
21398         * tests/unictype/test-categ_M.c: Likewise.
21399         * tests/unictype/test-categ_Mc.c: Likewise.
21400         * tests/unictype/test-categ_Mn.c: Likewise.
21401         * tests/unictype/test-categ_N.c: Likewise.
21402         * tests/unictype/test-categ_Nd.c: Likewise.
21403         * tests/unictype/test-categ_Nl.c: Likewise.
21404         * tests/unictype/test-categ_No.c: Likewise.
21405         * tests/unictype/test-categ_P.c: Likewise.
21406         * tests/unictype/test-categ_Pd.c: Likewise.
21407         * tests/unictype/test-categ_Po.c: Likewise.
21408         * tests/unictype/test-categ_S.c: Likewise.
21409         * tests/unictype/test-categ_Sc.c: Likewise.
21410         * tests/unictype/test-categ_So.c: Likewise.
21411         * tests/unictype/test-ctype_alnum.c: Likewise.
21412         * tests/unictype/test-ctype_alpha.c: Likewise.
21413         * tests/unictype/test-ctype_graph.c: Likewise.
21414         * tests/unictype/test-ctype_lower.c: Likewise.
21415         * tests/unictype/test-ctype_print.c: Likewise.
21416         * tests/unictype/test-ctype_punct.c: Likewise.
21417         * tests/unictype/test-ctype_upper.c: Likewise.
21418         * tests/unictype/test-decdigit.h: Likewise.
21419         * tests/unictype/test-digit.h: Likewise.
21420         * tests/unictype/test-numeric.h: Likewise.
21421         * tests/unictype/test-pr_alphabetic.c: Likewise.
21422         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
21423         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
21424         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
21425         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
21426         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
21427         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
21428         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
21429         * tests/unictype/test-pr_combining.c: Likewise.
21430         * tests/unictype/test-pr_composite.c: Likewise.
21431         * tests/unictype/test-pr_currency_symbol.c: Likewise.
21432         * tests/unictype/test-pr_dash.c: Likewise.
21433         * tests/unictype/test-pr_decimal_digit.c: Likewise.
21434         * tests/unictype/test-pr_deprecated.c: Likewise.
21435         * tests/unictype/test-pr_diacritic.c: Likewise.
21436         * tests/unictype/test-pr_extender.c: Likewise.
21437         * tests/unictype/test-pr_grapheme_base.c: Likewise.
21438         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
21439         * tests/unictype/test-pr_grapheme_link.c: Likewise.
21440         * tests/unictype/test-pr_id_continue.c: Likewise.
21441         * tests/unictype/test-pr_id_start.c: Likewise.
21442         * tests/unictype/test-pr_ideographic.c: Likewise.
21443         * tests/unictype/test-pr_ignorable_control.c: Likewise.
21444         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
21445         * tests/unictype/test-pr_lowercase.c: Likewise.
21446         * tests/unictype/test-pr_numeric.c: Likewise.
21447         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
21448         * tests/unictype/test-pr_punctuation.c: Likewise.
21449         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
21450         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
21451         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
21452         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
21453         * tests/unictype/test-pr_uppercase.c: Likewise.
21454         * tests/unictype/test-pr_xid_continue.c: Likewise.
21455         * tests/unictype/test-pr_xid_start.c: Likewise.
21456         * tests/unictype/test-pr_zero_width.c: Likewise.
21457         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
21458         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
21459         changed behaviour: line breaking is now disallowed between a letter
21460         or '=' and '('.
21461         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
21462         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
21463         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
21464         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
21465         * tests/uniwidth/test-uc_width2.sh: Same updates as in
21466         lib/uniwidth/width.c.
21467         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
21468         without comments, but with the original copyright notice.
21469         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
21470         changes.
21471         * lib/unictype/categ_Cc.h: Likewise.
21472         * lib/unictype/categ_Co.h: Likewise.
21473         * lib/unictype/categ_Cs.h: Likewise.
21474         * lib/unictype/categ_Lt.h: Likewise.
21475         * lib/unictype/categ_Me.h: Likewise.
21476         * lib/unictype/categ_Pc.h: Likewise.
21477         * lib/unictype/categ_Pe.h: Likewise.
21478         * lib/unictype/categ_Pf.h: Likewise.
21479         * lib/unictype/categ_Pi.h: Likewise.
21480         * lib/unictype/categ_Ps.h: Likewise.
21481         * lib/unictype/categ_Sk.h: Likewise.
21482         * lib/unictype/categ_Sm.h: Likewise.
21483         * lib/unictype/categ_Z.h: Likewise.
21484         * lib/unictype/categ_Zl.h: Likewise.
21485         * lib/unictype/categ_Zp.h: Likewise.
21486         * lib/unictype/categ_Zs.h: Likewise.
21487         * lib/unictype/ctype_blank.h: Likewise.
21488         * lib/unictype/ctype_cntrl.h: Likewise.
21489         * lib/unictype/ctype_digit.h: Likewise.
21490         * lib/unictype/ctype_space.h: Likewise.
21491         * lib/unictype/ctype_xdigit.h: Likewise.
21492         * lib/unictype/mirror.h: Likewise.
21493         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
21494         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
21495         * lib/unictype/pr_bidi_block_separator.h: Likewise.
21496         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
21497         * lib/unictype/pr_bidi_common_separator.h: Likewise.
21498         * lib/unictype/pr_bidi_control.h: Likewise.
21499         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
21500         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
21501         * lib/unictype/pr_bidi_pdf.h: Likewise.
21502         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
21503         * lib/unictype/pr_bidi_whitespace.h: Likewise.
21504         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
21505         * lib/unictype/pr_format_control.h: Likewise.
21506         * lib/unictype/pr_hex_digit.h: Likewise.
21507         * lib/unictype/pr_hyphen.h: Likewise.
21508         * lib/unictype/pr_ids_binary_operator.h: Likewise.
21509         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
21510         * lib/unictype/pr_iso_control.h: Likewise.
21511         * lib/unictype/pr_join_control.h: Likewise.
21512         * lib/unictype/pr_left_of_pair.h: Likewise.
21513         * lib/unictype/pr_line_separator.h: Likewise.
21514         * lib/unictype/pr_math.h: Likewise.
21515         * lib/unictype/pr_non_break.h: Likewise.
21516         * lib/unictype/pr_not_a_character.h: Likewise.
21517         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
21518         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
21519         * lib/unictype/pr_other_id_continue.h: Likewise.
21520         * lib/unictype/pr_other_id_start.h: Likewise.
21521         * lib/unictype/pr_other_lowercase.h: Likewise.
21522         * lib/unictype/pr_other_math.h: Likewise.
21523         * lib/unictype/pr_other_uppercase.h: Likewise.
21524         * lib/unictype/pr_paired_punctuation.h: Likewise.
21525         * lib/unictype/pr_paragraph_separator.h: Likewise.
21526         * lib/unictype/pr_pattern_syntax.h: Likewise.
21527         * lib/unictype/pr_pattern_white_space.h: Likewise.
21528         * lib/unictype/pr_private_use.h: Likewise.
21529         * lib/unictype/pr_quotation_mark.h: Likewise.
21530         * lib/unictype/pr_radical.h: Likewise.
21531         * lib/unictype/pr_soft_dotted.h: Likewise.
21532         * lib/unictype/pr_space.h: Likewise.
21533         * lib/unictype/pr_titlecase.h: Likewise.
21534         * lib/unictype/pr_variation_selector.h: Likewise.
21535         * lib/unictype/pr_white_space.h: Likewise.
21536         * lib/unictype/sy_c_ident.h: Likewise.
21537         * lib/unictype/sy_c_whitespace.h: Likewise.
21538         * lib/unictype/sy_java_whitespace.h: Likewise.
21539         * modules/uni*/*: Bump version number of expected libunistring version.
21540         Reported by Simon Josefsson.
21541
21542 2011-01-09  Karl Heuer  <kwzh@gnu.org>
21543
21544         useless-if-before-free: fix typo in --help and make the internal,
21545         automatic version date update process work once again.
21546         --help output contained a NUL character instead of the
21547         backslash-zero that was intended.  Also, the "must lie within
21548         the first 8 lines" line is on line 9, and hence not getting
21549         automatically updated.
21550         * build-aux/useless-if-before-free: Fix the former by adding a
21551         backslash, and the latter by condensing the three lines of what-it-does
21552         to a single line, leaving one line of slack for the future.
21553
21554 2011-01-09  Bruno Haible  <bruno@clisp.org>
21555
21556         uniwidth/width: Fix width of U+1D173..U+1D17A.
21557         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
21558         symbolic_width, output_width_property_test): New functions.
21559         (main): Invoke output_nonspacing_property, output_width_property_test.
21560         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
21561         U+1D173..U+1D17A.
21562         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
21563         1.
21564         * modules/uniwidth/*: Bump version number of expected libunistring
21565         version.
21566         * modules/unilbrk/*: Likewise.
21567
21568 2011-01-08  Bruno Haible  <bruno@clisp.org>
21569
21570         uninorm tests: Preserve copyright of Unicode data file.
21571         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
21572         Mention modifications.
21573
21574 2011-01-08  Bruno Haible  <bruno@clisp.org>
21575
21576         gen-uni-tables: Prepare for Unicode 5.2.0.
21577         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
21578         (debug_output_lbp, output_lbp): Update.
21579
21580 2011-01-08  Bruno Haible  <bruno@clisp.org>
21581
21582         unilbrk: Clarify gen-uni-tables.c code.
21583         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
21584         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
21585         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
21586
21587 2011-01-07  Bruno Haible  <bruno@clisp.org>
21588
21589         strtod: Restore errno when successfully parsing Infinity or NaN.
21590         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
21591         restore the original errno.
21592
21593 2011-01-07  Bruno Haible  <bruno@clisp.org>
21594
21595         remove test: Avoid failure on HP-UX 11.
21596         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
21597
21598 2011-01-07  Bruno Haible  <bruno@clisp.org>
21599
21600         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
21601         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
21602         error code.
21603
21604 2011-01-07  Pádraig Brady <P@draigBrady.com>
21605
21606         ignore-value: fixup comments, and add Eric Blake
21607         as an author since he rewrote the macros.
21608         * lib/ignore-value.h (ignore_value):  State that
21609         we now support aggregates.  Also specify exactly
21610         when the GCC warn_unused_result feature was added.
21611
21612 2011-01-06  Eric Blake  <eblake@redhat.com>
21613
21614         ignore-value: support aggregate types
21615         * lib/ignore-value.h (ignore_value): Provide separate gcc
21616         definition.
21617         * modules/ignore-value-tests: New test module.
21618         * tests/test-ignore-value.c: New test.
21619
21620         maint.mk: improve sc_prohibit_strcmp regex
21621         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
21622         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
21623         definition of STRNEQ.
21624
21625         signal: work around Haiku issue with SIGBUS
21626         * lib/siglist.h: Add comment.
21627         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
21628         strsignal's favoring of SIGSEGV.
21629         * tests/test-signal.c (main): Avoid test failure.
21630         * doc/posix-headers/signal.texi (signal.h): Document the issue.
21631         Reported by Scott McCreary.
21632
21633         maint.mk: add pre-release check to ensure submodule commits are public
21634         * top/maint.mk (public-submodule-commit): New rule.
21635         (submodule-checks): New variable.
21636         (alpha beta stable): Depend on the variable.
21637
21638 2011-01-05  Pádraig Brady <P@draigBrady.com>
21639         and Jim Meyering  <meyering@redhat.com>
21640
21641         ignore-value: make ignore_value more generic; deprecate ignore_ptr
21642         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
21643         (ATTRIBUTE_DEPRECATED): Define.
21644         (_ignore_case): New function.
21645         (ignore_value): New macro, to replace the old function.
21646         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
21647         * modules/ignore-value (Depends-on): Add stdint.
21648
21649 2011-01-04  Eric Blake  <eblake@redhat.com>
21650
21651         doc: regenerate INSTALL
21652         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
21653         @firstparagraphindent support, now that autoconf dropped it.
21654         (INSTALL_PRELUDE): Reinstate old macro.
21655         * doc/install.texi: Resync from autoconf.
21656         * doc/INSTALL: Reflect recent autoconf update.
21657         * doc/INSTALL.ISO: Likewise.
21658         * doc/INSTALL.UTF-8: Likewise.
21659         Reported by Karl Berry.
21660
21661 2011-01-04  Bruce Korb  <address@hidden>
21662
21663         git-version-gen: avoid a sub-shell
21664         * build-aux/git-version-gen: Redirect stderr in `...` via
21665         "exec 2>...", rather than via an added sub-shell.
21666
21667 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
21668
21669         git-version-gen: use (...) rather than sh -c '...'
21670         * build-aux/git-version-gen: Rather than hard-coding a shell's name
21671         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
21672
21673 2011-01-03  Jim Meyering  <meyering@redhat.com>
21674
21675         git-version-gen: convert leading TABs to spaces
21676         * build-aux/git-version-gen: Expand leading TABs.
21677
21678         git-version-gen: handle failed "git rev-list"
21679         * build-aux/git-version-gen: Rather than leaking a "fatal" error
21680         from git and proceeding as if it had succeeded but printed no SHA1
21681         checksums, suppress the diagnostic and handle the failure.
21682         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
21683
21684         git-version-gen: include command name in one more diagnostic
21685         * build-aux/git-version-gen: When the required .tarball-version file
21686         was missing or unreadable, you might see the diagnostic from "cat",
21687         but no trace of the name of the invoking script.  Now, you still see
21688         the diagnostic from cat, but also get one from "git-version-gen: ".
21689         Inspired by a patch from Bruce Korb.
21690
21691         update-copyright: adjust test to match changed code
21692         * tests/test-update-copyright.sh: Change test's expected output
21693         to match new actual output.
21694
21695 2011-01-02  Bruno Haible  <bruno@clisp.org>
21696
21697         getlogin_r: Avoid test failure on HP-UX 11.
21698         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
21699         ERANGE when the second argument is zero.
21700         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
21701         portability problem.
21702
21703 2011-01-02  Bruce Korb  <bkorb@gnu.org>
21704
21705         * build-aux/update-copyright: doc Simon's changes
21706
21707 2011-01-02  Simon Josefsson  <simon@josefsson.org>
21708
21709         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
21710         environment variable.
21711
21712 2011-01-02  Bruno Haible  <bruno@clisp.org>
21713
21714         unigbrk: Avoid gcc warnings.
21715         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
21716         unused variable.
21717         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
21718         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
21719         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
21720         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
21721         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
21722         Change type of first argument to 'const char *'.
21723         (main): Remove unused variable.
21724         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
21725         type of first argument to 'const char *'.
21726         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
21727         Likewise.
21728         (main): Change type of variable 's'.
21729         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
21730         to 'int'.
21731
21732 2011-01-02  Bruno Haible  <bruno@clisp.org>
21733
21734         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
21735         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
21736         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
21737         bug.
21738         * lib/pwrite.c: Undo 2010-12-31 patch.
21739         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
21740
21741 2011-01-02  Bruno Haible  <bruno@clisp.org>
21742
21743         pread: Fix test whether it works.
21744         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
21745
21746 2011-01-02  Bruno Haible  <bruno@clisp.org>
21747
21748         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
21749         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
21750         ends in "6". Don't require a specific month name. Try also the locale
21751         names found on HP-UX 11 and Solaris 7.
21752
21753 2011-01-02  Bruno Haible  <bruno@clisp.org>
21754
21755         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
21756         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
21757         C linkage.
21758         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
21759
21760 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
21761
21762         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
21763         for consistency, since the "cluster" term is not used elsewhere.
21764         * lib/unigbrk.in.h: Update name.
21765         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
21766         * lib/unigbrk/u16-grapheme-next.c: Update name.
21767         * lib/unigbrk/u16-grapheme-prev.c: Update name.
21768         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
21769         * lib/unigbrk/u32-grapheme-next.c: Update name.
21770         * lib/unigbrk/u32-grapheme-prev.c: Update name.
21771         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
21772         * lib/unigbrk/u8-grapheme-next.c: Update name.
21773         * lib/unigbrk/u8-grapheme-prev.c: Update name.
21774         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
21775         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
21776         Suggested by Bruno Haible.
21777
21778 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
21779
21780         Remove module 'u8-grapheme-len' as too redundant with
21781         'u8-grapheme-next'.
21782         * modules/unigbrk/u8-grapheme-len: Delete file.
21783         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
21784         * lib/unigbrk.in.h: Remove prototype for deleted function.
21785         * lib/unigbrk/u8-grapheme-len.c: Delete file.
21786         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
21787
21788         Remove module 'u16-grapheme-len' as too redundant with
21789         'u16-grapheme-next'.
21790         * modules/unigbrk/u16-grapheme-len: Delete file.
21791         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
21792         * lib/unigbrk.in.h: Remove prototype for deleted function.
21793         * lib/unigbrk/u16-grapheme-len.c: Delete file.
21794         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
21795
21796         Remove module 'u32-grapheme-len' as too redundant with
21797         'u32-grapheme-next'.
21798         * modules/unigbrk/u32-grapheme-len: Delete file.
21799         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
21800         * lib/unigbrk.in.h: Remove prototype for deleted function.
21801         * lib/unigbrk/u32-grapheme-len.c: Delete file.
21802         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
21803
21804         Suggested by Bruno Haible.
21805
21806 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
21807
21808         * unigbrk.in.h: Fix typo: "ben" => "been".
21809         Reported by Bruno Haible.
21810
21811 2011-01-01  Jim Meyering  <meyering@redhat.com>
21812
21813         maint: update almost all copyright ranges to include 2011
21814         Run the new "make update-copyright" rule.
21815
21816 2011-01-01  Jim Meyering  <meyering@redhat.com>
21817
21818         maint: update-copyright: exempt doc/INSTALL*
21819         * Makefile (update-copyright): Also exclude doc/INSTALL*,
21820         since they are generated.  Suggested by Bruno Haible.
21821
21822 2011-01-01  Jim Meyering  <meyering@redhat.com>
21823
21824         maint: refine the update-copyright rule
21825         * Makefile (update-copyright): Also exclude any file that includes
21826         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
21827         code that merely generates the comment.
21828
21829 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
21830
21831         New module 'u8-grapheme-len'.
21832         * modules/unigbrk/u8-grapheme-len: New file.
21833         * modules/unigbrk/u8-grapheme-len-tests: New file.
21834         * lib/unigbrk.in.h: Add prototype for new function.
21835         * lib/unigbrk/u8-grapheme-len.c: New file.
21836         * tests/unigbrk/test-u8-grapheme-len.c: New file.
21837
21838         New module 'u16-grapheme-len'.
21839         * modules/unigbrk/u16-grapheme-len: New file.
21840         * modules/unigbrk/u16-grapheme-len-tests: New file.
21841         * lib/unigbrk.in.h: Add prototype for new function.
21842         * lib/unigbrk/u16-grapheme-len.c: New file.
21843         * tests/unigbrk/test-u16-grapheme-len.c: New file.
21844
21845         New module 'u32-grapheme-len'.
21846         * modules/unigbrk/u32-grapheme-len: New file.
21847         * modules/unigbrk/u32-grapheme-len-tests: New file.
21848         * lib/unigbrk.in.h: Add prototype for new function.
21849         * lib/unigbrk/u32-grapheme-len.c: New file.
21850         * tests/unigbrk/test-u32-grapheme-len.c: New file.
21851
21852         New module 'u8-grapheme-next'.
21853         * modules/unigbrk/u8-grapheme-next: New file.
21854         * modules/unigbrk/u8-grapheme-next-tests: New file.
21855         * lib/unigbrk.in.h: Add prototype for new function.
21856         * lib/unigbrk/u8-grapheme-next.c: New file.
21857         * tests/unigbrk/test-u8-grapheme-next.c: New file.
21858
21859         New module 'u16-grapheme-next'.
21860         * modules/unigbrk/u16-grapheme-next: New file.
21861         * modules/unigbrk/u16-grapheme-next-tests: New file.
21862         * lib/unigbrk.in.h: Add prototype for new function.
21863         * lib/unigbrk/u16-grapheme-next.c: New file.
21864         * tests/unigbrk/test-u16-grapheme-next.c: New file.
21865
21866         New module 'u32-grapheme-next'.
21867         * modules/unigbrk/u32-grapheme-next: New file.
21868         * modules/unigbrk/u32-grapheme-next-tests: New file.
21869         * lib/unigbrk.in.h: Add prototype for new function.
21870         * lib/unigbrk/u32-grapheme-next.c: New file.
21871         * tests/unigbrk/test-u32-grapheme-next.c: New file.
21872
21873         New module 'u8-grapheme-prev'.
21874         * modules/unigbrk/u8-grapheme-prev: New file.
21875         * modules/unigbrk/u8-grapheme-prev-tests: New file.
21876         * lib/unigbrk.in.h: Add prototype for new function.
21877         * lib/unigbrk/u8-grapheme-prev.c: New file.
21878         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
21879
21880         New module 'u16-grapheme-prev'.
21881         * modules/unigbrk/u16-grapheme-prev: New file.
21882         * modules/unigbrk/u16-grapheme-prev-tests: New file.
21883         * lib/unigbrk.in.h: Add prototype for new function.
21884         * lib/unigbrk/u16-grapheme-prev.c: New file.
21885         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
21886
21887         New module 'u32-grapheme-prev'.
21888         * modules/unigbrk/u32-grapheme-prev: New file.
21889         * modules/unigbrk/u32-grapheme-prev-tests: New file.
21890         * lib/unigbrk.in.h: Add prototype for new function.
21891         * lib/unigbrk/u32-grapheme-prev.c: New file.
21892         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
21893
21894         New module 'u8-grapheme-breaks'.
21895         * modules/unigbrk/u8-grapheme-breaks: New file.
21896         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
21897         * lib/unigbrk.in.h: Add prototype for new function.
21898         * lib/unigbrk/u8-grapheme-breaks.c: New file.
21899         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
21900
21901         New module 'u16-grapheme-breaks'.
21902         * modules/unigbrk/u16-grapheme-breaks: New file.
21903         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
21904         * lib/unigbrk.in.h: Add prototype for new function.
21905         * lib/unigbrk/u16-grapheme-breaks.c: New file.
21906         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
21907
21908         New module 'u32-grapheme-breaks'.
21909         * modules/unigbrk/u32-grapheme-breaks: New file.
21910         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
21911         * lib/unigbrk.in.h: Add prototype for new function.
21912         * lib/unigbrk/u32-grapheme-breaks.c: New file.
21913         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
21914
21915         New module 'ulc-grapheme-breaks'.
21916         * modules/unigbrk/ulc-grapheme-breaks: New file.
21917         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
21918         * m4/locale-ar.m4: New file.
21919         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
21920         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
21921         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
21922
21923 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
21924
21925         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
21926         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
21927         modified how this file was generated before I initially submitted
21928         the module, but failed to regenerate it.  This meant that several
21929         of the level2 entries were wrong.
21930         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
21931         Remove the division-by-2 that is folded into the table now that
21932         gbrkprop.h has been regenerated properly.  Now -1 entries are
21933         handled correctly.
21934
21935         New module 'unigbrk/uc-gbrk-prop-tests'.
21936         * modules/unigbrk/uc-gbrk-prop-tests: New file.
21937         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
21938         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
21939         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
21940
21941 2011-01-01  Bruno Haible  <bruno@clisp.org>
21942
21943         Avoid use of hexadecimal escapes.
21944         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
21945         instead of hexadecimal escapes.
21946
21947 2011-01-01  Jim Meyering  <meyering@redhat.com>
21948
21949         maint: new rule to update copyright year ranges
21950         * Makefile (update-copyright): New rule.
21951
21952         maint: indent with TABs in Makefile
21953         * Makefile: Expand leading sequences of spaces to TABs
21954
21955         version-etc: update the copyright year it reports
21956         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
21957
21958 2010-12-31  Bruno Haible  <bruno@clisp.org>
21959
21960         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
21961         * lib/isfinite.c (zerof, zerod, zerol): New variables.
21962         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
21963         zero.
21964
21965 2010-12-31  Bruno Haible  <bruno@clisp.org>
21966
21967         pwrite: Work around HP-UX 11.11 bug.
21968         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
21969         works and set REPLACE_PWRITE if not.
21970         * lib/pwrite.c (pwrite): Add an implementation that uses the system
21971         function.
21972         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
21973
21974 2010-12-31  Bruno Haible  <bruno@clisp.org>
21975
21976         pread: Work around HP-UX 11 bugs.
21977         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
21978         and set REPLACE_PREAD if not.
21979         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
21980
21981 2010-12-31  Eric Blake  <eblake@redhat.com>
21982
21983         nl_langinfo: fix YESEXPR on Irix 6.5
21984         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
21985         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
21986         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
21987         it.
21988
21989 2010-12-31  Bruno Haible  <bruno@clisp.org>
21990
21991         iconv: Document HP-UX 11 bug.
21992         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
21993
21994 2010-12-31  Bruno Haible  <bruno@clisp.org>
21995
21996         ldexpl: Fix link error on HP-UX 11.
21997         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
21998         LDEXPL_LIBM, using $ISNANL_LIBM.
21999
22000 2010-12-31  Eric Blake  <eblake@redhat.com>
22001
22002         ftello: avoid compilation failure with SunStudio c89
22003         * lib/ftello.c (ftello): Use lseek, not llseek.
22004
22005         tests: avoid failing coreutils tests on cygwin
22006         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
22007         (create_exe_shims_): Return 0 when skipping.
22008
22009 2010-12-31  Bruno Haible  <bruno@clisp.org>
22010
22011         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
22012         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
22013
22014 2010-12-31  Bruno Haible  <bruno@clisp.org>
22015
22016         waitpid: Fix link error in C++ mode.
22017         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
22018
22019 2010-12-31  Bruno Haible  <bruno@clisp.org>
22020
22021         isnan: Use GCC built-ins when possible.
22022         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
22023         __builtin_isnan.
22024         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
22025         (isnan): Define using GCC built-ins for GCC >= 4.0.
22026
22027 2010-12-31  Bruno Haible  <bruno@clisp.org>
22028
22029         isnand: Fix mistake.
22030         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
22031         __builtin_isnand.
22032
22033 2010-12-31  Bruno Haible  <bruno@clisp.org>
22034
22035         open: Avoid C++ error on HP-UX 11.
22036         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
22037
22038 2010-12-31  Bruno Haible  <bruno@clisp.org>
22039
22040         time_r: Add missing declarations on HP-UX 11.
22041         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
22042         instead of HAVE_LOCALTIME_R.
22043         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
22044         HAVE_LOCALTIME_R always.
22045         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
22046         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
22047         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
22048         HAVE_LOCALTIME_R.
22049         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
22050         * doc/posix-functions/localtime_r.texi: Likewise.
22051
22052 2010-12-29  Eric Blake  <eblake@redhat.com>
22053
22054         mountlist: tweak previous commit
22055         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
22056         Reported by Paul Eggert.
22057
22058         mountlist: fix local drive detection on cygwin
22059         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
22060         that works for cygwin.
22061
22062 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
22063
22064         ftoastr, snprintf: ftoastr + snprintf module
22065         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
22066         since the snprintf module now should be good enough here.
22067         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
22068         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
22069         and gl_MODULE_INDICATOR([snprintf]), but the former enables
22070         GNULIB_SNPRINTF only for the test directory, and the latter
22071         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
22072         seems to suffice by itself.
22073
22074 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
22075
22076         alloca: one step towards thread-safety
22077         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
22078         need for a static variable.  All callers changed.  This does not
22079         make the alloca replacement thread-safe, but it's one step.
22080
22081         tests: minor indenting change
22082         * tests/init.sh: Sync from coreutils housekeeping patch
22083         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
22084         to keep lines within 80 columns.
22085
22086 2010-12-28  Jim Meyering  <meyering@redhat.com>
22087
22088         regex: don't infloop on persistent failing calloc
22089         * lib/regexec.c (build_trtable): Return failure indication upon
22090         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
22091         In glibc, this was fixed for version 2.13:
22092         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
22093
22094 2010-12-28  Bruno Haible  <bruno@clisp.org>
22095             Paul Eggert <eggert@cs.ucla.edu>
22096
22097         linkat: Make implementation robust against system behaviour variations.
22098         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
22099         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
22100         way, and to -2 if it needs a generic runtime test.
22101         * lib/linkat.c (solaris_optimized_link_immediate,
22102         solaris_optimized_link_follow): New functions.
22103         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
22104         (check_same_link): Use it.
22105
22106 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
22107
22108         New module 'unigbrk/base'.
22109         * modules/unigbrk/base: New file.
22110         * lib/unigbrk.in.h: New file.
22111
22112         New module 'unigbrk/uc-gbrk-prop'.
22113         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
22114         * modules/unigbrk/uc-gbrk-prop: New file.
22115         * lib/unigbrk/gbrkprop.h: New file.
22116         * lib/unigbrk/uc-gbrk-prop.c: New file.
22117
22118         New module 'unigbrk/uc-is-grapheme-break'.
22119         * modules/unigbrk/uc-is-grapheme-break: New file.
22120         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
22121         * lib/unigbrk/uc-is-grapheme-break.c: New file.
22122         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
22123         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
22124         * tests/unigbrk/GraphemeBreakTest.txt: New file.
22125
22126         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
22127
22128 2010-12-27  Bruno Haible  <bruno@clisp.org>
22129
22130         linkat test: Avoid failure on Solaris 11 2010-11.
22131         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
22132
22133 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
22134
22135         utimens: work around glibc rounding bug on more platforms
22136         * lib/utimens.c (fdutimens): Work around rounding bug even if
22137         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
22138         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
22139
22140 2010-12-27  Bruno Haible  <bruno@clisp.org>
22141
22142         select tests: Improve comments.
22143         * tests/test-select.c (do_select): Add comments.
22144
22145 2010-12-27  Bruno Haible  <bruno@clisp.org>
22146
22147         select tests: Safer way of handling timeout.
22148         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
22149         at every invocation.
22150
22151 2010-12-27  Bruno Haible  <bruno@clisp.org>
22152
22153         select tests: Use 'bool' where appropriate.
22154         * tests/test-select.c (connect_to_socket): Change argument type to
22155         'bool'.
22156
22157 2010-12-27  Bruno Haible  <bruno@clisp.org>
22158
22159         select tests: Use existing modules.
22160         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
22161         (configure.ac): Don't test for unistd.h.
22162         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
22163         declared in <unistd.h>.
22164
22165 2010-12-27  Bruno Haible  <bruno@clisp.org>
22166
22167         mbrtowc: Work around a Solaris 7 bug.
22168         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
22169         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
22170         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
22171         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
22172         MBRTOWC_NULL_ARG1_BUG.
22173         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
22174         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
22175         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
22176         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
22177
22178 2010-12-27  Jim Meyering  <meyering@redhat.com>
22179
22180         read-file.c: tweak syntax
22181         * lib/read-file.c (fread_file): Remove space after "*" in function
22182         definitions.
22183
22184 2010-12-27  Bruno Haible  <bruno@clisp.org>
22185
22186         times test: Avoid gcc warnings on OSF/1.
22187         * tests/test-times.c (main): Cast printf arguments from clock_t to
22188         'long int'.
22189
22190 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
22191
22192         utimens: work around glibc rounding bug on older Linux kernels
22193         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
22194         on Linux with a glibc whose utimes might not work, then work
22195         around a longstanding glibc bug involving rounding rather than
22196         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
22197         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
22198
22199 2010-12-26  Bruno Haible  <bruno@clisp.org>
22200
22201         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
22202         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
22203         _GL_CXXALIAS_SYS.
22204         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
22205
22206 2010-12-26  Bruno Haible  <bruno@clisp.org>
22207
22208         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
22209         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
22210         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
22211         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
22212         looking for the declaration.
22213         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
22214         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
22215         problem.
22216         * doc/posix-functions/inet_pton.texi: Likewise.
22217
22218 2010-12-26  Bruno Haible  <bruno@clisp.org>
22219
22220         arpa_inet: Use the common idioms with C++ support.
22221         * lib/arpa_inet.in.h: Include c++defs.h.
22222         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
22223         support.
22224         * modules/arpa_inet (Depends-on): Add c++defs.
22225         (Makefile.am): Substitute the contents of c++defs.h.
22226         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
22227         * modules/arpa_inet-c++-tests: New file.
22228         * tests/test-arpa_inet-c++.cc: New file.
22229
22230 2010-12-25  Bruno Haible  <bruno@clisp.org>
22231
22232         Fix more C++ link errors on Solaris 8.
22233         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
22234         $(LIB_EACCESS).
22235         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
22236         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
22237         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
22238         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
22239         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
22240
22241 2010-12-25  Bruno Haible  <bruno@clisp.org>
22242
22243         printf-posix: Fix link error when a non-GCC compiler is used.
22244         * lib/stdio.in.h (printf): When not using GCC, override printf
22245         correctly.
22246         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
22247
22248 2010-12-25  Bruno Haible  <bruno@clisp.org>
22249
22250         strerror_r-posix: Update doc.
22251         * doc/posix-functions/strerror_r.texi: Update doc about the return
22252         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
22253
22254 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
22255
22256         utimens: simplify the logic of the previous change
22257         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
22258         This should not affect whether the test succeeds or fails.
22259
22260         utimens: configure better on hosts with NFS clock skew
22261         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
22262         uses the clock of the local host.  It might use the clock of the
22263         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
22264         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
22265
22266 2010-12-25  Bruno Haible  <bruno@clisp.org>
22267
22268         ptsname test: Avoid failure on Solaris.
22269         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
22270         open a pseudo-terminal; don't use BSD-style ptys.
22271         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
22272
22273 2010-12-25  Bruno Haible  <bruno@clisp.org>
22274
22275         ptsname: Avoid ERANGE failure on some systems.
22276         * lib/ptsname.c (buffer): Increase size.
22277
22278 2010-12-25  Bruno Haible  <bruno@clisp.org>
22279
22280         rename, renameat: Avoid test failures at NFS mounted locations.
22281         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
22282         so that subsequent mkdir calls succeed.
22283
22284 2010-12-25  Bruno Haible  <bruno@clisp.org>
22285
22286         iswblank: Fix C++ link error on Solaris 8.
22287         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
22288         _GL_FUNCDECL_SYS.
22289
22290 2010-12-25  Bruno Haible  <bruno@clisp.org>
22291
22292         unistd: Fix C++ link error on Solaris 8.
22293         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
22294
22295 2010-12-25  Bruno Haible  <bruno@clisp.org>
22296
22297         readlink doc: Mention an old glibc bug.
22298         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
22299
22300 2010-12-25  Bruno Haible  <bruno@clisp.org>
22301
22302         fcntl-h: Fix for use of C++ on glibc systems.
22303         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
22304         also on glibc systems in C++ mode.
22305         Reported by Gary V. Vaughan <gary@gnu.org>.
22306
22307 2010-12-25  Bruno Haible  <bruno@clisp.org>
22308
22309         roundl-ieee: Make it work on OSF/1 5.1 with cc.
22310         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
22311
22312 2010-12-25  Bruno Haible  <bruno@clisp.org>
22313
22314         truncl-ieee: Make it work on OSF/1 5.1 with cc.
22315         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
22316         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
22317         test whether truncl works according to ISO C 99 with IEC 60559.
22318         * m4/truncl-ieee.m4: New file.
22319         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
22320         m4/signbit.m4.
22321         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
22322
22323 2010-12-25  Bruno Haible  <bruno@clisp.org>
22324
22325         ceill-ieee: Make it work on OSF/1 5.1 with cc.
22326         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
22327         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
22328         test whether ceill works according to ISO C 99 with IEC 60559.
22329         * m4/ceill-ieee.m4: New file.
22330         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
22331         m4/signbit.m4.
22332         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
22333
22334 2010-12-25  Bruno Haible  <bruno@clisp.org>
22335
22336         Ensure all prerequisites of <wchar.h> are included.
22337         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
22338         before <wchar.h>.
22339         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
22340         gl_MBRLEN_NUL_RETVAL): Likewise.
22341         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
22342         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
22343         AC_FUNC_MBRTOWC): Likewise.
22344         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
22345         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
22346         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
22347         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
22348         Likewise.
22349         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
22350         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
22351         (gl_WCHAR_H): Improve comments.
22352         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
22353
22354 2010-12-25  Bruno Haible  <bruno@clisp.org>
22355
22356         strtok_r: Fix C syntax error in autoconf macro.
22357         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
22358         characters in test program.
22359
22360 2010-12-24  Bruno Haible  <bruno@clisp.org>
22361
22362         ceil, trunc, round: Fix gcc warnings.
22363         * lib/ceil.c (MIN): Undefine before redefining.
22364         * lib/trunc.c (MIN): Likewise.
22365         * lib/round.c (MIN): Likewise.
22366         Include <math.h> first.
22367
22368 2010-12-24  Bruno Haible  <bruno@clisp.org>
22369
22370         select tests: Avoid failures on OSF/1 5.1.
22371         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
22372         failure of closing the last socket; it may fail with ECONNRESET.
22373
22374 2010-12-24  Eric Blake  <eblake@redhat.com>
22375
22376         stdint: avoid HP-UX 10.20 preprocessor bug
22377         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
22378         than #if.
22379         * tests/test-floor2.c (main): Likewise.
22380         Reported by Peter O'Gorman.
22381
22382         pipe: make obsoletion transition easier
22383         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
22384         * modules/pipe (Files): Include revived file.
22385         (Include): Drop reference, to mirror getdate's behavior.
22386
22387 2010-12-24  Bruno Haible  <bruno@clisp.org>
22388
22389         sys_socket: Hide mismatch of declarations on NonStop Kernel.
22390         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
22391         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
22392         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
22393
22394 2010-12-24  Bruno Haible  <bruno@clisp.org>
22395
22396         gethostname: Ensure declaration on NonStop Kernel.
22397         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
22398         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
22399
22400 2010-12-24  Bruno Haible  <bruno@clisp.org>
22401
22402         sys_select: Ensure all necessary types on NonStop Kernel.
22403         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
22404         include <sys/time.h>.
22405         * doc/posix-headers/sys_select.texi: Mention that it's missing on
22406         NonStop Kernel.
22407         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
22408
22409 2010-12-24  Bruno Haible  <bruno@clisp.org>
22410
22411         sys_select: Remove unneeded include.
22412         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
22413         have <sys/select.h>.
22414
22415 2010-12-24  Bruno Haible  <bruno@clisp.org>
22416
22417         gethostname: Provide a fallback for HOST_NAME_MAX.
22418         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
22419         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
22420         instead.
22421         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
22422
22423 2010-12-24  Bruno Haible  <bruno@clisp.org>
22424
22425         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
22426         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
22427         (SA_RESTART): Likewise.
22428         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
22429
22430 2010-12-24  Bruno Haible  <bruno@clisp.org>
22431
22432         signal: Define NSIG.
22433         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
22434         * tests/test-signal.c (nsig): New variable.
22435         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
22436
22437 2010-12-24  Bruno Haible  <bruno@clisp.org>
22438
22439         rename, renameat: Avoid test failures on OSF/1 5.1.
22440         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
22441         alternative error codes.
22442         * tests/test-renameat.c (main): Likewise.
22443
22444 2010-12-24  Bruno Haible  <bruno@clisp.org>
22445
22446         *printf: Detect large precisions bug on Solaris 10/SPARC.
22447         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
22448         by Paul Eggert.
22449         * tests/test-snprintf-posix.h (test_function): Add this test code here
22450         too.
22451         * tests/test-sprintf-posix.h (test_function): Likewise.
22452         * tests/test-vasnprintf-posix.c (test_function): Likewise.
22453         * tests/test-vasprintf-posix.c (test_function): Likewise.
22454         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
22455         around by gnulib.
22456         * doc/posix-functions/printf.texi: Likewise.
22457         * doc/posix-functions/snprintf.texi: Likewise.
22458         * doc/posix-functions/sprintf.texi: Likewise.
22459         * doc/posix-functions/vfprintf.texi: Likewise.
22460         * doc/posix-functions/vprintf.texi: Likewise.
22461         * doc/posix-functions/vsnprintf.texi: Likewise.
22462         * doc/posix-functions/vsprintf.texi: Likewise.
22463         * doc/posix-functions/dprintf.texi: Undo last commit.
22464         * doc/posix-functions/vdprintf.texi: Likewise.
22465
22466 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
22467
22468         tests: port test-fdutimensat.c to Solaris 8
22469         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
22470         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
22471         On Solaris 8, it fails with errno == ENOSYS, because there is no
22472         futimens (so it can't use the fd), and there is no lutimens (so it
22473         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
22474
22475         vsnprintf: make more consistent with snprintf; doc fixes
22476
22477         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
22478         the byte count return problem was promoted from the snprintf-posix
22479         to the snprintf module.
22480         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
22481         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
22482         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
22483         * tests/test-snprintf.c (main): Check the byte count returned.
22484         * tests/test-vsnprintf.c (main): Likewise.
22485
22486 2010-12-23  Eric Blake  <eblake@redhat.com>
22487
22488         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
22489         * modules/sigpipe (License): Relax license.
22490
22491 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
22492
22493         doc: document Solaris printf bug with large float precisions
22494         * doc/posix-functions/dprintf.texi (dprintf):
22495         * doc/posix-functions/fprintf.texi (fprintf):
22496         * doc/posix-functions/printf.texi (printf):
22497         * doc/posix-functions/snprintf.texi (snprintf):
22498         * doc/posix-functions/sprintf.texi (sprintf):
22499         * doc/posix-functions/vdprintf.texi (vdprintf):
22500         * doc/posix-functions/vfprintf.texi (vfprintf):
22501         * doc/posix-functions/vprintf.texi (vprintf):
22502         * doc/posix-functions/vsnprintf.texi (vsnprintf):
22503         * doc/posix-functions/vsprintf.texi (vsprintf):
22504         Mention that these functions mishandle large floating point
22505         precisions on Solaris 10.  The same bug is also present in Solaris
22506         8, and I assume earlier.  This causes "cd gnulib-tests; make
22507         check" to fail on Solaris 8 (and I assume, later) when building
22508         the latest coreutils, in test-vasprintf-posix's call to
22509         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
22510         the wide flavors (e.g., wprintf) so this patch just updates the
22511         documentation for the narrow ones.
22512
22513         test-posixtm.c: add two tests
22514         * tests/test-posixtm.c: Add two tests, to highlight the
22515         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
22516         around this bug; this is merely to document it.
22517
22518 2010-12-22  Bruno Haible  <bruno@clisp.org>
22519
22520         getlogin_r: Work around portability problem on OSF/1.
22521         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
22522         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
22523         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
22524         test for a truncated result.
22525         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
22526         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
22527         * modules/getlogin_r (Depends-on): Add memchr.
22528         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
22529
22530 2010-12-22  Bruno Haible  <bruno@clisp.org>
22531
22532         ptsname: Avoid test failure on OSF/1 5.1.
22533         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
22534         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
22535         (same_slave): New function.
22536         (main): Use it to compare ptsname's result with the expected file name.
22537
22538 2010-12-22  Bruno Haible  <bruno@clisp.org>
22539
22540         Port extended stdio modules to HP NonStop Kernel.
22541         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
22542         macros.
22543         * lib/fbufmode.c: Update comments.
22544         * lib/fflush.c: Likewise.
22545         * lib/fpurge.c: Likewise.
22546         * lib/freadable.c: Likewise.
22547         * lib/freadahead.c: Likewise.
22548         * lib/freading.c: Likewise.
22549         * lib/freadptr.c: Likewise.
22550         * lib/freadseek.c: Likewise.
22551         * lib/fseeko.c: Likewise.
22552         * lib/fseterr.c: Likewise.
22553         * lib/fwritable.c: Likewise.
22554         * lib/fwriting.c: Likewise.
22555         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
22556
22557 2010-12-22  Bruno Haible  <bruno@clisp.org>
22558
22559         ttyname_r: Work around bug on OSF/1 5.1.
22560         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
22561         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
22562         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
22563         present.
22564         * lib/ttyname_r.c (ttyname_r): Update comments.
22565
22566 2010-12-22  Bruno Haible  <bruno@clisp.org>
22567
22568         round: Implement result sign according to IEEE 754.
22569         * lib/round.c (MIN, MINUS_ZERO): New macros.
22570         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
22571         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
22572         * tests/test-round-ieee.c (main): Likewise.
22573         * tests/test-roundl-ieee.c (main): Likewise.
22574
22575         trunc: Implement result sign according to IEEE 754.
22576         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
22577         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
22578         * tests/test-trunc2.c: Include minus-zero.h.
22579         (MINUS_ZERO): New macro.
22580         (trunc_reference): Keep in sync with lib/trunc.c.
22581         * tests/test-truncf2.c: Include minus-zero.h.
22582         (MINUS_ZERO): New macro.
22583         (truncf_reference): Keep in sync with lib/trunc.c.
22584         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
22585         * tests/test-trunc-ieee.c (main): Likewise.
22586         * tests/test-truncl-ieee.c (main): Likewise.
22587
22588         ceil: Implement result sign according to IEEE 754.
22589         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
22590         (FUNC): Return -0.0 for -1 < x < 0.
22591         * tests/test-ceil2.c: Include minus-zero.h.
22592         (MINUS_ZERO): New macro.
22593         (ceil_reference): Keep in sync with lib/ceil.c.
22594         * tests/test-ceilf2.c: Include minus-zero.h.
22595         (MINUS_ZERO): New macro.
22596         (ceilf_reference): Keep in sync with lib/ceil.c.
22597         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
22598         * tests/test-ceil-ieee.c (main): Likewise.
22599         * tests/test-ceill-ieee.c (main): Likewise.
22600
22601         floor: Implement result sign according to IEEE 754.
22602         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
22603         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
22604         * tests/test-floorf2.c (floorf_reference): Likewise.
22605         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
22606         * tests/test-floor-ieee.c (main): Likewise.
22607         * tests/test-floorl-ieee.c (main): Likewise.
22608
22609 2010-12-22  Bruno Haible  <bruno@clisp.org>
22610
22611         getaddrinfo: Update doc.
22612         * doc/posix-functions/gai_strerror.texi: Return type is also different
22613         on AIX and HP-UX.
22614
22615 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
22616
22617         getaddrinfo, inet_ntop: Update doc for Solaris.
22618         * doc/posix-functions/gai_strerror.texi: Return type is also an
22619         issue on Solaris 9 and earlier.
22620         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
22621         on Solaris 10 and earlier.
22622
22623 2010-12-21  Bruno Haible  <bruno@clisp.org>
22624
22625         New module 'roundl-ieee'.
22626         * modules/roundl-ieee: New file.
22627         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
22628         test whether roundl works according to ISO C 99 with IEC 60559.
22629         * m4/roundl-ieee.m4: New file.
22630         * modules/roundl-ieee-tests: New file.
22631         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
22632         * tests/test-roundl.c (main): Remove signbit tests.
22633         * modules/roundl-tests (Depends-on): Remove signbit.
22634         * doc/posix-functions/roundl.texi: Mention the new module.
22635
22636 2010-12-21  Bruno Haible  <bruno@clisp.org>
22637
22638         New module 'truncl-ieee'.
22639         * modules/truncl-ieee: New file.
22640         * modules/truncl-ieee-tests: New file.
22641         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
22642         * tests/test-truncl.c (main): Remove signbit tests.
22643         * modules/truncl-tests (Depends-on): Remove signbit.
22644         * doc/posix-functions/truncl.texi: Mention the new module.
22645
22646 2010-12-21  Bruno Haible  <bruno@clisp.org>
22647
22648         New module 'ceill-ieee'.
22649         * modules/ceill-ieee: New file.
22650         * modules/ceill-ieee-tests: New file.
22651         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
22652         * tests/test-ceill.c (main): Remove signbit tests.
22653         * modules/ceill-tests (Depends-on): Remove signbit.
22654         * doc/posix-functions/ceill.texi: Mention the new module.
22655
22656 2010-12-21  Bruno Haible  <bruno@clisp.org>
22657
22658         New module 'floorl-ieee'.
22659         * modules/floorl-ieee: New file.
22660         * modules/floorl-ieee-tests: New file.
22661         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
22662         * tests/test-floorl.c (main): Remove signbit tests.
22663         * modules/floorl-tests (Depends-on): Remove signbit.
22664         * doc/posix-functions/floorl.texi: Mention the new module.
22665
22666 2010-12-21  Bruno Haible  <bruno@clisp.org>
22667
22668         New module 'round-ieee'.
22669         * modules/round-ieee: New file.
22670         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
22671         whether round works according to ISO C 99 with IEC 60559.
22672         * m4/round-ieee.m4: New file.
22673         * modules/round-ieee-tests: New file.
22674         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
22675         * tests/test-round1.c (main): Remove signbit tests.
22676         * modules/round-tests (Depends-on): Remove 'signbit'.
22677         * doc/posix-functions/round.texi: Mention the new module.
22678
22679 2010-12-21  Bruno Haible  <bruno@clisp.org>
22680
22681         New module 'trunc-ieee'.
22682         * modules/trunc-ieee: New file.
22683         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
22684         whether trunc works according to ISO C 99 with IEC 60559.
22685         * m4/trunc-ieee.m4: New file.
22686         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
22687         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
22688         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
22689         * modules/trunc-ieee-tests: New file.
22690         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
22691         * tests/test-trunc1.c (main): Remove signbit tests.
22692         * modules/trunc-tests (Depends-on): Remove 'signbit'.
22693         * doc/posix-functions/trunc.texi: Mention the new module.
22694
22695 2010-12-21  Bruno Haible  <bruno@clisp.org>
22696
22697         New module 'ceil-ieee'.
22698         * modules/ceil-ieee: New file.
22699         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
22700         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
22701         ISO C 99 with IEC 60559.
22702         * m4/ceil-ieee.m4: New file.
22703         * modules/ceil (Files): Add lib/ceil.c.
22704         (Depends-on): Add 'float'.
22705         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
22706         * lib/math.in.h (ceil): New declaration.
22707         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
22708         REPLACE_CEIL.
22709         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
22710         * modules/ceil-ieee-tests: New file.
22711         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
22712         * tests/test-math-c++.cc: Check the signature of 'ceil'.
22713         * doc/posix-functions/ceil.texi: Mention the new module.
22714
22715 2010-12-21  Bruno Haible  <bruno@clisp.org>
22716
22717         New module 'floor-ieee'.
22718         * modules/floor-ieee: New file.
22719         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
22720         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
22721         ISO C 99 with IEC 60559.
22722         * m4/floor-ieee.m4: New file.
22723         * modules/floor (Files): Add lib/floor.c.
22724         (Depends-on): Add 'float'.
22725         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
22726         * lib/math.in.h (floor): New declaration.
22727         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
22728         REPLACE_FLOOR.
22729         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
22730         * modules/floor-ieee-tests: New file.
22731         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
22732         * tests/test-math-c++.cc: Check the signature of 'floor'.
22733         * doc/posix-functions/floor.texi: Mention the new module.
22734
22735 2010-12-21  Bruno Haible  <bruno@clisp.org>
22736
22737         New module 'roundf-ieee'.
22738         * modules/roundf-ieee: New file.
22739         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
22740         test whether roundf works according to ISO C 99 with IEC 60559.
22741         * m4/roundf-ieee.m4: New file.
22742         * modules/roundf-ieee-tests: New file.
22743         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
22744         * tests/test-roundf1.c (main): Remove signbit tests.
22745         * modules/roundf-tests (Depends-on): Remove 'signbit'.
22746         * doc/posix-functions/roundf.texi: Mention the new module.
22747
22748 2010-12-21  Bruno Haible  <bruno@clisp.org>
22749
22750         New module 'truncf-ieee'.
22751         * modules/truncf-ieee: New file.
22752         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
22753         test whether truncf works according to ISO C 99 with IEC 60559.
22754         * m4/truncf-ieee.m4: New file.
22755         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
22756         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
22757         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
22758         * modules/truncf-ieee-tests: New file.
22759         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
22760         * tests/test-truncf1.c (main): Remove signbit tests.
22761         * modules/truncf-tests (Depends-on): Remove 'signbit'.
22762         * doc/posix-functions/truncf.texi: Mention the new module.
22763
22764 2010-12-21  Bruno Haible  <bruno@clisp.org>
22765
22766         New module 'ceilf-ieee'.
22767         * modules/ceilf-ieee: New file.
22768         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
22769         test whether ceilf works according to ISO C 99 with IEC 60559.
22770         * m4/ceilf-ieee.m4: New file.
22771         * modules/ceilf-ieee-tests: New file.
22772         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
22773         * tests/test-ceilf1.c (main): Remove signbit tests.
22774         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
22775         * doc/posix-functions/ceilf.texi: Mention the new module.
22776
22777 2010-12-21  Bruno Haible  <bruno@clisp.org>
22778
22779         New module 'floorf-ieee'.
22780         * modules/floorf-ieee: New file.
22781         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
22782         test whether floorf works according to ISO C 99 with IEC 60559.
22783         * m4/floorf-ieee.m4: New file.
22784         * modules/floorf-ieee-tests: New file.
22785         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
22786         * tests/test-floorf1.c (main): Remove signbit tests.
22787         * modules/floorf-tests (Depends-on): Remove 'signbit'.
22788         * doc/posix-functions/floorf.texi: Mention the new module.
22789
22790 2010-12-21  Bruno Haible  <bruno@clisp.org>
22791
22792         Support for minus zero in autoconf macros.
22793         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
22794         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
22795         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
22796         * tests/minus-zero.h: Update comments.
22797
22798 2010-12-21  Bruno Haible  <bruno@clisp.org>
22799
22800         Tests for module 'ceil'.
22801         * modules/ceil-tests: New file.
22802         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
22803         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
22804
22805 2010-12-21  Bruno Haible  <bruno@clisp.org>
22806
22807         Tests for module 'floor'.
22808         * modules/floor-tests: New file.
22809         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
22810         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
22811
22812 2010-12-21  Bruno Haible  <bruno@clisp.org>
22813
22814         math: Fix indentation.
22815         * lib/math.in.h (floorf): Fix indentation.
22816
22817 2010-12-21  Bruno Haible  <bruno@clisp.org>
22818
22819         Fix cross-compilation guesses on Solaris.
22820         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
22821         not match "solaris2.10".
22822         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
22823         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
22824         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
22825
22826 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
22827
22828         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
22829         This fixes a problem observed with the latest coreutils snapshot
22830         that caused a test to fail on Solaris 8.  src/csplit.c's call
22831         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
22832         earlier, instead of returning the number of bytes that would have
22833         been generated; this causes csplit to incorrectly report memory
22834         exhaustion.
22835         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
22836         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
22837         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
22838         comments to match.
22839         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
22840         Fix typo in matching older versions of Solaris: "solaris2.10"
22841         is matched by the shell pattern "solaris2.[0-9]*".  This matters
22842         only for guessing while cross-compiling.
22843         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
22844
22845 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
22846
22847         ftoastr: fix comment again
22848         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
22849         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
22850         Also, simplify example a bit by using flags = 0.
22851
22852 2010-12-20  Bruno Haible  <bruno@clisp.org>
22853
22854         round*, trunc*: Update documentation regarding glibc.
22855         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
22856         * doc/posix-functions/round.texi: Likewise.
22857         * doc/posix-functions/roundl.texi: Likewise.
22858         * doc/posix-functions/truncf.texi: Likewise.
22859         * doc/posix-functions/trunc.texi: Likewise.
22860         * doc/posix-functions/truncl.texi: Likewise.
22861
22862 2010-12-20  Bruno Haible  <bruno@clisp.org>
22863
22864         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
22865         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
22866         * doc/posix-functions/round.texi: Likewise.
22867         * doc/posix-functions/roundl.texi: Likewise.
22868
22869 2010-12-20  Bruno Haible  <bruno@clisp.org>
22870
22871         ttyname_r: Add missing declaration on HP-UX 11.
22872         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
22873         HAVE_TTYNAME_R.
22874         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
22875         declared. Set HAVE_TTYNAME_R always.
22876         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
22877         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
22878         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
22879         HAVE_TTYNAME_R.
22880         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
22881
22882 2010-12-20  Bruno Haible  <bruno@clisp.org>
22883
22884         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
22885         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
22886         * doc/posix-functions/getlogin_r.texi: Likewise.
22887         * tests/test-getlogin.c: Include <errno.h>.
22888         (main): Avoid test failure on HP-UX 11.11.
22889         * tests/test-getlogin_r.c (main): Likewise.
22890
22891 2010-12-20  Bruno Haible  <bruno@clisp.org>
22892
22893         getlogin_r: Add missing declaration on HP-UX 11.
22894         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
22895         declared also when it exists as a function.
22896         * doc/posix-functions/getlogin_r.texi: Document this workaround.
22897
22898 2010-12-20  Bruno Haible  <bruno@clisp.org>
22899
22900         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
22901         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
22902         through wcrtomb.
22903
22904 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
22905
22906         ftoastr: fix comment
22907         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
22908         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
22909
22910 2010-12-19  Bruno Haible  <bruno@clisp.org>
22911
22912         isnan: Ensure it is a macro.
22913         * lib/math.in.h (isnan): Define as a macro if not already a macro.
22914         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
22915         Solaris.
22916
22917 2010-12-19  Bruno Haible  <bruno@clisp.org>
22918
22919         ldexpl test: Fix link error on OSF/1 5.1.
22920         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
22921
22922 2010-12-19  Bruno Haible  <bruno@clisp.org>
22923
22924         wctype: Make it work in C++ mode on OSF/1 5.1.
22925         * lib/wctype.in.h (iswblank): Declare but not define here.
22926         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
22927         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
22928         * modules/wctype (Files): Add lib/iswblank.c.
22929
22930 2010-12-19  Bruno Haible  <bruno@clisp.org>
22931
22932         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
22933         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
22934         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
22935
22936 2010-12-19  Bruno Haible  <bruno@clisp.org>
22937
22938         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
22939         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
22940         _POSIX_PII_SOCKET.
22941         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
22942         * doc/posix-functions/recvfrom.texi: Likewise.
22943         * doc/posix-functions/send.texi: Likewise.
22944         * doc/posix-functions/sendto.texi: Likewise.
22945
22946 2010-12-19  Bruno Haible  <bruno@clisp.org>
22947
22948         tcgetsid: Add missing declaration on OSF/1 5.1.
22949         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
22950         HAVE_TCGETSID.
22951         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
22952         Don't set HAVE_TCGETSID.
22953         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
22954         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
22955         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
22956         HAVE_TCGETSID.
22957         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
22958
22959 2010-12-19  Bruno Haible  <bruno@clisp.org>
22960
22961         stdio: Fix problem with popen() declaration on OSF/1 5.1.
22962         * lib/stdio.in.h: During the include_next statement, let recursive
22963         includes of this file include only the system header file.
22964
22965 2010-12-19  Bruno Haible  <bruno@clisp.org>
22966
22967         iconv_open: Fix regression from 2010-12-04.
22968         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
22969         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
22970
22971 2010-12-19  Bruno Haible  <bruno@clisp.org>
22972
22973         stdbool test: Avoid a gcc warning.
22974         * tests/test-stdbool.c (main): Fail if e1 is false.
22975         Reported by Jim Meyering.
22976
22977 2010-12-19  Jim Meyering  <meyering@redhat.com>
22978
22979         setenv: restore to working order
22980         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
22981         mistakenly removed.
22982         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
22983         HAVE_SETENV.
22984         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
22985         HAVE_SETENV.
22986
22987 2010-12-19  Bruno Haible  <bruno@clisp.org>
22988
22989         Document some different function declarations on OSF/1 5.1.
22990         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
22991         * doc/posix-functions/inet_ntop.texi: Likewise.
22992         * doc/posix-functions/gethostname.texi: Likewise.
22993         * lib/unistd.in.h (gethostname): Update comment.
22994
22995 2010-12-19  Bruno Haible  <bruno@clisp.org>
22996
22997         doc: Mention vasprintf-posix module.
22998         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
22999         the 'vasprintf-posix' module.
23000         * doc/glibc-functions/vasprintf.texi: Likewise.
23001
23002 2010-12-19  Bruno Haible  <bruno@clisp.org>
23003
23004         unsetenv: Add missing declaration on OSF/1 5.1.
23005         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
23006         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
23007         Don't set HAVE_UNSETENV. In the test program, set _BSD.
23008         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
23009         not HAVE_UNSETENV.
23010         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
23011         HAVE_UNSETENV.
23012         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
23013
23014 2010-12-19  Bruno Haible  <bruno@clisp.org>
23015
23016         setenv: Add missing declaration on OSF/1 5.1.
23017         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
23018         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
23019         declared. Don't set HAVE_SETENV.
23020         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
23021         not HAVE_SETENV.
23022         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
23023         HAVE_SETENV.
23024         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
23025
23026 2010-12-19  Bruno Haible  <bruno@clisp.org>
23027
23028         nl_langinfo tests: Avoid gcc warning.
23029         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
23030
23031 2010-12-19  Bruno Haible  <bruno@clisp.org>
23032
23033         mknod: Avoid error in C++ mode on OSF/1 with GCC.
23034         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
23035         _GL_CXXALIAS_SYS.
23036
23037 2010-12-19  Bruno Haible  <bruno@clisp.org>
23038
23039         stdbool: Relax test.
23040         * tests/test-stdbool.c (e): Don't require that casts from a variable's
23041         address to 'bool' work in static initializer, for compilers other than
23042         GCC.
23043
23044 2010-12-19  Bruno Haible  <bruno@clisp.org>
23045
23046         ftello: Add missing declaration on OSF/1 5.1.
23047         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
23048         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
23049         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
23050         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
23051         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
23052
23053 2010-12-19  Bruno Haible  <bruno@clisp.org>
23054
23055         fseeko: Add missing declaration on OSF/1 5.1.
23056         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
23057         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
23058         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
23059         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
23060         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
23061
23062 2010-12-19  Bruno Haible  <bruno@clisp.org>
23063
23064         fchdir: Add missing declaration on OSF/1 5.1.
23065         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
23066         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
23067         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
23068         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
23069         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
23070
23071 2010-12-19  Bruno Haible  <bruno@clisp.org>
23072
23073         relocatable-prog-wrapper: Separate from relocatable-prog.
23074         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
23075         uninstall-relocwrapper rule here.
23076         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
23077         Reported by Ian Beckwith <ianb@erislabs.net>.
23078
23079 2010-12-19  Bruno Haible  <bruno@clisp.org>
23080
23081         unistr/u8-mbsnlen: Add missing dependency.
23082         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
23083         Reported by Ian Beckwith <ianb@erislabs.net>.
23084
23085 2010-12-19  Bruno Haible  <bruno@clisp.org>
23086
23087         iconv: Make it possible again to use this module without 'iconv-h'.
23088         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
23089         if it is not defined.
23090         Reported by Ian Beckwith <ianb@erislabs.net>.
23091
23092 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
23093
23094         acl: port to Solaris 8 when copying from tmpfs to ufs
23095         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
23096         error number.  Problem observed on Solaris 8 with latest
23097         coreutils, with "mv A B", where A is on a tmpfs file system and B
23098         is on a ufs file system.  This caused coreutils' mv/part-symlink
23099         test to fail.
23100
23101         tests: set fail=0 at start
23102         * tests/init.sh (setup_): Move fail=0 initialization here ...
23103         (mktempd_): ... from here, so that tests can rely on fail being
23104         set to 0 initially.  This fixes a problem in coreutils; see:
23105         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
23106
23107 2010-12-18  Bruno Haible  <bruno@clisp.org>
23108
23109         memmem-simple: Stylistic changes.
23110         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
23111         Fix preprocessor directive indentation.
23112
23113 2010-12-15  Pádraig Brady <P@draigBrady.com>
23114
23115         memmem, memmem-simple: reorganize and expand empty needle check
23116         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
23117         functional checks to memmem-simple so that one has a fully functional
23118         memmem by using just this module.
23119         Restrict the performance only check to the memmem module.
23120         Also expand the empty needle check to ensure the correct
23121         pointer is returned, not just a non NULL pointer.
23122         * doc/glibc-functions/memmem.texi: Rearrange the portability
23123         documentation to correlate with the rearranged checks.
23124         Clarify exactly how the memmem and memmem-simple modules
23125         relate to each other.
23126
23127 2010-12-15  Pádraig Brady <P@draigBrady.com>
23128             Bruno Haible  <bruno@clisp.org>
23129
23130         Improve cross-compilation guesses for uClibc.
23131         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
23132         that uClibc does not have the glibc bug.
23133         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
23134         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
23135
23136 2010-12-14  Eric Blake  <eblake@redhat.com>
23137
23138         configmake: provide fallbacks for oldest supported autotools
23139         * m4/configmake.m4: New file.
23140         * modules/configmake (Files): Ship it.
23141         (configure.ac): Use it to guarantee fallbacks.
23142
23143 2010-12-13  Pádraig Brady <P@draigBrady.com>
23144
23145         read-file: Improve handling of large files
23146         * lib/read-file.c (fread_file): Minimize realloc()s
23147         for regular files, and better manage sizes around SIZE_MAX.
23148
23149 2010-12-13  Eric Blake  <eblake@redhat.com>
23150
23151         cloexec, fcntl: relax license
23152         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
23153         consent from all contributors.
23154         * modules/fcntl (License): Likewise.
23155
23156 2010-12-10  Bruno Haible  <bruno@clisp.org>
23157
23158         Tests for module 'pipe-posix'.
23159         * modules/pipe-posix-tests: New file.
23160         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
23161
23162 2010-12-10  Bruno Haible  <bruno@clisp.org>
23163
23164         pipe-posix: Make it work in C++ mode.
23165         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
23166         (pipe): Use common idiom, not a macro definition.
23167         * lib/pipe.c: New file.
23168         * m4/pipe.m4: New file.
23169         * modules/pipe-posix (Description): Enhance.
23170         (Files): Add lib/pipe.c, m4/pipe.m4.
23171         (configure.ac): Invoke gl_FUNC_PIPE.
23172         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
23173         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
23174         * tests/test-unistd-c++.cc: Check the signature of pipe.
23175
23176 2010-12-10  Bruno Haible  <bruno@clisp.org>
23177
23178         Rename module 'pipe' to 'spawn-pipe'.
23179         * modules/spawn-pipe: New file, renamed from modules/pipe.
23180         (Files, configure.ac, Makefile.am): Update.
23181         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
23182         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
23183         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
23184         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
23185         "spawn-pipe.h" instead of "pipe.h".
23186         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
23187         to gl_SPAWN_PIPE.
23188         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
23189         (Files, Makefile.am): Update.
23190         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
23191         Update.
23192         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
23193         Include "spawn-pipe.h" instead of "pipe.h".
23194         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
23195         * lib/javacomp.c: Likewise.
23196         * lib/javaversion.c: Likewise.
23197         * lib/pipe-filter-gi.c: Likewise.
23198         * lib/pipe-filter-ii.c: Likewise.
23199         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
23200         * modules/javacomp (Depends-on): Likewise.
23201         * modules/javaversion (Depends-on): Likewise.
23202         * modules/pipe-filter-gi (Depends-on): Likewise.
23203         * modules/pipe-filter-ii (Depends-on): Likewise.
23204         * MODULES.html.sh (Executing programs): Update.
23205         * NEWS: Mention the change.
23206
23207 2010-12-10  Eric Blake  <eblake@redhat.com>
23208
23209         pipe-posix: new module
23210         * modules/pipe-posix: New file.
23211         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
23212         (gl_UNISTD_H): Check for declaration.
23213         * modules/unistd (Makefile.am): Substitute it.
23214         * lib/unistd.in.h (pipe): Provide it for mingw.
23215         * doc/posix-functions/pipe.texi (pipe): Update documentation.
23216         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
23217
23218 2010-12-07  Bruno Haible  <bruno@clisp.org>
23219
23220         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
23221         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
23222         u8_strcmp_gnu.
23223         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
23224
23225 2010-12-06  Bruno Haible  <bruno@clisp.org>
23226
23227         Update internal documentation.
23228         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
23229
23230 2010-12-04  Bruno Haible  <bruno@clisp.org>
23231
23232         Put more information about failed tests into the test return codes.
23233         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
23234         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
23235         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
23236         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
23237         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
23238         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
23239         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
23240         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
23241         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
23242         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
23243         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
23244         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
23245         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
23246         * m4/stdint.m4 (gl_STDINT_H): Likewise.
23247         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
23248         returns a bit mask.
23249         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
23250         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
23251         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
23252         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
23253         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
23254         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
23255         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
23256         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
23257         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
23258         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
23259         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
23260         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
23261         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
23262         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
23263         * m4/link.m4 (gl_FUNC_LINK): Likewise.
23264         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
23265         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
23266         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
23267         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
23268         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
23269         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
23270         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
23271         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
23272         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
23273         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
23274         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
23275         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
23276         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
23277         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
23278         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
23279         gl_PRINTF_PRECISION): Likewise.
23280         * m4/regex.m4 (gl_REGEX): Likewise.
23281         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
23282         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
23283         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
23284         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
23285         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
23286         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
23287         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
23288         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
23289         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
23290         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
23291         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
23292         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
23293         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
23294         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
23295         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
23296         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
23297         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
23298         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
23299         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
23300         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
23301         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
23302         enumerated value.
23303         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
23304
23305 2010-12-04  Bruno Haible  <bruno@clisp.org>
23306
23307         Update for Solaris 11 2010-11.
23308         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
23309         Express, released in November 2010.
23310
23311 2010-12-04  Bruno Haible  <bruno@clisp.org>
23312
23313         nproc: Relax license.
23314         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
23315         and Paul Eggert.
23316         Requested by Ludovic Courtès <ludo@gnu.org>.
23317
23318 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
23319
23320         utimecmp: fine-grained src to nearby coarse-grained dest
23321
23322         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
23323         and the source is on a file system with higher-resolution time
23324         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
23325         not work, and the time stamps are close together, the algorithm to
23326         determine the exact resolution from the read-back mtime was buggy:
23327         it had a "!=" where it should have had an "==".  This bug has been
23328         in the code ever since it was introduced to gnulib.
23329         Problem reported by Dan Jacobson in
23330         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
23331
23332 2010-11-30  Bruno Haible  <bruno@clisp.org>
23333
23334         strerror_r-posix: Fix autoconf test.
23335         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
23336
23337 2010-11-28  Bruno Haible  <bruno@clisp.org>
23338             Paul Eggert  <eggert@cs.ucla.edu>
23339
23340         Tests for module 'getdomainname'.
23341         * modules/getdomainname-tests: New file.
23342         * tests/test-getdomainname.c: New file, based on
23343         tests/test-gethostname.c.
23344
23345 2010-11-28  Bruno Haible  <bruno@clisp.org>
23346             Paul Eggert  <eggert@cs.ucla.edu>
23347
23348         getdomainname: Use the system function when possible.
23349         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
23350         (getdomainname): Replace if needed. Provide the declaration if it is
23351         missing. Don't use _GL_CXXALIAS_SYS_CAST.
23352         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
23353         (getdomainname): When the system has getdomainname, call the system
23354         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
23355         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
23356         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
23357         found in libnsl. Look for the declaration also in <netdb.h>. Replace
23358         the function if its second argument is of type 'int' or if it is found
23359         in libnsl.
23360         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
23361         <sys/systeminfo.h> and sysinfo().
23362         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
23363         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
23364         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
23365         HAVE_GETDOMAINNAME.
23366         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
23367         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
23368         * doc/glibc-functions/getdomainname.texi: Document the problems with
23369         the getdomainname declaration.
23370
23371 2010-11-28  Bruno Haible  <bruno@clisp.org>
23372
23373         sys_socket: Ensure ss_family field on AIX.
23374         * lib/sys_socket.in.h (ss_family): New macro definition.
23375         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
23376         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
23377         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
23378         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
23379         * modules/sys_socket (Makefile.am): Substitute
23380         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
23381         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
23382
23383 2010-11-27  Bruno Haible  <bruno@clisp.org>
23384
23385         readline: Improve configure output.
23386         * m4/readline.m4 (gl_FUNC_READLINE): Make the
23387         "checking for readline..." result understandable.
23388
23389 2010-11-27  Bruno Haible  <bruno@clisp.org>
23390
23391         *printf-posix: Detect a bug on Solaris 10/x86.
23392         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
23393         for floating-point output.
23394         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
23395         directive.
23396         * tests/test-snprintf-posix.h (test_function): Likewise.
23397         * tests/test-sprintf-posix.h (test_function): Likewise.
23398         * tests/test-vasprintf-posix.c (test_function): Likewise.
23399         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
23400         * doc/posix-functions/printf.texi: Likewise.
23401         * doc/posix-functions/snprintf.texi: Likewise.
23402         * doc/posix-functions/sprintf.texi: Likewise.
23403         * doc/posix-functions/vfprintf.texi: Likewise.
23404         * doc/posix-functions/vprintf.texi: Likewise.
23405         * doc/posix-functions/vsnprintf.texi: Likewise.
23406         * doc/posix-functions/vsprintf.texi: Likewise.
23407         * doc/glibc-functions/obstack_printf.texi: Likewise.
23408         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
23409
23410 2010-11-27  Bruno Haible  <bruno@clisp.org>
23411
23412         Fix link error when module libunistring-optional is in use.
23413         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
23414         * modules/striconveha-tests (Makefile.am): Likewise.
23415
23416 2010-11-27  Bruno Haible  <bruno@clisp.org>
23417
23418         regex: Mention link dependencies.
23419         * modules/regex (Link): New section.
23420         * modules/rpmatch (Link): Likewise.
23421         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
23422
23423 2010-11-27  Bruno Haible  <bruno@clisp.org>
23424
23425         ftoastr: Fix compilation error on Solaris.
23426         * lib/ftoastr.c: Include <config.h>.
23427
23428 2010-11-27  Bruno Haible  <bruno@clisp.org>
23429
23430         getloadavg: Update documentation.
23431         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
23432
23433 2010-11-27  Bruno Haible  <bruno@clisp.org>
23434
23435         sys_socket: Fix test whether the functions are declared.
23436         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
23437         not <sys/select.h>.
23438
23439 2010-11-27  Bruno Haible  <bruno@clisp.org>
23440
23441         getpass: Make sure to get system declaration on some platforms.
23442         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
23443         gl_USE_SYSTEM_EXTENSIONS.
23444         * modules/getpass (Depends-on): Add extensions.
23445
23446 2010-11-26  Bruno Haible  <bruno@clisp.org>
23447
23448         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
23449         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
23450         'iconv' module is present.
23451         (ICONV_CONST): New macro.
23452         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
23453         ICONV_CONST.
23454         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
23455         set ICONV_CONST.
23456         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
23457         here.
23458         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
23459         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
23460         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
23461         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
23462         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
23463         present.
23464
23465 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
23466
23467         ftoastr: comment fix
23468         * lib/ftoastr.c: "little" -> "little or no" in comment
23469
23470 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
23471
23472         stdint: port to GCC 4.3 + OSX + Octave
23473         On this platform, stdint.h is buggy and defines int64_t to long
23474         long int.  The replacement defined it to long int, causing
23475         problems with C++ style name mangling.  Instead, trust the system
23476         definition if INT64_MAX is defined, and likewise for the unsigned
23477         variant.   Problem reported by Jarno Rajahalme in
23478         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
23479         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
23480         and don't mess with int64_t and INT64_MAX in this case.
23481         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
23482
23483 2010-11-24  Bruno Haible  <bruno@clisp.org>
23484
23485         doc: Corrections regarding MacOS X 10.4 and 10.5.
23486         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
23487         MacOS X.
23488         Reported by Simon Josefsson.
23489
23490 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
23491
23492         Uninstall ".bin" files installed by relocwrapper.
23493         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
23494         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
23495         unless it is already there.
23496
23497 2010-11-21  Bruno Haible  <bruno@clisp.org>
23498
23499         Update for NetBSD 5.0.
23500         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
23501         NetBSD; the test fails on NetBSD 5.0.
23502         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
23503         about NetBSD.
23504
23505 2010-11-21  Bruno Haible  <bruno@clisp.org>
23506
23507         Update for HP-UX 11.23 and HP-UX 11.31.
23508         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
23509         HP-UX.
23510
23511 2010-11-21  Bruno Haible  <bruno@clisp.org>
23512
23513         Update for MacOS X 10.5.
23514         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
23515         MacOS X; the test fails on MacOS X 10.5.8.
23516         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
23517         about MacOS X.
23518
23519 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
23520
23521         bootstrap: add bootstrap_sync option.
23522         See discussion at
23523         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
23524         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
23525         * build-aux/bootstrap: Accept --bootstrap-sync to update
23526         bootstrap if it is not identical to the local gnulib's
23527         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
23528         enable this by default.  Accept --no-bootstrap-sync to disable
23529         it.
23530
23531 2010-11-20  Bruno Haible  <bruno@clisp.org>
23532
23533         Ensure that <features.h> is included before __GLIBC__ is tested.
23534         * lib/printf-parse.h: Include <features.h>.
23535         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
23536         Reported by Mike Frysinger <vapier@gentoo.org>.
23537
23538         Ensure that <features.h> is included before __GLIBC__ is tested.
23539         * lib/wchar.in.h: Include <features.h>.
23540         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
23541         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
23542         Reported by Mike Frysinger <vapier@gentoo.org>.
23543
23544         Ensure that <features.h> is included before __GLIBC__ is tested.
23545         * lib/arpa_inet.in.h: Include <features.h>.
23546         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
23547         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
23548         Reported by Mike Frysinger <vapier@gentoo.org>.
23549
23550         Ensure that <features.h> is included before __GLIBC__ is tested.
23551         * build-aux/link-warning.h: Include <features.h>.
23552         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
23553         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
23554         Reported by Mike Frysinger <vapier@gentoo.org>.
23555
23556         Ensure that <features.h> is included before __GLIBC__ is tested.
23557         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
23558         Reported by Mike Frysinger <vapier@gentoo.org>.
23559
23560 2010-11-20  Bruno Haible  <bruno@clisp.org>
23561
23562         memmem: Fix autoconf test.
23563         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
23564
23565 2010-11-20  Bruno Haible  <bruno@clisp.org>
23566
23567         Port to uClibc.
23568         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
23569         * lib/fcntl.in.h: Likewise.
23570         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
23571         * lib/mbrtowc.c (mbrtowc): Likewise.
23572         * lib/relocatable.c (find_shared_library_fullname): Likewise.
23573         * lib/strerror_r.c: Likewise.
23574         * lib/unistr/u8-strnlen.c: Likewise.
23575         * lib/vasnprintf.c (decimal_point_char): Likewise.
23576         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
23577         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
23578         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
23579         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
23580         * tests/test-sigaction.c (handler, main): Likewise.
23581         * lib/freading.h: Treat uClibc like a non-glibc platform.
23582         * lib/freading.c: Likewise.
23583         * lib/gettext.h: Likewise.
23584         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
23585         Likewise.
23586         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
23587         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
23588         * lib/propername.c (proper_name_utf8): Likewise.
23589         * lib/spawn.in.h: Likewise.
23590         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
23591         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
23592         mem_cd_iconveh_internal): Likewise.
23593         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
23594         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
23595         strstr, strcasestr): Likewise.
23596         * lib/unicodeio.c (unicode_to_mb): Likewise.
23597         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
23598         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
23599         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
23600         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
23601         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
23602         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
23603         * lib/unistr/u8-stpncpy.c: Likewise.
23604         * lib/vasnprintf.c (VASNPRINTF): Likewise.
23605         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
23606         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
23607         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
23608         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
23609         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
23610         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
23611         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
23612         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
23613         Likewise.
23614         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
23615         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
23616         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
23617         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
23618         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
23619         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
23620         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
23621         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
23622         * tests/test-getopt.h (OPTIND_MIN): Likewise.
23623         * tests/test-striconveha.c (main): Likewise.
23624         * tests/test-vasnprintf-posix.c (test_function): Likewise.
23625         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
23626         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
23627         * doc/posix-functions/getline.texi: Likewise.
23628         Reported by Mike Frysinger <vapier@gentoo.org>.
23629
23630 2010-11-20  Bruno Haible  <bruno@clisp.org>
23631
23632         nproc: Fix condition.
23633         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
23634         HAVE_PTHREAD_AFFINITY_NP.
23635
23636 2010-11-20  Bruno Haible  <bruno@clisp.org>
23637
23638         Fix a comment.
23639         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
23640
23641 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
23642
23643         ftoastr: don't assume snprintf
23644         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
23645         Implement a subset of snprintf here, by using sprintf safely.
23646         * modules/ftoastr (Depends-on): Remove snprintf.
23647
23648 2010-11-19  Jim Meyering  <meyering@redhat.com>
23649
23650         test-rename.h: fix compilation failure
23651         * tests/test-rename.h (test_rename): Add omitted "}".
23652
23653 2010-11-17  Jim Meyering  <meyering@redhat.com>
23654
23655         maint.mk: add a URL discussing the no-@acronym policy
23656         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
23657
23658 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
23659
23660         ftoastr: depend on snprintf, improve comments
23661         * lib/ftoastr.c: Also mention Loitsch's draft.
23662         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
23663         needed in the current implementation, but it might simplify
23664         speeding up the code later.
23665         * modules/ftoastr: Depend on snprintf; this improves portability.
23666         Suggested by Bruno Haible in the same email.
23667
23668         ftoastr: port to hosts lacking strtof and strtold
23669         Problem reported by Bruno Haible in
23670         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
23671         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
23672         environment and strtold (and presumably strtof) are not available.
23673         * modules/ftoastr (Files): Add m4/c-strtod.m4.
23674         (configure.ac): Require gl_C99_STRTOLD.
23675
23676 2010-11-18  Bruno Haible  <bruno@clisp.org>
23677
23678         c-strtold: Avoid link error on AIX 7.
23679         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
23680         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
23681         (gl_C_STRTOLD): Test whether strtold_l exists.
23682         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
23683
23684 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
23685
23686         intprops: new macro INT_BITS_STRLEN_BOUND
23687         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
23688         ftoastr.h.  This exposes an internal of intprops.h that was formerly
23689         not exposed.  Also, it uses a slightly tighter bound than before;
23690         though this makes no practical difference, we might as well be as
23691         tight as we easily can.
23692
23693         ftoastr: new module, for lossless conversion of floats to short strings
23694         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
23695         * modules/ftoastr: New files.
23696
23697 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
23698
23699         bootstrap: port to Solaris sed
23700         * build-aux/bootstrap (get_version): Port to Solaris sed.
23701         See Ralf Wildenhues's note in
23702         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
23703
23704 2010-11-14  Jim Meyering  <meyering@redhat.com>
23705
23706         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
23707         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
23708         and move definition closer to sole use.
23709
23710 2010-11-13  Jim Meyering  <meyering@redhat.com>
23711
23712         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
23713         Now we require at least autoconf-2.59, which means the work-around
23714         is no longer needed.
23715         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
23716         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
23717         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
23718         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
23719         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
23720
23721 2010-11-13  Bruno Haible  <bruno@clisp.org>
23722
23723         rename, renameat: Avoid test failures at NFS mounted locations.
23724         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
23725         functions.
23726         (test_rename): Use assert_nonexistent.
23727         * tests/test-rename.c: Include <dirent.h>.
23728         * tests/test-renameat.c: Likewise.
23729         Reported by Gary V. Vaughan <gary@gnu.org>.
23730
23731         rename, renameat: Document Linux bug with NFS
23732         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
23733         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
23734         * doc/posix-functions/renameat.texi: Likewise.
23735         Suggested by Eric Blake.
23736
23737 2010-11-13  Bruno Haible  <bruno@clisp.org>
23738
23739         rename test: Add comments.
23740         * tests/test-rename.h (test_rename): Add structure and comments.
23741
23742 2010-11-13  Eric Blake  <eblake@redhat.com>
23743
23744         maintainer-makefile: cover a few more files
23745         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
23746         scripts generated within C files, for libvirt.
23747
23748 2010-11-13  Bruno Haible  <bruno@clisp.org>
23749
23750         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
23751         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
23752         character, return the number of bytes that belong together, not always
23753         1.
23754         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
23755         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
23756         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
23757         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
23758         number of bytes of an invalid character.
23759         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
23760         (main): Invoke it.
23761         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
23762         results.
23763         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
23764         malformed byte sequences.
23765         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
23766         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
23767         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
23768         Reported by Ben Pfaff and Paolo Bonzini.
23769
23770 2010-11-13  Bruno Haible  <bruno@clisp.org>
23771
23772         openat: Work around glibc bug with fchownat() and empty file names.
23773         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
23774         (gl_FUNC_FCHOWNAT): Invoke it.
23775         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
23776         * doc/posix-functions/fchownat.texi: Document the glibc bug.
23777         Reported by Gary V. Vaughan <gary@gnu.org>.
23778
23779 2010-11-13  Bruno Haible  <bruno@clisp.org>
23780
23781         openat: Ensure autoconf macro ordering.
23782         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
23783         gl_USE_SYSTEM_EXTENSIONS.
23784         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
23785
23786 2010-11-13  Bruno Haible  <bruno@clisp.org>
23787
23788         Update comments.
23789         * lib/unistr/u8-check.c: Update file name in comments.
23790         * lib/unistr/u8-mblen.c: Likewise.
23791         * lib/unistr/u8-prev.c: Likewise.
23792         * lib/unistr/u8-strmblen.c: Likewise.
23793         * lib/unistr/u8-strmbtouc.c: Likewise.
23794
23795 2010-11-13  Jim Meyering  <meyering@redhat.com>
23796
23797         tests: avoid test failure on Solaris 10 due to lack of PATH export
23798         * tests/test-update-copyright.sh: Don't forget to export PATH.
23799
23800         init.sh: ensure that IFS is defined, just in case...
23801         * tests/init.sh (setup_): Ensure that IFS is defined,
23802         so that saving and restoring it works as expected.  This
23803         appears to be useful at least for an old version of dash
23804         from a long time ago (RH 6).  See here for details:
23805         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
23806
23807         maint.mk: tighten "test a == b" check
23808         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
23809         test to files that contain something like #!/bin/sh.
23810         Without this, coreutils would get two false positives in
23811         the comments of C source files.
23812
23813 2010-11-12  Eric Blake  <eblake@redhat.com>
23814
23815         bootstrap: fix typo in previous attempt
23816         * build-aux/bootstrap (buildreq): Correct the grouping.
23817         Reported by Paul Eggert.
23818
23819         maintainer-makefile: prohibit test x == x
23820         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
23821         Based on a report by Matthias Bolte.
23822
23823         bootstrap: allow FreeBSD gzip
23824         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
23825         which has no '.' and goes to stderr.
23826         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
23827         Reported by Matthias Bolte.
23828
23829         maintainer-makefile: check for i18n setup
23830         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
23831         will likely work.
23832
23833 2010-11-12  Bruno Haible  <bruno@clisp.org>
23834
23835         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
23836         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
23837         * lib/nanosleep.c (nanosleep): Likewise.
23838
23839 2010-11-11  Bruno Haible  <bruno@clisp.org>
23840
23841         fcntl-h: Fix for use of C++ on glibc systems.
23842         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
23843         also on glibc systems in C++ mode.
23844         Reported by Gary V. Vaughan <gary@gnu.org>.
23845
23846 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
23847
23848         mknod: avoid false failure with dash
23849         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
23850
23851 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
23852
23853         unlink: Fix "is it should" typo in diagnostic.
23854         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
23855         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
23856
23857 2010-11-11  Bruno Haible  <bruno@clisp.org>
23858
23859         Tests for module 'strerror_r-posix'.
23860         * modules/strerror_r-posix-tests: New file.
23861         * tests/test-strerror_r.c: New file.
23862         * tests/test-string-c++.cc: Check the signature of strerror_r.
23863
23864         New module 'strerror_r-posix'.
23865         * lib/string.in.h (strerror_r): New declaration.
23866         * lib/strerror_r.c: New file.
23867         * m4/strerror_r.m4: New file.
23868         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
23869         of strerror_r.
23870         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
23871         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
23872         * modules/strerror_r-posix: New file.
23873         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
23874         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
23875         * doc/posix-functions/strerror_r.texi: Mention the new module and the
23876         portability problems.
23877
23878 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
23879
23880         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
23881         line is also considered for output. Quoted function name in shell
23882         command, so temporary files for functions like MyClass::operator()
23883         are removed correctly without errors.
23884
23885 2010-11-09  Bruno Haible  <bruno@clisp.org>
23886
23887         * doc/posix-functions/strerror.texi: List more failing platforms.
23888
23889         * doc/posix-functions/strerror.texi: Add a comment.
23890
23891 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
23892
23893         fdopendir: fix bug on MacOS X when low on file descriptors
23894
23895         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
23896         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
23897         All callers changed.
23898         (fdopendir): Invoke save_cwd at the top level, not after using
23899         multiple dup() calls to use up file descriptors.  Then retry
23900         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
23901         less than the maximum number of open file descriptors, because
23902         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
23903         on Mac OS X 10.6.4 for tar 1.24
23904         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
23905         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
23906         and for tar 1.25
23907         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
23908
23909 2010-11-07  Bruno Haible  <bruno@clisp.org>
23910
23911         vasnprintf: Support I flag on glibc systems.
23912         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
23913         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
23914         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
23915         snprintf function.
23916         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
23917         glibc systems.
23918         * tests/test-vasnprintf-posix3.c: New file.
23919         * modules/vasnprintf-posix-tests (Files): Add it.
23920         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
23921
23922 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
23923
23924         [html] Fix copy/paste bug: Use unique name for compiler warnings.
23925         * MODULES.html.sh: For compiler warnings, use name
23926         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
23927
23928 2010-11-05  Eric Blake  <eblake@redhat.com>
23929
23930         ceil, floor: avoid spurious failure with icc
23931         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
23932         [denormals-as-zero] when optimizing without -mieee-fp option.
23933         * tests/test-floorf2.c (floorf_reference): Likewise.
23934         * tests/test-ceilf1.c (dummy): New function.
23935         (main): Use it to outsmart icc's optimization.
23936         * tests/test-floorf1.c (dummy, main): Likewise.
23937
23938         tests: require working signbit
23939         * modules/ceilf-tests (Depends-on): Add signbit.
23940         * modules/ceill-tests (Depends-on): Likewise.
23941         * modules/floorf-tests (Depends-on): Likewise.
23942         * modules/floorl-tests (Depends-on): Likewise.
23943         * modules/round-tests (Depends-on): Likewise.
23944         * modules/roundf-tests (Depends-on): Likewise.
23945         * modules/roundl-tests (Depends-on): Likewise.
23946         * modules/trunc-tests (Depends-on): Likewise.
23947         * modules/truncf-tests (Depends-on): Likewise.
23948         * modules/truncl-tests (Depends-on): Likewise.
23949
23950         strtod: work around icc bug
23951         * lib/strtod.c (minus_zero): Define to working value.
23952         (strtod): Use it to avoid icc bug.
23953
23954         copysign: enhance tests
23955         * modules/copysign-tests (Files): Add minus-zero.h.
23956         * tests/test-copysign.c (main): Also test zeros.
23957
23958 2010-11-04  Eric Blake  <eblake@redhat.com>
23959
23960         ceil, floor, round, trunc: enhance tests of -0
23961         * tests/test-ceilf1.c (main): Ensure correct sign of result.
23962         * tests/test-ceill.c (main): Likewise.
23963         * tests/test-floorf1.c (main): Likewise.
23964         * tests/test-floorl.c (main): Likewise.
23965         * tests/test-round1.c (main): Likewise.
23966         * tests/test-roundf1.c (main): Likewise.
23967         * tests/test-roundl.c (main): Likewise.
23968         * tests/test-trunc1.c (main): Likewise.
23969         * tests/test-truncf1.c (main): Likewise.
23970         * tests/test-truncl.c (main): Likewise.
23971
23972 2010-11-04  Eric Blake  <eblake@redhat.com>
23973
23974         frexp, tests: work around ICC bug with -zero
23975         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
23976         works with more compilers.
23977         * tests/minus-zero.h: New file.
23978         * modules/ceilf-tests (Files): Include it.
23979         * modules/ceill-tests (Files): Likewise.
23980         * modules/floorf-tests (Files): Likewise.
23981         * modules/floorl-tests (Files): Likewise.
23982         * modules/frexp-nolibm-tests (Files): Likewise.
23983         * modules/frexp-tests (Files): Likewise.
23984         * modules/frexpl-nolibm-tests (Files): Likewise.
23985         * modules/frexpl-tests (Files): Likewise.
23986         * modules/isnan-tests (Files): Likewise.
23987         * modules/isnand-nolibm-tests (Files): Likewise.
23988         * modules/isnand-tests (Files): Likewise.
23989         * modules/isnanf-nolibm-tests (Files): Likewise.
23990         * modules/isnanf-tests (Files): Likewise.
23991         * modules/isnanl-nolibm-tests (Files): Likewise.
23992         * modules/isnanl-tests (Files): Likewise.
23993         * modules/round-tests (Files): Likewise.
23994         * modules/roundf-tests (Files): Likewise.
23995         * modules/roundl-tests (Files): Likewise.
23996         * modules/ldexpl-tests (Files): Likewise.
23997         * modules/signbit-tests (Files): Likewise.
23998         * modules/snprintf-posix-tests (Files): Likewise.
23999         * modules/sprintf-posix-tests (Files): Likewise.
24000         * modules/strtod-tests (Files): Likewise.
24001         * modules/trunc-tests (Files): Likewise.
24002         * modules/truncf-tests (Files): Likewise.
24003         * modules/truncl-tests (Files): Likewise.
24004         * modules/vsnprintf-posix-tests (Files): Likewise.
24005         * modules/vsprintf-posix-tests (Files): Likewise.
24006         * modules/vasnprintf-posix-tests (Files): Likewise.
24007         * modules/vasprintf-posix-tests (Files): Likewise.
24008         * tests/test-ceilf1.c (main): Use it.
24009         * tests/test-ceill.c (main): Likewise.
24010         * tests/test-floorf1.c (main): Likewise.
24011         * tests/test-floorl.c (main): Likewise.
24012         * tests/test-frexp.c (main): Likewise.
24013         * tests/test-frexpl.c (main): Likewise.
24014         * tests/test-isnan.c (main): Likewise.
24015         * tests/test-isnand.h (main): Likewise.
24016         * tests/test-isnanf.h (main): Likewise.
24017         * tests/test-isnanl.h (main): Likewise.
24018         * tests/test-ldexpl.c (main): Likewise.
24019         * tests/test-round.c (main): Likewise.
24020         * tests/test-roundf.c (main): Likewise.
24021         * tests/test-roundl.c (main): Likewise.
24022         * tests/test-signbit.c (test_signbitf, test_signbitd)
24023         (test_signbitl): Likewise.
24024         * tests/test-snprintf-posix.h (test_function): Likewise.
24025         * tests/test-sprintf-posix.h (test_function): Likewise.
24026         * tests/test-strtod.c (main): Likewise.
24027         * tests/test-trunc1.c (main): Likewise.
24028         * tests/test-truncf1.c (main): Likewise.
24029         * tests/test-truncl.c (main): Likewise.
24030
24031         isnanl: work around icc bug
24032         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
24033
24034 2010-11-03  Eric Blake  <eblake@redhat.com>
24035
24036         tests: fix compiler warnings
24037         * tests/test-getopt.h (test_getopt): Fix condition.
24038         * tests/test-getopt_long.h (test_getopt_long): Likewise.
24039         * tests/test-pipe2.c (main): Likewise.
24040         * tests/test-quotearg-simple.c (main): Avoid icc warning.
24041
24042         utimens: fix broken m4 test
24043         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
24044
24045 2010-10-28  Bruno Haible  <bruno@clisp.org>
24046
24047         posix_spawn*, getdtablesize: Relax license.
24048         * modules/posix_spawn (License): Change to LGPLv2+.
24049         * modules/posix_spawnp (License): Likewise.
24050         * modules/posix_spawn-internal (License): Likewise.
24051         * modules/posix_spawnattr_init (License): Likewise.
24052         * modules/posix_spawnattr_getflags (License): Likewise.
24053         * modules/posix_spawnattr_setflags (License): Likewise.
24054         * modules/posix_spawnattr_getpgroup (License): Likewise.
24055         * modules/posix_spawnattr_setpgroup (License): Likewise.
24056         * modules/posix_spawnattr_getschedparam (License): Likewise.
24057         * modules/posix_spawnattr_setschedparam (License): Likewise.
24058         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
24059         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
24060         * modules/posix_spawnattr_getsigdefault (License): Likewise.
24061         * modules/posix_spawnattr_setsigdefault (License): Likewise.
24062         * modules/posix_spawnattr_getsigmask (License): Likewise.
24063         * modules/posix_spawnattr_setsigmask (License): Likewise.
24064         * modules/posix_spawnattr_destroy (License): Likewise.
24065         * modules/posix_spawn_file_actions_init (License): Likewise.
24066         * modules/posix_spawn_file_actions_addclose (License): Likewise.
24067         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
24068         * modules/posix_spawn_file_actions_addopen (License): Likewise.
24069         * modules/posix_spawn_file_actions_destroy (License): Likewise.
24070         * modules/getdtablesize (License): Likewise.
24071         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
24072
24073 2010-10-26  Bruno Haible  <bruno@clisp.org>
24074
24075         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
24076         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
24077         Cygwin and mingw.
24078         Suggested by Eric Blake.
24079
24080 2010-10-26  Bruno Haible  <bruno@clisp.org>
24081
24082         stdio: Work around compilation error due to renameat() on Solaris 10.
24083         * lib/stdio.in.h: Include <unistd.h> on Solaris.
24084         * lib/renameat.c: Don't include <unistd.h> here.
24085         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
24086         Reported by Paul Eggert and Eric Blake.
24087
24088 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
24089
24090         renameat: port to Solaris 10, which declares renameat in unistd.h
24091
24092         * lib/renameat.c: Include unistd.h before stdio.h, because
24093         Solaris 10 declares renameat in unistd.h.  Problem encountered
24094         when building GNU tar 1.24 on Solaris 10.
24095
24096 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
24097
24098         fdopendir: fix C89 compilation
24099         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
24100         compilers.
24101
24102 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
24103
24104         inttostr: simplify by removing unnecessary redundancy
24105         * lib/anytostr.c: Don't include verify.h.
24106         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
24107         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
24108         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
24109         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
24110         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
24111         Likewise.
24112         * modules/inttostr (Depends-on): Remove 'verify'.
24113
24114 2010-10-23  Bruno Haible  <bruno@clisp.org>
24115
24116         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
24117         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
24118         Reported by Eric Blake.
24119
24120 2010-10-23  Bruno Haible  <bruno@clisp.org>
24121
24122         Tests: Fix LOCALE_JA on MirBSD 10.
24123         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
24124         to an UTF-8 locale.
24125         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
24126         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
24127         Reported by Eric Blake.
24128
24129 2010-10-21  Bruno Haible  <bruno@clisp.org>
24130
24131         nl_langinfo test: Avoid test failure on NetBSD 5.
24132         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
24133         Reported by Eric Blake.
24134
24135 2010-10-21  Eric Blake  <eblake@redhat.com>
24136
24137         c-stack: work around libsigsegv 2.8 bug
24138         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
24139         overflow on at least PowerPC64.
24140
24141 2010-10-17  Bruno Haible  <bruno@clisp.org>
24142
24143         userspec: Drop redundant file.
24144         * modules/userspec (Files): Remove lib/inttostr.h.
24145
24146 2010-10-17  Bruno Haible  <bruno@clisp.org>
24147
24148         nl_langinfo tests: Silence some warnings.
24149         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
24150         Reported by Jim Meyering.
24151
24152 2010-10-17  Bruno Haible  <bruno@clisp.org>
24153
24154         Make use of GCC's attribute __alloc_size__.
24155         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
24156         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
24157         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
24158         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
24159         __alloc_size__.
24160         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
24161         Suggested by Jim Meyering.
24162
24163 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
24164
24165         bootstrap: anchor .gitignore entries.
24166         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
24167         with...
24168         (insert_vc_ignore): ... this new function, which prepends `/' to
24169         all .gitignore entries before passing them to
24170         insert_sorted_if_absent.
24171
24172 2010-10-16  Bruno Haible  <bruno@clisp.org>
24173
24174         nextafter: Fix configure check.
24175         * modules/nextafter (configure.ac): Correct expected prototype.
24176
24177 2010-10-16  Bruno Haible  <bruno@clisp.org>
24178
24179         termios: Update documentation.
24180         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
24181
24182 2010-10-16  Bruno Haible  <bruno@clisp.org>
24183
24184         tests: Make them compile with TinyCC.
24185         * tests/test-strstr.c (main): Remove parentheses around array
24186         initializer.
24187
24188 2010-10-15  Eric Blake  <eblake@redhat.com>
24189
24190         ignore-value: make header idempotent
24191         * lib/ignore-value.h: Add double-inclusion guards.
24192         Reported by Stefan Berger.
24193
24194 2010-10-15  Jim Meyering  <meyering@redhat.com>
24195
24196         GNUmakefile: handle "stable" target, not "major"
24197         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
24198         lists in maint.mk and announce-gen.  Without this, "make stable"
24199         would fail to ensure that $(VERSION) is up to date.
24200
24201 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
24202
24203         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
24204         & co.
24205
24206 2010-10-14  Bruno Haible  <bruno@clisp.org>
24207
24208         vasnprintf: Don't set errno to 0.
24209         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
24210         block that sets it to 0.
24211         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
24212
24213 2010-10-14  Bruno Haible  <bruno@clisp.org>
24214
24215         socketlib: Fix.
24216         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
24217         gl_PREREQ_SYS_H_WINSOCK2.
24218         Reported by Ian Beckwith <ianb@erislabs.net>.
24219
24220 2010-10-13  Jim Meyering  <meyering@redhat.com>
24221
24222         test-select-stdin.c: avoid warn_unused_result warnings
24223         * tests/test-select-stdin.c: Include "macros.h".
24224         ASSERT that read and fflush succeed.
24225
24226 2010-10-13  Jim Meyering  <meyering@redhat.com>
24227
24228         git-version-gen: do require git-VC'd files in cwd
24229         * build-aux/git-version-gen: Reject a git version string
24230         if there are no commits associated with the current directory.
24231         This avoids an unlikely false-positive (unrelated dir whose parent
24232         repository also contains a tag matching v*), as pointed out
24233         by Giuseppe Scrivano in
24234         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
24235
24236 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
24237
24238         argv-iter: omit nonconforming declaration
24239         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
24240         enum arg_iter_err declaration, which doesn't conform to C99.
24241         Solaris 10 cc warns about this.
24242
24243 2010-10-13  Eric Blake  <eblake@redhat.com>
24244
24245         termios: fix compilation on mingw
24246         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
24247         (gl_TERMIOS_H): Adjust it on mingw.
24248         * modules/termios (Makefile.am): Substitute new key.
24249         * lib/termios.in.h (includes): Make include_next conditional.
24250         * doc/posix-headers/termios.texi (termios.h): Update
24251         documentation.
24252         Reported by Daniel P. Berrange.
24253
24254 2010-10-13  Jim Meyering  <meyering@redhat.com>
24255
24256         git-version-gen: don't require that .git/ be in the current dir
24257         * build-aux/git-version-gen: Adjust this script so that it works
24258         when run from any working directory beneath the top-level .git/-
24259         containing directory.  Inspired by a patch from Giuseppe Scrivano,
24260         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
24261
24262         test-select: avoid warn_unused_result warnings
24263         * tests/test-select.c: Include "macros.h".
24264         ASSERT that each call to read, write, and pipe succeeds.
24265         While not technically required, also check each "close".
24266         * modules/select-tests (Files): Add tests/macros.h.
24267
24268         test-symlinkat: remove declaration of unused local
24269         * tests/test-symlinkat.c (main): Remove unused local, "buf".
24270
24271         test-inttostr: avoid shadowing warnings
24272         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
24273         and use malloc rather than the stack for the same reason as
24274         mentioned in the comment justifying the other allocation.
24275
24276 2010-10-11  Bruno Haible  <bruno@clisp.org>
24277
24278         stdlib: Allow multiple gnulib generated replacements to coexist.
24279         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
24280         Reported by Sam Steingold <sds@gnu.org>.
24281
24282 2010-10-11  Jim Meyering  <meyering@redhat.com>
24283
24284         fix a documentation typo
24285         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
24286
24287 2010-10-11  Eric Blake  <eblake@redhat.com>
24288
24289         futimens: work around Solaris 11 bug
24290         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
24291         * tests/test-futimens.h (test_futimens): Enhance, rather than
24292         weaken test.
24293         * doc/posix-functions/futimens.texi (futimens): Document the bug.
24294
24295 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
24296
24297         Indentation.
24298         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
24299         higher-level operators more to the left.
24300
24301 2010-10-11  Jim Meyering  <meyering@redhat.com>
24302
24303         test-futimens: avoid unwarranted test failure on Solaris 5.11
24304         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
24305         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
24306         because it tries to dereference the NULL name argument.
24307
24308 2010-10-11  Bruno Haible  <bruno@clisp.org>
24309
24310         Indentation.
24311         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
24312         indentation.
24313
24314 2010-10-11  Jim Meyering  <meyering@redhat.com>
24315
24316         spawn.in.h: make indentation consistent with parentheses
24317         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
24318         Make indentation consistent with parentheses.
24319
24320 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
24321
24322         Fix mismatched parens in previous commit
24323         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
24324         parens.
24325
24326 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
24327
24328         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
24329
24330         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
24331         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
24332         * lib/malloca.c: Include "verify.h".
24333         (verify1): Remove, replacing with a verify call.
24334         * lib/relocwrapper.c (verify1): Likewise.
24335         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
24336         Likewise.
24337         * modules/malloca (Depends-on): Add 'verify'.
24338         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
24339         * modules/vasnprintf (Depends-on): Add 'verify'.
24340         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
24341         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
24342         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
24343         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
24344         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
24345         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
24346         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
24347
24348         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
24349
24350         Formerly the style was sometimes 2*X - 1, because the C standard
24351         was wrongly thought to disallow ?: in integral constant expressions.
24352         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
24353         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
24354         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
24355         * lib/stdint.in.h (_verify_intmax_size): Likewise.
24356         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
24357         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
24358         verify that time_t cannot be floating.
24359
24360 2010-10-08  Eric Blake  <eblake@redhat.com>
24361
24362         time: enforce recent POSIX ruling that time_t is integral
24363         * lib/time.in.h (__time_t_must_be_integral): Detect any
24364         problematic systems, allowing the rest of gnulib to assume POSIX.
24365
24366 2010-10-08  Jim Meyering  <meyering@redhat.com>
24367
24368         fdopendir: fix a bug on systems lacking openat and /proc support
24369         OpenBSD 4.7 is one such system.  The most noticeable effect was
24370         failure of any application making nontrivial use of fts: rm, du,
24371         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
24372           ./rm: traversal failed: `a': Bad file descriptor
24373         Debugging that, you see that even though FD 6 was closed just
24374         prior to the opendir call in fd_clone_opendir, its resulting
24375         dir->dd_fd was 8, rather than the expected value of 6:
24376
24377         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
24378         93                close (fd);
24379         (gdb) n
24380         94                dir = fd_clone_opendir (dupfd);
24381         (gdb) n
24382         95                saved_errno = errno;
24383         (gdb) p dir->dd_fd
24384         $11 = 8
24385
24386         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
24387         The problem is that on OpenBSD, fd_clone_opendir has to resort
24388         to using the old-style save/restore CWD mechanism, due to its
24389         lack of openat/proc support, and *that* would steal the FD (6)
24390         that opendir was supposed to use.
24391
24392         The fix is to squirrel away the desired FD so that save_cwd uses a
24393         different one, and then free the dest FD right before calling opendir.
24394         That guarantees opendir will use the required file descriptor.
24395
24396         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
24397
24398 2010-10-08  Bruno Haible  <bruno@clisp.org>
24399
24400         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
24401         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
24402
24403 2010-10-08  Bruno Haible  <bruno@clisp.org>
24404
24405         nanosleep: Make replacement POSIX compliant.
24406         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
24407         is out of range.
24408         Reported by Jim Meyering.
24409
24410 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
24411
24412         bootstrap: add hook for altering gnulib.mk, for Bison
24413         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
24414         the Bison bootstrapping process can rewrite file names and variables
24415         in this file before later parts of 'bootstrap' use the file.
24416         Bison wants to include lib/gnulib.mk from the top-level makefile,
24417         so it needs the file names in this file to be relative to the top
24418         level, not relative to lib; plus it needs variable names to be
24419         rewritten.
24420         (slurp): Use the new function.
24421
24422         bootstrap: reformat for readability
24423         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
24424
24425 2010-10-08  Eric Blake  <eblake@redhat.com>
24426
24427         docs: update cygwin progress
24428         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
24429         1.7.7.
24430         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
24431         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
24432         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
24433         * doc/posix-functions/carg.texi (carg): Likewise.
24434         * doc/posix-functions/cargf.texi (cargf): Likewise.
24435         * doc/posix-functions/casin.texi (casin): Likewise.
24436         * doc/posix-functions/casinf.texi (casinf): Likewise.
24437         * doc/posix-functions/casinh.texi (casinh): Likewise.
24438         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
24439         * doc/posix-functions/catan.texi (catan): Likewise.
24440         * doc/posix-functions/catanf.texi (catanf): Likewise.
24441         * doc/posix-functions/catanh.texi (catanh): Likewise.
24442         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
24443         * doc/posix-functions/ccos.texi (ccos): Likewise.
24444         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
24445         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
24446         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
24447         * doc/posix-functions/cexp.texi (cexp): Likewise.
24448         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
24449         * doc/posix-functions/cimag.texi (cimag): Likewise.
24450         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
24451         * doc/posix-functions/clog.texi (clog): Likewise.
24452         * doc/posix-functions/clogf.texi (clogf): Likewise.
24453         * doc/posix-functions/conj.texi (conj): Likewise.
24454         * doc/posix-functions/conjf.texi (conjf): Likewise.
24455         * doc/posix-functions/cpow.texi (cpow): Likewise.
24456         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
24457         * doc/posix-functions/cproj.texi (cproj): Likewise.
24458         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
24459         * doc/posix-functions/creal.texi (creal): Likewise.
24460         * doc/posix-functions/crealf.texi (crealf): Likewise.
24461         * doc/posix-functions/csin.texi (csin): Likewise.
24462         * doc/posix-functions/csinf.texi (csinf): Likewise.
24463         * doc/posix-functions/csinh.texi (csinh): Likewise.
24464         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
24465         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
24466         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
24467         * doc/posix-functions/ctan.texi (ctan): Likewise.
24468         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
24469         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
24470         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
24471         * doc/posix-headers/complex.texi (complex.h): Likewise.
24472
24473 2010-10-07  Jim Meyering  <meyering@redhat.com>
24474
24475         parse-datetime: avoid compilation failure on OpenBSD 4.7
24476         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
24477         This works around a compilation failure on OpenBSD 4.7:
24478         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
24479
24480 2010-10-07  Eric Blake  <eblake@redhat.com>
24481
24482         docs: update cygwin progress
24483         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
24484         1.7.6.
24485         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
24486         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
24487         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
24488         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
24489         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
24490         Likewise.
24491         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
24492         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
24493         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
24494         Likewise.
24495         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
24496         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
24497         Likewise.
24498         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
24499         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
24500         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
24501         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
24502         Likewise.
24503         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
24504         Likewise.
24505         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
24506
24507         docs: update parse-datetime history
24508         * doc/parse-datetime.texi (Authors of parse_datetime): Better
24509         documentation of this function's history and alternatives.
24510
24511         cygwin: use more robust version check
24512         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
24513         exclude an eventual cygwin 1.9.1.
24514         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
24515         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
24516         (gl_FUNC_STRCASESTR): Likewise.
24517         Reported by Bruno Haible.
24518
24519 2010-10-06  Bruno Haible  <bruno@clisp.org>
24520
24521         string, sys_select: Avoid #including large headers unless necessary.
24522         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
24523         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
24524         OSF/1, BeOS, Haiku.
24525         Reported by Jim Meyering.
24526
24527 2010-10-05  Eric Blake  <eblake@redhat.com>
24528
24529         memmem, strstr, strcasestr: fix bug with long periodic needle
24530         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
24531         periodic needle having false positive.
24532         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
24533         and cygwin 1.7.7.
24534         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
24535         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
24536         (gl_FUNC_STRCASESTR): Likewise.
24537         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
24538         * tests/test-memmem.c (main): Expose the bug.
24539         * tests/test-strcasestr.c (main): Likewise.
24540         * tests/test-strstr.c (main): Likewise.
24541         * tests/test-c-strcasestr.c (main): Likewise.
24542         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
24543         * doc/posix-functions/strstr.texi (strstr): Likewise.
24544         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
24545         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
24546
24547 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
24548
24549         parse-datetime: do some more renaming
24550         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
24551         parse_datetime, not get_date.  Mention the renaming.
24552         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
24553         in comments.
24554         * m4/bison.m4: Likewise.
24555
24556 2010-10-05  Eric Blake  <eblake@redhat.com>
24557
24558         parse-datetime: better name than get_date
24559         * NEWS: Reword the deprecation notice.
24560         * modules/get_date: Rename to modules/parse-datetime.
24561         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
24562         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
24563         * lib/get_date.y: Rename to lib/parse-datetime.y.
24564         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
24565         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
24566         * doc/getdate.texi: Provide fallback wrapper.
24567         * lib/getdate.h: Move guts, and wrap...
24568         * lib/parse-datetime.h: ...new file.
24569         * lib/parse-datetime.y (get_date): Rename...
24570         (parse_datetime): ...to this.
24571         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
24572         (gl_PARSE_DATETIME): ...to this.
24573         * doc/posix-functions/getdate.texi (get_date): Provide fallback
24574         documentation.
24575         * modules/getdate (Files): Provide fallback docs and header.
24576         (Notice, Depends-on): Update references.
24577         * tests/test-parse-datetime.c: Likewise.
24578         * DEPENDENCIES: Likewise.
24579         * MODULES.html.sh (Date and time <time.h>): Likewise.
24580         * doc/parse-datetime.texi (Date input formats)
24581         (Authors of parse_datetime): Likewise.
24582         * modules/parse-datetime (Files, configure.ac, Makefile.am)
24583         (Include): Likewise.
24584         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
24585         * gnulib-tool: Likewise.
24586         * m4/bison.m4 (gl_BISON): Likewise.
24587         Suggested by Bruno Haible.
24588
24589 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
24590
24591         more ports to Solaris tr, which needs [] around ranges
24592         * gnulib-tool: Solaris tr needs [] around ranges.
24593         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
24594         * tests/test-pipe-filter-gi1.c (main): Likewise.
24595         * tests/test-pipe-filter-ii1.c (main): Likewise.
24596
24597 2010-10-05  Eric Blake  <eblake@redhat.com>
24598
24599         bootstrap: fix Solaris regression
24600         * build-aux/bootstrap (check_versions): Solaris tr still needs []
24601         around ranges.
24602         Reported by Pádraig Brady.
24603
24604         bootstrap: work with pkg-config
24605         * build-aux/bootstrap (check_versions): Also transliterate - in
24606         prerequisite name.
24607         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
24608         prerequisites that were already found, to avoid confusion.
24609         Reported by Justin Clift.
24610
24611         faccessat: remove unused wrappers
24612         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
24613         presence of these wrappers dragged in -lgen on Solaris.
24614         Reported by Clemens Brogi; fix suggested by Paul Eggert.
24615
24616 2010-10-05  Jim Meyering  <meyering@redhat.com>
24617
24618         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
24619         * Makefile (sc_pragma_columns): New syntax-check rule.
24620
24621 2010-10-04  Bruno Haible  <bruno@clisp.org>
24622
24623         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
24624         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
24625         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
24626         Reported by Bruce Korb and Eric Blake.
24627
24628 2010-10-04  Bruno Haible  <bruno@clisp.org>
24629
24630         threadlib: Make option --with-libpth-prefix work.
24631         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
24632         use $LIBPTH, not just -lpth.
24633
24634 2010-10-04  Bruno Haible  <bruno@clisp.org>
24635
24636         Avoid line length limitation from HP NonStop system header files.
24637         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
24638         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
24639         * lib/ctype.in.h: Likewise.
24640         * lib/dirent.in.h: Likewise.
24641         * lib/errno.in.h: Likewise.
24642         * lib/fcntl.in.h: Likewise.
24643         * lib/float.in.h: Likewise.
24644         * lib/getopt.in.h: Likewise.
24645         * lib/iconv.in.h: Likewise.
24646         * lib/inttypes.in.h: Likewise.
24647         * lib/langinfo.in.h: Likewise.
24648         * lib/locale.in.h: Likewise.
24649         * lib/math.in.h: Likewise.
24650         * lib/netdb.in.h: Likewise.
24651         * lib/netinet_in.in.h: Likewise.
24652         * lib/poll.in.h: Likewise.
24653         * lib/pthread.in.h: Likewise.
24654         * lib/pty.in.h: Likewise.
24655         * lib/sched.in.h: Likewise.
24656         * lib/se-selinux.in.h: Likewise.
24657         * lib/search.in.h: Likewise.
24658         * lib/signal.in.h: Likewise.
24659         * lib/spawn.in.h: Likewise.
24660         * lib/stdarg.in.h: Likewise.
24661         * lib/stddef.in.h: Likewise.
24662         * lib/stdint.in.h: Likewise.
24663         * lib/stdio.in.h: Likewise.
24664         * lib/stdlib.in.h: Likewise.
24665         * lib/string.in.h: Likewise.
24666         * lib/strings.in.h: Likewise.
24667         * lib/sys_file.in.h: Likewise.
24668         * lib/sys_ioctl.in.h: Likewise.
24669         * lib/sys_select.in.h: Likewise.
24670         * lib/sys_socket.in.h: Likewise.
24671         * lib/sys_stat.in.h: Likewise.
24672         * lib/sys_time.in.h: Likewise.
24673         * lib/sys_times.in.h: Likewise.
24674         * lib/sys_utsname.in.h: Likewise.
24675         * lib/sys_wait.in.h: Likewise.
24676         * lib/sysexits.in.h: Likewise.
24677         * lib/termios.in.h: Likewise.
24678         * lib/time.in.h: Likewise.
24679         * lib/unistd.in.h: Likewise.
24680         * lib/wchar.in.h: Likewise.
24681         * lib/wctype.in.h: Likewise.
24682         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
24683         * modules/ctype (Makefile.am): Likewise.
24684         * modules/dirent (Makefile.am): Likewise.
24685         * modules/errno (Makefile.am): Likewise.
24686         * modules/fcntl-h (Makefile.am): Likewise.
24687         * modules/float (Makefile.am): Likewise.
24688         * modules/getopt-posix (Makefile.am): Likewise.
24689         * modules/iconv-h (Makefile.am): Likewise.
24690         * modules/inttypes (Makefile.am): Likewise.
24691         * modules/langinfo (Makefile.am): Likewise.
24692         * modules/locale (Makefile.am): Likewise.
24693         * modules/math (Makefile.am): Likewise.
24694         * modules/netdb (Makefile.am): Likewise.
24695         * modules/netinet_in (Makefile.am): Likewise.
24696         * modules/poll-h (Makefile.am): Likewise.
24697         * modules/pthread (Makefile.am): Likewise.
24698         * modules/pty (Makefile.am): Likewise.
24699         * modules/sched (Makefile.am): Likewise.
24700         * modules/search (Makefile.am): Likewise.
24701         * modules/selinux-h (Makefile.am): Likewise.
24702         * modules/signal (Makefile.am): Likewise.
24703         * modules/spawn (Makefile.am): Likewise.
24704         * modules/stdarg (Makefile.am): Likewise.
24705         * modules/stddef (Makefile.am): Likewise.
24706         * modules/stdint (Makefile.am): Likewise.
24707         * modules/stdio (Makefile.am): Likewise.
24708         * modules/stdlib (Makefile.am): Likewise.
24709         * modules/string (Makefile.am): Likewise.
24710         * modules/strings (Makefile.am): Likewise.
24711         * modules/sys_file (Makefile.am): Likewise.
24712         * modules/sys_ioctl (Makefile.am): Likewise.
24713         * modules/sys_select (Makefile.am): Likewise.
24714         * modules/sys_socket (Makefile.am): Likewise.
24715         * modules/sys_stat (Makefile.am): Likewise.
24716         * modules/sys_time (Makefile.am): Likewise.
24717         * modules/sys_times (Makefile.am): Likewise.
24718         * modules/sys_utsname (Makefile.am): Likewise.
24719         * modules/sys_wait (Makefile.am): Likewise.
24720         * modules/sysexits (Makefile.am): Likewise.
24721         * modules/termios (Makefile.am): Likewise.
24722         * modules/time (Makefile.am): Likewise.
24723         * modules/unistd (Makefile.am): Likewise.
24724         * modules/wchar (Makefile.am): Likewise.
24725         * modules/wctype (Makefile.am): Likewise.
24726
24727 2010-10-04  Bruno Haible  <bruno@clisp.org>
24728
24729         read-file tests: Avoid a test failure on NonStop Kernel.
24730         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
24731         a regular file.
24732         Reported by Joachim Schmitz <schmitz@hp.com>.
24733
24734 2010-10-03  Bruno Haible  <bruno@clisp.org>
24735
24736         gnulib-tool: Fixes for --create-testdir with --libtool.
24737         * gnulib-tool (func_get_automake_snippet): Don't augment
24738         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
24739         an executable.
24740         (func_create_testdir): Handle module 'alloca' like func_import.
24741         Reported by Bruce Korb <bruce.korb@gmail.com>.
24742
24743 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
24744
24745         Avoid some lines longer than 80 characters.
24746         * lib/stdint.in.h: Break long comment lines.
24747         * lib/math.in.h: Likewise.
24748         (_GL_NUM_UINT_WORDS): New macro, for readability.
24749         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
24750         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
24751         * lib/stdlib.in.h: Likewise.
24752         * lib/spawn.in.h: Likewise.
24753         * lib/sys_socket.in.h: Update an URL.
24754         * lib/sys_stat.in.h: Break long line.
24755
24756 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
24757
24758         Improve pmccabe2html.
24759         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
24760         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
24761         when the sources change. Remove the line in the HTML about "Used
24762         ranges" (which implied that there might be other unused ranges),
24763         rename "Resume" to "Summary" (easier to understand for more users).
24764         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
24765         styles, and some unnecessary blank lines.
24766
24767 2010-10-03  Bruno Haible  <bruno@clisp.org>
24768             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
24769
24770         acl: Add support for ACLs on NonStop Kernel.
24771         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
24772         Check whether the function aclsort() exists.
24773         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
24774         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
24775         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
24776         (acl_nontrivial [HAVE_ACLSORT]: New function.
24777         (file_has_acl): Implement for NonStop Kernel.
24778         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
24779         (qset_acl): Implement for NonStop Kernel.
24780         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
24781         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
24782         (main): Implement for NonStop Kernel.
24783         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
24784         Kernel. Handle this flavor.
24785         * tests/test-set-mode-acl.sh: Likewise.
24786         * tests/test-copy-acl.sh: Likewise.
24787         * tests/test-copy-file.sh: Likewise.
24788
24789 2010-10-03  Bruno Haible  <bruno@clisp.org>
24790
24791         Info about ACLs on NonStop Kernel.
24792         * doc/acl-resources.txt: Add info about NonStop Kernel.
24793         References by Joachim Schmitz <schmitz@hp.com>.
24794
24795 2010-10-02  Bruno Haible  <bruno@clisp.org>
24796
24797         Define missing EDQUOT on NonStop Kernel.
24798         * lib/errno.in.h (EDQUOT): Assign a value if missing.
24799         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
24800         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
24801         missing.
24802         * doc/posix-headers/errno.texi: Mention the NSK bug.
24803         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
24804         Reported by Joachim Schmitz <schmitz@hp.com>.
24805
24806 2010-10-02  Bruno Haible  <bruno@clisp.org>
24807
24808         Update doc for POSIX:2008.
24809         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
24810         Update URL of POSIX specification.
24811
24812 2010-10-02  Bruno Haible  <bruno@clisp.org>
24813
24814         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
24815         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
24816         from gnulib, not from Automake.
24817
24818 2010-10-02  Bruno Haible  <bruno@clisp.org>
24819
24820         New module 'system-posix'.
24821         * modules/system-posix: New file.
24822         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
24823         module is present.
24824         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
24825         GNULIB_SYSTEM_POSIX.
24826         * modules/stdlib (Depends-on): Remove sys_wait.
24827         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
24828         * doc/posix-functions/system.texi: Mention the new module.
24829         * doc/posix-headers/stdlib.texi: Likewise.
24830         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
24831         define test_sys_wait_macros to a no-op.
24832         Reported by Sam Steingold <sds@gnu.org>.
24833
24834 2010-09-30  Bruno Haible  <bruno@clisp.org>
24835
24836         More renaming from 'getdate' to 'get_date'.
24837         * doc/get_date.texi: Renamed from doc/getdate.texi.
24838         * modules/get_date (Files): Update.
24839         * MODULES.html.sh (Date and time <time.h>): Update.
24840         * DEPENDENCIES: Update.
24841         * gnulib-tool: Update comment.
24842         * m4/bison.m4 (gl_BISON): Likewise.
24843         * m4/get_date.m4 (gl_GET_DATE): Likewise.
24844
24845 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
24846
24847         bootstrap: support ACLOCAL_FLAGS during aclocal
24848         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
24849         can add additional -I dir for third-party .m4 files.
24850
24851 2010-09-30  Eric Blake  <eblake@redhat.com>
24852
24853         bootstrap: use glibtoolize on MacOS
24854         * build-aux/bootstrap (check_versions): Convert libtool into
24855         libtoolize.
24856         (tool search): Move libtool check earlier, and look for
24857         glibtoolize for MacOS.
24858         (gnulib_tool_options): Auto-add --libtool when appropriate.
24859         Reported by Justin Clift.
24860
24861         poll: fix typo that broke test on MacOS
24862         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
24863         Reported by Justin Clift.
24864
24865         getdate: rename to get_date
24866         Note: getdate.h is not renamed, to minimize client impact.
24867         * modules/getdate: Mark obsolete.  Move old contents...
24868         * modules/get_date: ...to new module name.
24869         * modules/getdate-tests: Move...
24870         * modules/get_date-tests: ...here.
24871         * m4/getdate.m4: Move...
24872         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
24873         * lib/getdate.y: Move...
24874         * lib/get_date.y: ...here.
24875         * tests/test-getdate.c: Move...
24876         * tests/test-get_date.c: ...here.
24877         * doc/posix-functions/getdate.texi (getdate): Update name.
24878         * NEWS: Mention the change.
24879
24880 2010-09-29  Bruno Haible  <bruno@clisp.org>
24881
24882         Separate the module 'waitpid' from the module 'sys_wait'.
24883         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
24884         present.
24885         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
24886         gl_MODULE_INDICATOR_FOR_TESTS.
24887         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
24888         * modules/sys_wait (Depends-on): Remove waitpid.
24889         (Makefile.am): Substitute GNULIB_WAITPID.
24890         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
24891         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
24892         signature only if the 'waitpid' module is present.
24893         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
24894         * NEWS: Mention the change.
24895         * modules/grantpt (Depends-on): Add waitpid.
24896         * modules/wait-process (Depends-on): Likewise.
24897
24898 2010-09-29  Bruno Haible  <bruno@clisp.org>
24899
24900         More tests for module 'sys_wait'.
24901         * modules/sys_wait-c++-tests: New file.
24902         * tests/test-sys_wait-c++.cc: New file.
24903         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
24904         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
24905
24906 2010-09-29  Bruno Haible  <bruno@clisp.org>
24907
24908         New module 'waitpid'.
24909         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
24910         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
24911         Don't include <process.h>.
24912         (waitpid): Declare only, using modern idiom.
24913         * m4/waitpid.m4: New file.
24914         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
24915         * modules/waitpid: New file.
24916         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
24917         (Makefile.am): Update.
24918         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
24919
24920 2010-09-28  Bruno Haible  <bruno@clisp.org>
24921
24922         poll: Assume ANSI C.
24923         * lib/poll.c (poll): Use an ANSI C declaration.
24924
24925 2010-09-28  Bruno Haible  <bruno@clisp.org>
24926
24927         poll-h: Create poll.h on all platforms.
24928         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
24929         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
24930         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
24931         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
24932         (gl_REPLACE_POLL_H): Don't set POLL_H.
24933         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
24934         * modules/poll-h (Depends-on): Add include_next.
24935         (Makefile.am): Create poll.h unconditionally. Substitute also
24936         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
24937
24938 2010-09-28  Bruno Haible  <bruno@clisp.org>
24939
24940         Tests for module 'poll-h'.
24941         * modules/poll-h-c++-tests: New file.
24942         * tests/test-poll-h-c++.cc: New file.
24943
24944         Tests for module 'poll-h'.
24945         * modules/poll-h-tests: New file.
24946         * tests/test-poll-h.c: New file.
24947
24948 2010-09-28  Bruno Haible  <bruno@clisp.org>
24949
24950         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
24951         * modules/poll-h (Depends-on): Add 'extensions'.
24952
24953 2010-09-28  Bruno Haible  <bruno@clisp.org>
24954
24955         New module 'poll-h'.
24956         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
24957         (poll): Use modern idiom.
24958         * modules/poll-h: New file.
24959         * modules/poll (Files): Remove lib/poll.in.h.
24960         (Depends-on): Add poll-h.
24961         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
24962         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
24963         * m4/poll_h.m4: New file.
24964         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
24965         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
24966         and invoke gl_REPLACE_POLL_H.
24967         * lib/poll.c: Use common idiom.
24968         * tests/test-poll.c: Likewise.
24969         * doc/posix-headers/poll.texi: Mention the poll-h module.
24970         Suggested by Eric Blake.
24971
24972 2010-09-26  Bruno Haible  <bruno@clisp.org>
24973
24974         sys_wait: Implement WSTOPSIG.
24975         * lib/sys_wait.in.h (WSTOPSIG): New macro.
24976         Reported by Simon Josefsson.
24977
24978 2010-09-26  Simon Josefsson  <simon@josefsson.org>
24979
24980         stdlib, sys_wait: Avoid compilation error on mingw.
24981         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
24982
24983 2010-09-26  Bruno Haible  <bruno@clisp.org>
24984
24985         stdlib tests: Avoid code duplication.
24986         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
24987         * modules/sys_wait-tests (Files): Likewise.
24988         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
24989         * tests/test-stdlib.c: Include test-sys_wait.h.
24990         (main): Invoke test_sys_wait_macros.
24991         * tests/test-sys_wait.c: Include test-sys_wait.h.
24992         (main): Invoke test_sys_wait_macros.
24993
24994 2010-09-25  Simon Josefsson  <simon@josefsson.org>
24995
24996         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
24997         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
24998         sure Windows sockets are working before calling getaddrinfo.
24999         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
25000         * doc/gnulib.texi (Windows sockets): Fix typo.
25001
25002 2010-09-25  Bruno Haible  <bruno@clisp.org>
25003
25004         Tests for module 'regex-quote'.
25005         * modules/regex-quote-tests: New file.
25006         * tests/test-regex-quote.c: New file.
25007
25008         New module 'regex-quote'.
25009         * lib/regex-quote.h: New file.
25010         * lib/regex-quote.c: New file.
25011         * modules/regex-quote: New file.
25012         Suggested by Reuben Thomas <rrt@sc3d.org>.
25013
25014 2010-09-24  Bruno Haible  <bruno@clisp.org>
25015
25016         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
25017         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
25018
25019 2010-09-23  Bruno Haible  <bruno@clisp.org>
25020
25021         setenv: Relax license.
25022         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
25023         Blake.
25024         Requested by Eric Blake.
25025
25026 2010-09-22  Bruno Haible  <bruno@clisp.org>
25027
25028         termios: Relax license.
25029         * modules/termios (License): Change to LGPLv2+.
25030         Requested by Eric Blake.
25031
25032 2010-09-22  Bruno Haible  <bruno@clisp.org>
25033
25034         threadlib: Allow the package to change the default to 'no'.
25035         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
25036         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
25037         Reported by Paul Eggert.
25038
25039 2010-09-22  Pádraig Brady  <P@draigbrady.com>
25040             Bruno Haible  <bruno@clisp.org>
25041
25042         Fix endless loop in mbmemcasecoll.
25043         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
25044         byte.
25045         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
25046
25047 2010-09-22  Bruno Haible  <bruno@clisp.org>
25048
25049         Tests for module 'memcoll'.
25050         * modules/memcoll-tests: New file.
25051         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
25052
25053         memcoll, xmemcoll: Clarify size vs. length.
25054         * modules/memcoll.c (memcoll0): Clarify specification.
25055         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
25056         passed to collate_error.
25057
25058 2010-09-22  Bruno Haible  <bruno@clisp.org>
25059
25060         Tests for module 'memcasecmp'.
25061         * modules/memcasecmp-tests: New file.
25062         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
25063
25064 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
25065
25066         * lib/pthread.in.h: Add split double-inclusion guard, and include
25067         system <pthread.h> if there is one.  Use @@-style as in other
25068         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
25069         pthread.h doesn't.
25070         (pthread_mutexattr_destroy, pthread_mutexattr_init):
25071         (pthread_mutexattr_settype, pthread_mutex_trylock):
25072         New static inline functions, if there's no system <pthread.h>.
25073         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
25074         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
25075         Approximate with mutexes if the system lacks spinlocks, as in
25076         MacOS.
25077         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
25078         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
25079         @@-style.  Check for spinlocks separately.
25080         (gl_PTHREAD_DEFAULTS): New macro.
25081         * modules/pthread: Redo to use a more typical style for in.h files.
25082
25083 2010-09-21  Eric Blake  <eblake@redhat.com>
25084
25085         net_if: enhance tests
25086         * tests/test-net_if.c (main): Move signature checks earlier.
25087         Print failures to stderr.
25088         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
25089         Document the bug that we do not yet fix.
25090
25091 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
25092
25093         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
25094         about gnulib, not GSS.
25095
25096 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
25097
25098         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
25099         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
25100         for Emacs.
25101         * build-aux/pmccabe2html: Make Makefile.am example code more
25102         cut-and-paste friendly.
25103
25104 2010-09-21  Simon Josefsson  <simon@josefsson.org>
25105
25106         * tests/test-net_if.c: New file.
25107         * modules/net_if-tests: New file.
25108
25109 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
25110
25111         pthread: add pthread_spin_destroy
25112         * lib/pthread.in.h (pthread_spin_destroy): New function.
25113
25114 2010-09-19  Bruno Haible  <bruno@clisp.org>
25115
25116         gnulib-tool: Fix --help output.
25117         * gnulib-tool (func_usage): Fix help message.
25118         Reported by Reuben Thomas <rrt@sc3d.org>.
25119
25120 2010-09-18  Jim Meyering  <meyering@redhat.com>
25121
25122         maint.mk: avoid unexpanded \n in two diagnostics
25123         * top/maint.mk (sc_prohibit_always_true_header_tests):
25124         Don't use a literal \n in a halt=... assignment.  It would not be
25125         expanded, and the two \n bytes would appear in the diagnostic output
25126         rather than the desired newline.  Use halt=$$(printf ... instead.
25127         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
25128
25129 2010-09-18  Bruno Haible  <bruno@clisp.org>
25130
25131         netinet_in: Doc tweak.
25132         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
25133         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
25134
25135 2010-09-18  Jim Meyering  <meyering@redhat.com>
25136
25137         init.sh: correct an outdated comment
25138         * tests/init.sh (create_exe_shims_):  s/function/alias/
25139
25140         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
25141         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
25142         a file named "*.exe" is removed between the glob expansion and the
25143         processing of that oddly named file.
25144
25145 2010-09-17  Eric Blake  <eblake@redhat.com>
25146
25147         mirbsd: add some more support
25148         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
25149         in BSD family.
25150         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
25151         devices as OpenBSD.
25152         * m4/host-os.m4 (mirbsd): Add MirBSD.
25153
25154         tests: fix unportable assumption on sys/wait.h
25155         * tests/test-sys_wait.c (main): Relax test.
25156         * tests/test-stdlib.c (main): Likewise.
25157
25158         init.sh: accomodate directory with no .exes
25159         * tests/init.sh: Accomodate directory containing only scripts.
25160
25161         tests: avoid compiler warning
25162         * tests/test-stdlib.c (main): Use the variable.
25163
25164         fdutimens, fdutimensat: update signature, again
25165         * lib/utimens.h (gl_futimens): Delete, and move signature...
25166         (fdutimens): ...here.
25167         (fdutimensat): Rearrange signature.
25168         (lutimensat): Rename variable for clarity.
25169         * lib/fdutimensat.c (fdutimensat): Update signature.
25170         * lib/utimens.c (fdutimens): Likewise.
25171         (gl_futimens): Delete.
25172         (utimens, lutimens): Update callers.
25173         * lib/futimens.c (futimens): Likewise.
25174         * tests/test-fdutimensat.c: Likewise.
25175         * tests/test-utimens.c: Likewise.
25176         * tests/test-futimens.h: Update comment.
25177         * NEWS: Mention this.
25178         Suggested by Paul Eggert.
25179
25180 2010-09-17  Bruno Haible  <bruno@clisp.org>
25181
25182         Take over the maintenance of some older macros from Autoconf.
25183         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
25184         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
25185         GNU Autoconf.
25186         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
25187         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
25188
25189 2010-09-17  Eric Blake  <eblake@redhat.com>
25190
25191         fdutimensat: drop atflag validation
25192         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
25193         with valid fd, to close a race scenario where futimens is
25194         unsupported and FILE was replaced by a symlink.
25195         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
25196         accordingly.
25197         Suggested by Paul Eggert.
25198
25199 2010-09-16  Bruno Haible  <bruno@clisp.org>
25200
25201         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
25202         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
25203
25204 2010-09-16  Bruno Haible  <bruno@clisp.org>
25205
25206         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
25207         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
25208         login_tty exists.
25209         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
25210
25211 2010-09-16  Bruno Haible  <bruno@clisp.org>
25212
25213         login_tty: Make the replacement code work on BSD systems.
25214         * lib/login_tty.c: Include <sys/ioctl.h>.
25215         (login_tty): Use ioctl TIOCSCTTY when available.
25216         * modules/login_tty (Depends-on): Add sys_ioctl.
25217         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
25218
25219 2010-09-16  Bruno Haible  <bruno@clisp.org>
25220
25221         login_tty: Stricter unit test.
25222         * modules/login_tty-tests (Depends-on): Add tcgetsid.
25223         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
25224         and tcgetsid() after login_tty.
25225         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
25226
25227 2010-09-16  Bruno Haible  <bruno@clisp.org>
25228
25229         New module 'tcgetsid'.
25230         * lib/tcgetsid.c: New file.
25231         * m4/tcgetsid.m4: New file.
25232         * modules/tcgetsid: New file.
25233         * modules/termios (Depends-on): Add c++defs, warn-on-use.
25234         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
25235         GNULIB_TCGETSID, HAVE_TCGETSID.
25236         * lib/termios.in.h: Include <sys/types.h>.
25237         (tcgetsid): New declaration.
25238         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
25239         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
25240         * doc/posix-functions/tcgetsid.texi: Mention the new module.
25241         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
25242
25243 2010-09-16  Bruno Haible  <bruno@clisp.org>
25244
25245         Tests for module 'termios'.
25246         * modules/termios-c++-tests: New file.
25247         * modules/termios-tests: New file.
25248         * tests/test-termios-c++.cc: New file.
25249         * tests/test-termios.c: New file.
25250
25251         New module 'termios'.
25252         * modules/termios: New file.
25253         * lib/termios.in.h: New file.
25254         * m4/termios_h.m4: New file.
25255         * doc/posix-headers/termios.texi: Mention the new module.
25256
25257 2010-09-16  Eric Blake  <eblake@redhat.com>
25258
25259         fdutimensat: add an atflag parameter
25260         * lib/fdutimensat.c (fdutimensat): Add new parameter.
25261         * lib/utimens.h (fdutimensat): Update prototype.
25262         * tests/test-fdutimensat.c: Adjust test to match.
25263         * NEWS: Document the change.
25264         Suggested by Paul Eggert.
25265
25266 2010-09-16  Bruno Haible  <bruno@clisp.org>
25267
25268         Fix typos in comments.
25269         * lib/striconveh.h: Fix typo in comment.
25270         * lib/login_tty.c (login_tty): Likewise.
25271
25272 2010-09-15  Bruno Haible  <bruno@clisp.org>
25273
25274         stdlib: clarify MirBSD WEXITSTATUS bug
25275         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
25276         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
25277
25278 2010-09-15  Eric Blake  <eblake@redhat.com>
25279
25280         stdlib: work around MirBSD WEXITSTATUS bug
25281         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
25282         * modules/stdlib (Depends-on): Add sys_wait.
25283         * tests/test-sys_wait.c (main): Enhance test.
25284         * tests/test-stdlib.c (main): Likewise.
25285         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
25286
25287         docs: mention MacOS issue with WEXITSTATUS(constant)
25288         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
25289         issue.
25290         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
25291
25292         strnlen: add tests
25293         * modules/strnlen-tests: New file.
25294         * tests/test-strnlen.c: Likewise.
25295
25296 2010-09-14  Bruno Haible  <bruno@clisp.org>
25297
25298         unistr/base: Avoid link errors when module 'libunistring' is also used.
25299         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
25300         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
25301         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
25302         Declare also when HAVE_LIBUNISTRING is set.
25303         Reported by Pádraig Brady <P@draigbrady.com>.
25304
25305 2010-09-14  Eric Blake  <eblake@redhat.com>
25306
25307         test-rawmemchr: make more robust
25308         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
25309         (Depends-on, configure.ac): Add needed prerequisites to use it.
25310         * modules/memchr-tests (Files, Depends-on, configure.ac):
25311         Likewise, to avoid implicit reliance on memchr module prereqs.
25312         * tests/test-memchr.c (main): Ensure proper masking.
25313         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
25314         reads.
25315
25316         memchr: detect glibc Alpha bug
25317         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
25318         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
25319         Alpha.
25320         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
25321         * tests/test-memchr.c (main): Enhance test.
25322         Reported by Nelson H. F. Beebe.
25323
25324 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
25325
25326         fts, getcwd, glob: audit for dirfd returning -1
25327         * lib/fts.c (opendir): Remove #define; no longer used.
25328         (opendirat): New arg PDIR_FD.  All callers changed.
25329         (fts_build, _opendir2): Use new opendirat to avoid the need for
25330         dirfd, or for checking whether dirfd returns a negative value.
25331         Don't use opendir; always use openat followed by fdopendir.
25332         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
25333         it.
25334         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
25335         returns -1 here.
25336         * modules/fts (Depends-on): Remove dirfd.
25337         * modules/getcwd (Depends-on): Likewise.
25338
25339 2010-09-13  Eric Blake  <eblake@redhat.com>
25340
25341         float: fix broken MirBSD header
25342         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
25343         * doc/posix-headers/float.texi (float.h): Document it.
25344
25345 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
25346
25347         fts: use O_NOFOLLOW to avoid race condition when opening a directory
25348         * lib/fts.c (opendirat): New arg extra_flags.
25349         (__opendir2): Use it to avoid following symlinks when opening
25350         a directory, if symlinks are not supposed to be followed.  See
25351         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
25352
25353         fdopendir: preserve argument fd before returning
25354         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
25355         (fdopendir_with_dup, fd_clone_opendir): New static functions.
25356         (fdopendir): Use them, arranging for FD to be open to the same
25357         directory that it was when it started.  (It might be temporarily
25358         closed while fdopendir is running, so this not thread- or
25359         signal-safe.)  Be careful to do the right thing even when file
25360         descriptors are scarce and dup fails with errno == EMFILE.  See
25361         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
25362
25363 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
25364
25365         regex: Pass the system regex if its only problem is 32-bit regoff_t.
25366         * NEWS: Document change.
25367         * m4/regex.m4: Disable test for regoff_t size.
25368
25369 2010-09-13  Jim Meyering  <meyering@redhat.com>
25370
25371         fts: don't operate on an invalid file descriptor after failed dup
25372         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
25373         negative file descriptor.
25374
25375 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
25376
25377         savedir: add streamsavedir, deprecate fdsavedir
25378         * NEWS: Mention deprecation of fdsavedir.
25379         * lib/savedir.c (streamsavedir): New extern function, whose name
25380         ends in "savedir" to be consistent with the others.  This differs
25381         from savedirstream in that it doesn't close its argument.  The
25382         next version of GNU tar will use this instead of fdsavedir, to
25383         avoid some race conditions and conserve file descriptors.
25384         (savedirstream): Reimplement as a wrapper around streamsavedir.
25385         (fdsavedir): Add a comment deprecating this function.  As far as
25386         I know, only GNU tar used it, and GNU tar doesn't need it any more.
25387         * lib/savedir.h (streamsavedir): New decl.
25388         (fdsavedir): Add a comment deprecating this.
25389
25390 2010-09-10  Bruno Haible  <bruno@clisp.org>
25391
25392         langinfo: Fix last commit.
25393         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
25394         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
25395         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
25396
25397 2010-09-10  Bruno Haible  <bruno@clisp.org>
25398
25399         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
25400         * lib/progreloc.c (O_EXEC): Define fallback.
25401
25402 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
25403
25404         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
25405         * NEWS: Document recent changes to fcntl-h.
25406         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
25407         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
25408         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
25409         Similarly for O_SEARCH; this last was already true, but not documented.
25410         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
25411         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
25412         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
25413         Likewise.
25414         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
25415         is zero, not whether it is defined.
25416         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
25417         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
25418         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
25419
25420 2010-09-10  Bruno Haible  <bruno@clisp.org>
25421
25422         langinfo, nl_langinfo: Fix for IRIX 5.3.
25423         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
25424         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
25425         HAVE_LANGINFO_YESEXPR.
25426         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
25427         HAVE_LANGINFO_YESEXPR.
25428         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
25429         HAVE_LANGINFO_T_FMT_AMPM is 0.
25430         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
25431         HAVE_LANGINFO_YESEXPR is 0.
25432         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
25433         NOEXPR.
25434         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
25435         * doc/posix-functions/nl_langinfo.texi: Likewise.
25436         Reported by Eric Blake.
25437
25438 2010-09-10  Bruno Haible  <bruno@clisp.org>
25439
25440         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
25441         * doc/glibc-functions/login_tty.texi: Mention the include file problem
25442         on FreeBSD 8.0 and OpenBSD 4.6.
25443         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
25444         * m4/pty_h.m4 (gl_PTY_H): Likewise.
25445         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
25446         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
25447         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
25448         ac_includes_default.
25449         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
25450
25451 2010-09-09  Eric Blake  <eblake@redhat.com>
25452
25453         strsignal: work around NetBSD bug
25454         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
25455         * lib/string.in.h (includes): Likewise.
25456         * doc/posix-functions/strsignal.texi (strsignal): Document the
25457         bug.
25458         Reported by Nelson H. F. Beebe.
25459
25460         gnulib-tool: work with NetBSD /bin/sh
25461         * gnulib-tool (func_cache_var, func_cache_lookup_module)
25462         (func_get_description, func_get_comment, func_get_status)
25463         (func_get_notice, func_get_applicability, func_get_filelist)
25464         (func_get_dependencies, func_get_autoconf_early_snippet)
25465         (func_get_autoconf_snippet, func_get_automake_snippet)
25466         (func_get_include_directive, func_get_link_directive)
25467         (func_get_license, func_get_maintainer, func_import): Avoid
25468         shell syntax errors from parsing syntax extensions.
25469
25470 2010-09-09  Bruno Haible  <bruno@clisp.org>
25471
25472         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
25473         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
25474         a reliable way to determine whether the 'alias' command works.
25475
25476 2010-09-08  Jim Meyering  <meyering@redhat.com>
25477
25478         init.sh: penalize a set-x-impaired shell; don't disqualify it
25479         * tests/init.sh: Too many shells corrupt application stderr when
25480         you set -x, so we can't afford to disqualify them, since at least
25481         on Irix-6.5, that would disqualify all bourne shells.
25482         Instead, use a two-pass approach.
25483         On the first pass, try to find a shell that meets the stricter
25484         condition that set -x does not corrupt stderr.
25485         If no shell meets the stricter condition, retest each candidate
25486         shell, but without that extra condition.  Finally, when
25487         VERBOSE=yes is requested and set -x might cause trouble, simply
25488         issue a warning and refrain from enabling debug output.
25489
25490 2010-09-08  Eric Blake  <eblake@redhat.com>
25491
25492         unsetenv: fix OpenBSD bug
25493         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
25494         * doc/posix-functions/unsetenv.texi (unsetenv): Update
25495         documentation.
25496         Reported by Jim Meyering.
25497
25498         strtod: work around IRIX 6.5 bug
25499         * lib/strtod.c (strtod): Reparse number on shorter string if
25500         exponent parse was invalid.
25501         * tests/test-strtod.c (main): Add check for "0x1p 2".
25502         Reported by Tom G. Christensen.
25503
25504         getopt: optimize previous patch
25505         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
25506         empty variable.  Speed up awk script.
25507         Reported by Paolo Bonzini.
25508
25509 2010-09-08  Jim Meyering  <meyering@redhat.com>
25510
25511         test.sh: disqualify shells for which set -x corrupts stderr
25512         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
25513         and OpenBSD 4.7.  They make it so with "set -x", environment settings
25514         appear in stderr output.  For example, this command:
25515             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
25516         prints "P=1" on those two systems:
25517
25518 2010-09-08  Bruno Haible  <bruno@clisp.org>
25519
25520         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
25521         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
25522         commands, because some shells ignore redirections when there is an
25523         error in the command lookup.
25524         Reported by Eric Blake.
25525
25526 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
25527
25528         * lib/regex.h: Fix a mention of `regex_compile' (should be
25529         `re_compile_pattern').
25530         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
25531         (re_set_registers): Correct name of parameter in comment.
25532
25533         * doc/regex.texi: Add documentation for missing syntax flags.
25534         Remove commented-out documentation of defunct syntax option
25535         RE_NO_EMPTY_ALTS.
25536         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
25537         Add documentation of re_set_registers.
25538         Document trick to re-use a pattern buffer by setting fastmap manually.
25539         Update documentation of struct re_pattern_buffer per public members.
25540         Uncomment documentation of equivalence class operators and
25541         collating symbol operators, since they are now implemented,
25542         Explain leftmost-longest matching in relation to alternatives.
25543         Tidy documentation of substring matching.
25544         Remove POSIX documentation, which is done better in
25545         glibc, and refer the reader there. Keep BSD API documentation, as
25546         that is not readily available elsewhere.
25547
25548 2010-09-07  Eric Blake  <eblake@redhat.com>
25549
25550         getopt: handle POSIXLY_CORRECT set but not exported
25551         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
25552         export state of POSIXLY_CORRECT, due to bash set -o posix.
25553         Reported by Dustin J. Mitchell.
25554
25555 2010-09-05  Bruno Haible  <bruno@clisp.org>
25556
25557         gnulib-tool: Highlight the changed options.
25558         * gnulib-tool (func_usage): Display the --import, --add-import,
25559         --remove-import explanations in bold font.
25560
25561 2010-09-06  Karl Berry  <karl@gnu.org>
25562
25563         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
25564
25565 2010-09-05  Bruno Haible  <bruno@clisp.org>
25566
25567         uniwidth/width: Update comment.
25568         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
25569         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
25570
25571 2010-09-05  Bruno Haible  <bruno@clisp.org>
25572
25573         isinf, isnan: Relax license.
25574         * modules/isinf (License): Change from GPL to LGPL, with consent from
25575         Ben Pfaff.
25576         * modules/isnan (License): Likewise.
25577         Requested by Ludovic Courtès.
25578
25579 2010-09-04  Bruno Haible  <bruno@clisp.org>
25580
25581         gnulib-tool: Help migration from --import to --add-import or --update.
25582         * gnulib-tool: Emit a verbose error message when --import is used
25583         without any module name.
25584
25585 2010-09-04  Bruno Haible  <bruno@clisp.org>
25586
25587         Update doc about gnulib-tool.
25588         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
25589         'gnulib-tool --update' in more detail.
25590         Reported by Eric Blake.
25591
25592 2010-09-04  Bruno Haible  <bruno@clisp.org>
25593
25594         gnulib-tool: Change --import. New options --add/remove-import.
25595         * gnulib-tool: New options --add-import, --remove-import.
25596         (func_usage): Document them.
25597         (have_associative): Define always.
25598         (func_import): In import mode, don't merge the specified settings with
25599         the cached settings. Implement remove-import mode.
25600         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
25601         Explain when to use them versus --import.
25602         (Simple update): Use --add-import instead of --import.
25603         * NEWS: Mention the change.
25604
25605 2010-09-04  Bruno Haible  <bruno@clisp.org>
25606
25607         * doc/gnulib-tool.texi (Initial import): Update paragraph about
25608         separate gnulib.mk.
25609
25610 2010-09-04  Bruno Haible  <bruno@clisp.org>
25611
25612         gnulib-tool: Don't talk about CVS any more.
25613         * gnulib-tool (func_usage, func_import): Write "version control"
25614         instead of CVS.
25615
25616 2010-09-04  Jim Meyering  <meyering@redhat.com>
25617
25618         maint.mk: avoid obscure sc_copyright_check failure in coreutils
25619         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
25620         false positives (whose names may be ill-chosen) when searching
25621         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
25622         would cause a false-positive.
25623
25624         avoid coreutils "make distcheck" failure
25625         Coreutils tests with an absolute build directory name that contains
25626         a space.  Not quoting this directory name caused a failure.
25627         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
25628         * tests/test-vc-list-files-cvs.sh: Likewise.
25629
25630 2010-09-04  Bruno Haible  <bruno@clisp.org>
25631
25632         gnulib-tool: Avoid error when run in a package without Makefile.am.
25633         * gnulib-tool: When collecting the m4dirs in a package that does not
25634         have a Makefile.am, eliminate those directories that contain no
25635         gnulib-cache.m4. Fix expression that counts these directories.
25636
25637 2010-09-04  Bruno Haible  <bruno@clisp.org>
25638
25639         update-copyright test: Improve output when perl is missing or too old.
25640         * tests/test-update-copyright.sh: Move test of Perl version down after
25641         the test whether Perl exists. Provide an explanation relating Perl's
25642         error message to Automake's SKIP: message.
25643
25644 2010-09-04  Bruno Haible  <bruno@clisp.org>
25645
25646         Don't augment PATH in TESTS_ENVIRONMENT.
25647         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
25648         set abs_aux_dir instead of augmenting PATH.
25649         * modules/vc-list-files-tests (Makefile.am): Likewise.
25650         * tests/test-update-copyright.sh: Augment PATH here.
25651         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
25652         path_prepend_.
25653         * tests/test-vc-list-files-git.sh: Likewise.
25654
25655 2010-09-04  Jim Meyering  <meyering@redhat.com>
25656
25657         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
25658         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
25659
25660 2010-09-04  Bruno Haible  <bruno@clisp.org>
25661
25662         strdup: Fix compilation error in C++ mode.
25663         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
25664         the macro.
25665
25666 2010-09-04  Bruno Haible  <bruno@clisp.org>
25667
25668         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
25669         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
25670         macro into a function.
25671         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
25672
25673 2010-09-04  Bruno Haible  <bruno@clisp.org>
25674
25675         Set PATH_SEPARATOR the same way autoconf does.
25676         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
25677         the value of PATH_SEPARATOR the same way autoconf-generated configure
25678         scripts do.
25679         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
25680         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
25681
25682 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
25683
25684         Set PATH_SEPARATOR the same way autoconf does.
25685         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
25686         the same way autoconf-generated configure scripts do.
25687         * posix-modules: Likewise.
25688
25689 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
25690
25691         hash: fix safe_hasher const typo
25692         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
25693         const; otherwise, there is a type error later.
25694
25695 2010-09-02  Jim Meyering  <meyering@redhat.com>
25696
25697         test-update-copyright.sh: require perl 5.8.0
25698         * tests/test-update-copyright.sh: Require 5.8.0,
25699         which Tom G. Christensen has confirmed is adequate,
25700         while 5.6.1 is not.
25701
25702 2010-09-02  Eric Blake  <eblake@redhat.com>
25703
25704         tests: init.sh improvements for re-exec'ing with zsh
25705         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
25706         -vx through shell re-exec.
25707         Reported by Tom G. Christensen.
25708
25709         wctype: fix typo in previous commit
25710         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
25711         Reported by Ludovic Courtès.
25712
25713 2010-09-02  Jim Meyering  <meyering@redhat.com>
25714
25715         test-update-copyright.sh: skip test if Perl is too old
25716         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
25717         Reported by Tom G. Christensen.
25718
25719 2010-09-02  Bruno Haible  <bruno@clisp.org>
25720
25721         wctype: Avoid compilation error on IRIX 6.5.30.
25722         * lib/wctype.in.h (iswblank): Declare with a replacement if
25723         REPLACE_ISWBLANK is set.
25724         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
25725         declared. Set REPLACE_ISWBLANK.
25726         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
25727         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
25728         * doc/posix-headers/wctype.texi: Likewise.
25729         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
25730
25731 2010-09-01  Bruno Haible  <bruno@clisp.org>
25732
25733         New module 'socketlib'.
25734         * modules/socketlib: New file.
25735         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
25736         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
25737         * modules/sockets (Depends-on): Add socketlib.
25738         Suggested by Sam Steingold <sds@gnu.org>.
25739
25740 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
25741
25742         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
25743
25744         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
25745         when one needs search access to a directory but not read access.
25746         On systems where it is available, it works in some cases where
25747         O_RDONLY does not, namely on directories that are searchable but
25748         not readable, and which need only to be searchable.  If O_SEARCH
25749         is not available, fall back to the traditional method of using
25750         O_RDONLY.
25751
25752         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
25753         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
25754         when opening a directory that needs only to be searchable.
25755         * lib/chdir-safer.c (chdir_no_follow): Likewise.
25756         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
25757         * lib/openat-proc.c (openat_proc_name): Likewise.
25758         * lib/openat.c (openat_needs_fchdir): Likewise.
25759         * lib/save-cwd.c (save_cwd): Likewise.
25760         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
25761
25762 2010-08-28  Bruno Haible  <bruno@clisp.org>
25763
25764         New module 'host-cpu-c-abi'.
25765         * modules/host-cpu-c-abi: New file.
25766         * m4/host-cpu-c-abi.m4: New file, based on part of
25767         clisp/src/m4/general.m4.
25768         Requested by Sam Steingold <sds@gnu.org>.
25769
25770 2010-08-31  Eric Blake  <eblake@redhat.com>
25771         and Jim Meyering  <meyering@redhat.com>
25772
25773         hash: factor, and guard against misbehaving hasher function
25774         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
25775         of table->hasher's return value.  Also protect against a hash value
25776         so large that adding it to table->bucket results in a NULL pointer.
25777         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
25778         Use it in place of open-coded check-and-abort.
25779
25780 2010-08-30  Bruno Haible  <bruno@clisp.org>
25781
25782         hash: silence spurious clang warning
25783         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
25784         Reported by Eric Blake.
25785
25786 2010-08-30  Eric Blake  <eblake@redhat.com>
25787
25788         strstr, memmem, strcasestr: avoid leaked shell message
25789         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
25790         FreeBSD.
25791         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
25792         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
25793
25794         tests: silence clang warning
25795         * tests/test-malloca.c (do_allocation): Avoid dead store.
25796
25797 2010-08-29  Bruno Haible  <bruno@clisp.org>
25798
25799         gettext: Fix recent mistake.
25800         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
25801
25802 2010-08-29  Bruno Haible  <bruno@clisp.org>
25803
25804         selinux-h: Offer a --without-selinux option.
25805         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
25806         --without-selinux was specified, skip all tests and define
25807         HAVE_SELINUX_SELINUX_H to 0.
25808         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
25809         set LIB_SELINUX to empty.
25810         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
25811         gl_LIBSELINUX. If --without-selinux was specified, replace
25812         selinux/context.h.
25813         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
25814
25815 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
25816             Bruno Haible  <bruno@clisp.org>
25817
25818         Make the module 'realloc-gnu' work again on AIX and OSF/1.
25819         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
25820         of HAVE_REALLOC.
25821         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
25822         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
25823         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
25824         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
25825
25826 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
25827             Bruno Haible  <bruno@clisp.org>
25828
25829         Make the module 'calloc-gnu' work again on AIX and OSF/1.
25830         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
25831         HAVE_CALLOC.
25832         * lib/xmalloc.c: Update accordingly.
25833         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
25834         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
25835         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
25836
25837 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
25838             Bruno Haible  <bruno@clisp.org>
25839
25840         Make the module 'malloc-gnu' work again on AIX and OSF/1.
25841         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
25842         HAVE_MALLOC.
25843         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
25844         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
25845         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
25846
25847 2010-08-29  Bruno Haible  <bruno@clisp.org>
25848
25849         Update modules list.
25850         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
25851         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
25852         (String handling <string.h>): Add astrxfrm.
25853         (File system functions): Add readlinkat.
25854
25855 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25856
25857         Tests for module 'realloc-gnu'.
25858         * modules/realloc-gnu-tests: New file.
25859         * tests/test-realloc-gnu.c: New file.
25860
25861         Tests for module 'calloc-gnu'.
25862         * modules/calloc-gnu-tests: New file.
25863         * tests/test-calloc-gnu.c: New file.
25864
25865         Tests for module 'malloc-gnu'.
25866         * modules/malloc-gnu-tests: New file.
25867         * tests/test-malloc-gnu.c: New file.
25868
25869 2010-08-28  Bruno Haible  <bruno@clisp.org>
25870
25871         Rename module 'realloc' -> 'realloc-gnu'.
25872         * modules/realloc-gnu: New file, copied from modules/realloc.
25873         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
25874         obsolete.
25875         * modules/mgetgroups (Depends-on): Update.
25876         * doc/posix-functions/realloc.texi: Update.
25877         * NEWS: Mention the change.
25878
25879         Rename module 'calloc' -> 'calloc-gnu'.
25880         * modules/calloc-gnu: New file, copied from modules/calloc.
25881         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
25882         obsolete.
25883         * doc/posix-functions/calloc.texi: Update.
25884         * NEWS: Mention the change.
25885
25886         Rename module 'malloc' -> 'malloc-gnu'.
25887         * modules/malloc-gnu: New file, copied from modules/malloc.
25888         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
25889         obsolete.
25890         * modules/argp (Depends-on): Update.
25891         * modules/regex (Depends-on): Update.
25892         * doc/posix-functions/malloc.texi: Update.
25893         * NEWS: Mention the change.
25894
25895 2010-08-28  Eric Blake  <eblake@redhat.com>
25896
25897         pread, pwrite: add missing dependency
25898         * modules/pread (Depends-on): Add extensions.
25899         * modules/pwrite (Depends-on): Likewise.
25900
25901 2010-08-28  Bruno Haible  <bruno@clisp.org>
25902
25903         unistr/u*-strchr: Fix tests dependencies.
25904         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
25905         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
25906         Reported by Ian Beckwith <ianb@erislabs.net>.
25907
25908 2010-08-28  Bruno Haible  <bruno@clisp.org>
25909
25910         read-file: Don't occupy too much unused memory.
25911         * lib/read-file.c (fread_file): Shrink the buffer at the end.
25912
25913 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
25914             Eric Blake  <eblake@redhat.com>
25915             Bruno Haible  <bruno@clisp.org>
25916
25917         read-file: Avoid memory reallocations with regular files.
25918         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
25919         (fread_file): With regular files, use the remaining length as the
25920         initial buffer size.  Check against overflow.
25921         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
25922         sys_stat.
25923
25924 2010-08-28  Bruno Haible  <bruno@clisp.org>
25925
25926         ftello: Relax license.
25927         * modules/ftello (License): Relax to LGPLv2+.
25928         Reported by Eric Blake.
25929
25930 2010-08-28  Bruno Haible  <bruno@clisp.org>
25931
25932         Avoid relocwrapper link errors due to gnulib replacement functions.
25933         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
25934         function.
25935         Reported by Ben Pfaff <blp@cs.stanford.edu>.
25936
25937 2010-08-28  Bruno Haible  <bruno@clisp.org>
25938
25939         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
25940         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
25941         defined.
25942         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
25943         Suggested by Eric Blake.
25944
25945 2010-08-28  Bruno Haible  <bruno@clisp.org>
25946
25947         sys_socket, netdb: Ensure socklen_t gets defined.
25948         * modules/sys_socket (Depends-on): Add socklen.
25949         * modules/netdb (Depends-on): Likewise.
25950         * modules/getaddrinfo (Depends-on): Remove socklen.
25951         * modules/getsockopt (Depends-on): Likewise.
25952         * modules/setsockopt (Depends-on): Likewise.
25953         * tests/test-sys_socket.c: Check that socklen_t is defined.
25954         * tests/test-netdb.c: Likewise.
25955         * m4/socklen.m4: Update comments.
25956         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
25957
25958 2010-08-27  Eric Blake  <eblake@redhat.com>
25959
25960         login_tty: add missing dependency
25961         * modules/login_tty (Depends-on): Add pty.
25962
25963 2010-08-26  Eric Blake  <eblake@redhat.com>
25964
25965         lib-symbol-versions: fix m4 quoting
25966         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
25967         format for AC_LINK_IFELSE.
25968
25969         glob: fix compile test
25970         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
25971
25972         btowc: fix missing file
25973         * modules/btowc (Files): Also ship locale-fr.m4.
25974
25975         lseek: fix link test
25976         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
25977         AC_LINK_IFELSE.
25978
25979         include_next: silence autoconf 2.68 warning
25980         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
25981         AC_COMPILE_IFELSE as special.
25982         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
25983         autoconf < 2.68.
25984
25985         acl: fix compilation test
25986         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
25987         AC_COMPILE_IFELSE.
25988
25989 2010-08-26  Bruno Haible  <bruno@clisp.org>
25990
25991         Modernize AC_TRY_RUN invocations.
25992         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
25993         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
25994         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
25995         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
25996         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
25997         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
25998         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
25999         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
26000         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
26001         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
26002         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
26003         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
26004         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
26005         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
26006         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
26007         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
26008         gl_MBRLEN_NUL_RETVAL): Likewise.
26009         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
26010         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
26011         Likewise.
26012         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
26013         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
26014         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
26015         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
26016         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
26017         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
26018         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
26019         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
26020         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
26021         Likewise.
26022         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
26023         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
26024         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
26025         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
26026         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
26027         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
26028         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
26029         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
26030         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
26031         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
26032
26033 2010-08-26  Bruno Haible  <bruno@clisp.org>
26034
26035         Modernize AC_TRY_LINK invocations.
26036         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
26037         AC_TRY_LINK.
26038         * m4/argp.m4 (gl_ARGP): Likewise.
26039         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
26040         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
26041         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
26042         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
26043         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
26044         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
26045         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
26046         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
26047         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
26048         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
26049         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
26050         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
26051         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
26052         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
26053         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
26054         * m4/hostent.m4 (gl_HOSTENT): Likewise.
26055         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
26056         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
26057         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
26058         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
26059         Likewise.
26060         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
26061         Likewise.
26062         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
26063         Likewise.
26064         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
26065         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
26066         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
26067         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
26068         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
26069         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
26070         * m4/servent.m4 (gl_SERVENT): Likewise.
26071         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
26072         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
26073         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
26074         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
26075         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
26076         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
26077         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
26078         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
26079         * modules/tsearch-tests (configure.ac): Likewise.
26080
26081 2010-08-26  Bruno Haible  <bruno@clisp.org>
26082
26083         Modernize AC_TRY_COMPILE invocations.
26084         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
26085         AC_TRY_COMPILE.
26086         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
26087         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
26088         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
26089         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
26090         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
26091         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
26092         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
26093         * m4/lock.m4 (gl_LOCK): Likewise.
26094         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
26095         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
26096         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
26097         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
26098         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
26099         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
26100         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
26101         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
26102         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
26103         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
26104         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
26105         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
26106         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
26107         extraneous semicolon.
26108
26109 2010-08-26  Jim Meyering  <meyering@redhat.com>
26110
26111         stat-time: relax license LGPL
26112         * modules/stat-time (License): Change from GPL to LGPL,
26113         with consent from all contributors, for use in libguile.
26114         Requested by Ludovic Courtès.
26115
26116 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
26117
26118         poll: return immediately on POLLHUP.
26119         * lib/poll.c (poll): Always set timeout before wait_timeout is
26120         computed.
26121
26122 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26123
26124         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
26125         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
26126         rmdir ("dir/.//"), unlinkat.
26127
26128 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
26129
26130         stdbool: avoid spurious failure with modern xlc
26131         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
26132
26133 2010-08-24  Bruno Haible  <bruno@clisp.org>
26134
26135         getloadavg: simplify code
26136         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
26137         gl_have_func. Update comments.
26138
26139 2010-08-24  Eric Blake  <eblake@redhat.com>
26140
26141         getloadavg: don't define SVR4 on cygwin
26142         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
26143         only define SVR4 when -lkvm is required.
26144         Reported by Yaakov Selkowitz.
26145
26146 2010-08-24  Bruno Haible  <bruno@clisp.org>
26147
26148         priv-set: fix comment
26149         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
26150
26151 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
26152
26153         priv-set: fix comments
26154         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
26155         to match code, as suggested by David Bartley in:
26156         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
26157
26158 2010-08-23  Eric Blake  <eblake@redhat.com>
26159
26160         stdbool: avoid rejecting clang
26161         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
26162         * tests/test-stdbool.c: Enable more tests if using the system
26163         <stdbool.h> instead of the gnulib replacement.
26164         (main): Move xlc bug test to a runtime test for all compilers.
26165         Reported by Anders Kaseorg.
26166
26167         argz: fix shell quoting issue
26168         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
26169         Reported by Charles Wilson.
26170
26171 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
26172             Erik Faye-Lund <kusmabite@gmail.com>
26173
26174         poll, select: handle ERROR_BROKEN_PIPE.
26175         * lib/poll.c (win32_compute_revents): Return POLLHUP when
26176         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
26177         * lib/select.c (win32_compute_revents): Do not mark a pipe
26178         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
26179
26180 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
26181
26182         fts: allow compilation with C++
26183         * lib/fts_.h: Specify extern "C" linkage with C++.
26184
26185 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26186
26187         Fix gnulib-tool sed script de-commentation for AIX sed.
26188         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
26189         sed.
26190
26191 2010-08-17  Eric Blake  <eblake@redhat.com>
26192
26193         test-stddef: test for (some) offsetof bugs
26194         * tests/test-stddef.c: Enhance test to ensure correct type of
26195         offsetof.
26196         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
26197         that we are not fixing at this time.
26198
26199 2010-08-15  Bruno Haible  <bruno@clisp.org>
26200
26201         stpncpy: Allow stpncpy to be defined as a macro.
26202         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
26203         if it's already correctly declared.
26204         * lib/string.in.h (stpncpy): Undefine before redefining.
26205         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
26206
26207 2010-08-14  Bruno Haible  <bruno@clisp.org>
26208
26209         Rename module 'memxfrm' to 'amemxfrm'.
26210         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
26211         (amemxfrm): Renamed from memxfrm.
26212         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
26213         (amemxfrm): Renamed from memxfrm.
26214         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
26215         * NEWS: Mention the change.
26216         * MODULES.html.sh (String handling <string.h>): Update.
26217         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
26218         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
26219         * lib/unicase/u16-casexfrm.c: Likewise.
26220         * lib/unicase/u32-casexfrm.c: Likewise.
26221         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
26222         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
26223         * lib/uninorm/u16-normxfrm.c: Likewise.
26224         * lib/uninorm/u32-normxfrm.c: Likewise.
26225         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
26226         memxfrm.
26227         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
26228         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
26229         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
26230         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
26231         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
26232         Suggested by Paul Eggert.
26233
26234 2010-08-14  Bruno Haible  <bruno@clisp.org>
26235
26236         Tests for module 'astrxfrm'.
26237         * modules/astrxfrm-tests: New file.
26238         * tests/test-astrxfrm.c: New file.
26239
26240         New module 'astrxfrm'.
26241         * lib/astrxfrm.h: New file.
26242         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
26243         * modules/astrxfrm: New file.
26244
26245 2010-08-14  Reuben Thomas <rrt@sc3d.org>
26246
26247         regex: Tweak doc.
26248         * doc/regex.texi (Overview): Don't mention regex.c.
26249         (GNU Regular Expression Compiling): Likewise.
26250         (Match-end-of-line Operator): Mention 'not_eol'.
26251
26252 2010-08-14  Brian Gough  <bjg@gnu.org>
26253             Bruno Haible  <bruno@clisp.org>
26254
26255         git-merge-changelog: add doc relating to use with bzr and hg.
26256         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
26257
26258 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
26259
26260         pthread: fix pthread.h creation for srcdir != builddir
26261         * modules/pthread (Makefile.am): Fix the rule to work also in a
26262         non-srcdir build.
26263
26264 2010-08-13  Karl Berry  <karl@gnu.org>
26265
26266         * doc/regex.texi (Predefined Syntaxes): @smallexample.
26267         * doc/posix-*/*: force line break before @url of POSIX
26268         specifications.
26269         Suggested by Werner Lemberg.
26270
26271 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
26272
26273         strtod: fix const diagnostic
26274         * lib/strtod.c (strtod): Don't assign const char * to char *,
26275         as this elicits a warning from GCC when warnings are enabled.
26276
26277 2010-08-10  Pádraig Brady <P@draigbrady.com>
26278         and Eric Blake  <eblake@redhat.com>
26279
26280         copy-acl: ignore ENOTSUP on HP-UX
26281         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
26282         so that it is available for HP-UX.
26283         * lib/copy-acl.c (qcopy_acl): Use it.
26284         Reported by Patrick M. Callahan.
26285
26286 2010-08-10  Eric Blake  <eblake@redhat.com>
26287
26288         open, chown: relax license
26289         * modules/open (License): Change to LGPLv2+, with consent by all
26290         authors, for use in augeas.
26291         * modules/chown (License): Likewise.
26292         * modules/lchown (Likewise): Likewise.
26293         Requested by Adam Stokes.
26294
26295 2010-08-09  Karl Berry  <karl@gnu.org>
26296
26297         * build-aux/ar-lib: new file, import from Automake.
26298         * config/srclist.txt: autocheck for updates.
26299
26300 2010-08-09  Eric Blake  <eblake@redhat.com>
26301
26302         readlinkat: adjust client modules
26303         * modules/areadlinkat (Depends-on): Use readlinkat, not
26304         symlinkat.
26305         * modules/areadlinkat-with-size (Depends-on): Likewise.
26306
26307         mknod: be more vocal about danger of running tests as root
26308         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
26309         root, since that is just asking for problems.
26310         Suggested by Bruno Haible, based on a report by Rainer Tammer.
26311
26312         readlinkat: split into its own module
26313         * modules/symlinkat: Split readlinkat...
26314         * modules/readlinkat: ...into separate module.
26315         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
26316         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
26317         * lib/symlinkat.c (readlinkat): Move...
26318         * lib/readlinkat.c: ...into new file.
26319         * modules/symlinkat-tests: Split readlinkat test...
26320         * modules/readlinkat-tests: ...into separate module.
26321         * tests/test-symlinkat.c: Split...
26322         * tests/test-readlinkat.c: ...into new file.
26323         * NEWS: Document the split.
26324         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
26325         * lib/unistd.in.h (readlinkat): Likewise.
26326         Suggested by Bruno Haible.
26327
26328 2010-08-08  Bruno Haible  <bruno@clisp.org>
26329
26330         memxfrm: Speed up.
26331         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
26332         that usually only one call to strxfrm is necessary for each string
26333         part.
26334         Reported by Paul Eggert <eggert@cs.ucla.edu>.
26335
26336 2010-08-07  Karl Berry  <karl@gnu.org>
26337
26338         * doc/posix-headers/limits.texi,
26339         * doc/posix-functions/malloc.texi,
26340         * doc/posix-functions/strsignal.texi: missing @item.
26341         * doc/ld-version-script.texi: spurious leading i.
26342         * doc/regex.texi (Interval Operators): no commas inside @var.
26343
26344 2010-08-01  Bruno Haible  <bruno@clisp.org>
26345
26346         Integrate the regex documentation.
26347         * doc/gnulib.texi: Define 'cn' index.
26348         (Regular expressions): New a chapter that includes regex.texi and
26349         regexprops-generic.texi.
26350         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
26351         syntax.
26352
26353         Whitespace cleanup.
26354         * doc/regex.texi: Remove trailing spaces.
26355
26356         Add regex documentation.
26357         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
26358         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
26359         Written by Kathy A. Hargreaves and Karl Berry.
26360
26361 2010-08-01  Bruno Haible  <bruno@clisp.org>
26362
26363         link: Update documentation.
26364         * doc/posix-functions/link.texi: Update regarding Solaris.
26365
26366 2010-07-31  Bruno Haible  <bruno@clisp.org>
26367
26368         Update modules list.
26369         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
26370         (String handling <string.h>): Add memcmp2, memxfrm.
26371         (Container data structures): Add xlist, xsublist, xoset.
26372         (Core language properties): Add alignof, unused-parameter.
26373         (Process control, Numeric conversion functions <stdlib.h>): Renamed
26374         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
26375         (Unibyte characters <ctype.h>): New section.
26376         (String handling <string.h>): New section.
26377         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
26378         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
26379         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
26380         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
26381         tan, tanh, tanl, y0, y1, yn.
26382         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
26383         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
26384         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
26385         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
26386         unlockpt, vdprintf, vdprintf-posix.
26387         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
26388         (File system functions): Add concat-filename, sys_file, sys_ioctl,
26389         xconcat-filename.
26390         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
26391         getdtablesize, pipe2, pipe2-safer.
26392         (Security): New section.
26393         (Networking functions): Add accept4.
26394         (Signal handling): Add sigpipe.
26395         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
26396         mbmemcasecoll.
26397         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
26398         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
26399         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
26400         pipe-filter-ii.
26401         (Misc): Add argp-version-etc, login_tty, parse-duration.
26402
26403 2010-07-31  Bruno Haible  <bruno@clisp.org>
26404
26405         Improve doc in MODULES.html.
26406         * modules/linkat (Description): Add the word "function".
26407         * modules/mkfifo (Description): Likewise.
26408         * modules/mknod (Description): Likewise.
26409         * modules/remove (Description): Likewise.
26410         * modules/renameat (Description): Likewise.
26411         * modules/stat (Description): Likewise.
26412         * modules/symlink (Description): Likewise.
26413         * modules/unlink (Description): Likewise.
26414
26415 2010-07-31  Bruno Haible  <bruno@clisp.org>
26416
26417         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
26418         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
26419         option --enable/disable-c++ instead of --enable/disable-cxx.
26420         * NEWS: Mention the change.
26421
26422 2010-07-31  Bruno Haible  <bruno@clisp.org>
26423
26424         readlink, areadlink: Relax test a bit.
26425         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
26426         alternative to ENOTDIR.
26427         * tests/test-areadlink.h (test_areadlink): Likewise.
26428         Reported by Rainer Tammer.
26429
26430 2010-07-31  Bruno Haible  <bruno@clisp.org>
26431
26432         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
26433         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
26434         character, perform the search using U_STRCHR.
26435         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
26436         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
26437         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
26438         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
26439         Suggested by Paolo Bonzini.
26440
26441 2010-07-31  Bruno Haible  <bruno@clisp.org>
26442
26443         unistr/u*-strstr: Fix dependencies.
26444         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
26445         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
26446         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
26447
26448 2010-07-31  Bruno Haible  <bruno@clisp.org>
26449
26450         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
26451         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
26452         the beginning of the loop.
26453         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
26454         cases in 'switch' statement.
26455
26456         unistr/u8-strchr: Fix several bugs.
26457         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
26458         the string. When not found, return NULL, not a pointer near the end.
26459
26460         More tests for unistr/u8-strchr.
26461         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
26462         that the function does not read past the first occurrence of the byte
26463         being searched.
26464         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
26465         * tests/unistr/test-u16-strchr.c (main): New function.
26466         * tests/unistr/test-u32-strchr.c (main): New function.
26467
26468 2010-07-31  Bruno Haible  <bruno@clisp.org>
26469
26470         posix-modules: Ignore backup files of documentation files.
26471         * posix-modules: grep only through files named *.texi.
26472
26473 2010-07-31  Bruno Haible  <bruno@clisp.org>
26474
26475         symlinkat: Fix documentation.
26476         * doc/posix-functions/readlinkat.texi: Fix module name.
26477
26478 2010-07-31  Bruno Haible  <bruno@clisp.org>
26479
26480         fchownat: Replace also when chown has the trailing slash bug.
26481         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
26482         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
26483         introduced on 2010-04-10.
26484         Reported by Rainer Tammer.
26485
26486 2010-07-31  Bruno Haible  <bruno@clisp.org>
26487
26488         linkat: Work around AIX 7.1 bug.
26489         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
26490         whether linkat handles trailing slash correctly. If not, replace linkat
26491         and define LINKAT_TRAILING_SLASH_BUG.
26492         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
26493         check whether (fd1,file1) points to a directory if file1 or file2 ends
26494         in a slash. Code taken from lib/link.c.
26495         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
26496         Reported by Rainer Tammer.
26497
26498 2010-07-31  Bruno Haible  <bruno@clisp.org>
26499
26500         Correctly determine whether pow is available in libc on AIX 7 with xlc.
26501         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
26502         This disables an xlc optimization that was causing wrong test results.
26503         Reported by Rainer Tammer.
26504
26505 2010-07-31  Bruno Haible  <bruno@clisp.org>
26506
26507         iconv: Work around AIX 6.1..7.1 bug.
26508         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
26509         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
26510         cross-compiling, guess no on all versions of AIX.
26511         Reported by Rainer Tammer.
26512
26513 2010-07-31  Bruno Haible  <bruno@clisp.org>
26514
26515         readlink: Relax test a bit.
26516         * tests/test-readlink.h (test_readlink): Allow different errno value
26517         when readlink is called with a file name that ends in / and refers to
26518         a file.
26519         Suggested by Eric Blake.
26520         Reported by Rainer Tammer.
26521
26522 2010-07-31  Bruno Haible  <bruno@clisp.org>
26523
26524         copysign: Does not require -lm on glibc systems.
26525         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
26526         gl_COMMON_DOUBLE_MATHFUNC.
26527         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
26528
26529 2010-07-31  Bruno Haible  <bruno@clisp.org>
26530
26531         duplocale: Work around AIX 7.1 bug.
26532         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
26533         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
26534         * lib/duplocale.c (rpl_duplocale): Update comment.
26535         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
26536         Reported by Rainer Tammer.
26537
26538 2010-07-30  Bruno Haible  <bruno@clisp.org>
26539
26540         dirfd: Avoid link error on AIX 7.1.
26541         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
26542         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
26543         exist, set REPLACE_DIRFD.
26544         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
26545         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
26546         * doc/posix-functions/dirfd.texi: Update.
26547         Reported by Rainer Tammer.
26548
26549 2010-07-30  Eric Blake  <eblake@redhat.com>
26550
26551         strtod: next round of AIX fixes
26552         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
26553         exponent.
26554         * tests/test-strtod.c (main): Enhance tests.
26555         * doc/posix-functions/strtod.texi (strtod): Document next bug.
26556         Reported by Rainer Tammer.
26557
26558         futimens: fix configure check
26559         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
26560         Reported by Bruno Haible.
26561
26562 2010-07-30  Bruno Haible  <bruno@clisp.org>
26563
26564         getline: Update regarding AIX.
26565         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
26566         Reported by Rainer Tammer.
26567
26568 2010-07-30  Bruno Haible  <bruno@clisp.org>
26569
26570         wcwidth: Drop replacement on AIX 7.
26571         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
26572         AIX 7.
26573         Reported by Rainer Tammer.
26574
26575 2010-07-30  Bruno Haible  <bruno@clisp.org>
26576
26577         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
26578         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
26579         a 'char *'.
26580         Reported by Rainer Tammer.
26581
26582 2010-07-30  Bruno Haible  <bruno@clisp.org>
26583
26584         unlink: Update regarding AIX.
26585         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
26586         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
26587         Reported by Rainer Tammer.
26588
26589 2010-07-30  Bruno Haible  <bruno@clisp.org>
26590
26591         symlink: Update regarding AIX.
26592         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
26593         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
26594         Reported by Rainer Tammer.
26595
26596 2010-07-30  Bruno Haible  <bruno@clisp.org>
26597
26598         strndup: Update regarding AIX.
26599         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
26600         AIX 7.
26601         Reported by Rainer Tammer.
26602
26603 2010-07-30  Bruno Haible  <bruno@clisp.org>
26604
26605         stat: Update regarding AIX.
26606         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
26607         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
26608         Reported by Rainer Tammer.
26609
26610 2010-07-30  Bruno Haible  <bruno@clisp.org>
26611
26612         truncl: Fix autoconf test.
26613         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
26614         whether truncl works.
26615         Reported by Rainer Tammer.
26616
26617 2010-07-30  Bruno Haible  <bruno@clisp.org>
26618
26619         round: Update regarding AIX.
26620         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
26621         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
26622         Reported by Rainer Tammer.
26623
26624 2010-07-30  Bruno Haible  <bruno@clisp.org>
26625
26626         rename: Update regarding AIX.
26627         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
26628         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
26629         Reported by Rainer Tammer.
26630
26631 2010-07-30  Bruno Haible  <bruno@clisp.org>
26632
26633         printf.m4: Update regarding AIX.
26634         * m4/printf.m4: Update comments regarding AIX.
26635         Reported by Rainer Tammer.
26636
26637 2010-07-30  Bruno Haible  <bruno@clisp.org>
26638
26639         iconv: Update regarding AIX.
26640         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
26641         AIX 7.
26642         Reported by Rainer Tammer.
26643
26644 2010-07-30  Bruno Haible  <bruno@clisp.org>
26645
26646         getopt: Update regarding AIX.
26647         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
26648         no on AIX.
26649         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
26650         Reported by Rainer Tammer.
26651
26652 2010-07-30  Bruno Haible  <bruno@clisp.org>
26653
26654         ldexpl; Update regarding AIX.
26655         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
26656         on AIX 7.
26657         Reported by Rainer Tammer.
26658
26659 2010-07-30  Bruno Haible  <bruno@clisp.org>
26660
26661         frexpl: Update regarding AIX.
26662         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
26663         on AIX 7.
26664         Reported by Rainer Tammer.
26665
26666 2010-07-30  Bruno Haible  <bruno@clisp.org>
26667
26668         open, fopen: Update regarding AIX.
26669         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
26670         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
26671         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
26672         * doc/posix-functions/fopen.texi: Likewise.
26673         Reported by Rainer Tammer.
26674
26675 2010-07-30  Bruno Haible  <bruno@clisp.org>
26676
26677         chown: Update doc regarding AIX.
26678         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
26679         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
26680         Reported by Rainer Tammer.
26681
26682 2010-07-30  Eric Blake  <eblake@redhat.com>
26683
26684         strtod: fix bug in replacement function on AIX
26685         * lib/strtod.c (strtod): Special case broken "0x" parse in
26686         underlying strtod.
26687         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
26688         * doc/posix-functions/strtod.texi (strtod): Likewise.
26689         Reported by Rainer Tammer.
26690
26691 2010-07-30  Bruno Haible  <bruno@clisp.org>
26692
26693         mbrlen: Fix cross-compilation guess for AIX.
26694         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
26695         guess. Leftover from 2008-12-22.
26696
26697 2010-07-30  Bruno Haible  <bruno@clisp.org>
26698
26699         mbrtowc: Fix cross-compilation guess for AIX.
26700         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
26701         guess. Leftover from 2008-12-21.
26702
26703 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
26704
26705         init.sh: work around trap limitation of some shells
26706         * tests/init.sh (setup_): Move exit trap outside of shell function.
26707
26708 2010-07-29  Eric Blake  <eblake@redhat.com>
26709
26710         strtod: aid debugging
26711         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
26712         understanding why strtod is rejected.
26713
26714 2010-07-28  Bruno Haible  <bruno@clisp.org>
26715
26716         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
26717         * lib/unistr/u8-chr.c: Include <string.h>.
26718         * tests/unistr/test-u8-chr.c: Likewise.
26719         * tests/unistr/test-u16-chr.c: Likewise.
26720         * tests/unistr/test-u32-chr.c: Likewise.
26721         * tests/unistr/test-u8-strchr.c: Likewise.
26722         * tests/unistr/test-u16-strchr.c: Likewise.
26723         * tests/unistr/test-u32-strchr.c: Likewise.
26724         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
26725         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
26726         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
26727         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
26728
26729 2010-07-28  Bruno Haible  <bruno@clisp.org>
26730
26731         Use spaces for indentation, not tabs.
26732         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
26733
26734 2010-07-27  Bruno Haible  <bruno@clisp.org>
26735
26736         mbspcasecmp: Fix function specification.
26737         * lib/string.in.h (mbspcasecmp): Fix specification comment.
26738         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
26739         Reported by Eric Blake <eblake@redhat.com>.
26740
26741 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
26742
26743         timespec: use cast and not conditional, as truncation isn't possible
26744         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
26745         instead of a conditional.  Comment about the situation in more detail.
26746         This undoes most of the 2009-10-29 patch.
26747
26748 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
26749
26750         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
26751         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
26752         * lib/unistr/u8-strchr.c: Likewise.
26753         * modules/unistr/u8-chr: Depend on memchr.
26754
26755         unistr/u*-strchr: add tests
26756         * modules/unistr/u8-strchr-tests: New file.
26757         * modules/unistr/u16-strchr-tests: New file.
26758         * modules/unistr/u32-strchr-tests: New file.
26759         * tests/unistr/test-strchr.h: New file.
26760         * tests/unistr/test-u8-strchr.c: New file.
26761         * tests/unistr/test-u16-strchr.c: New file.
26762         * tests/unistr/test-u32-strchr.c: New file.
26763
26764         unistr/u*-chr: test multibyte sequences more
26765         * tests/unistr/test-chr.h: Do complete testing of the characters in the
26766         test vector.
26767         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
26768         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
26769         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
26770
26771         unistr/u*-chr: test multibyte sequences
26772         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
26773
26774         unistr/u*-chr: prepare for multibyte tests
26775         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
26776         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
26777         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
26778         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
26779         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
26780         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
26781
26782 2010-07-18  Bruno Haible  <bruno@clisp.org>
26783
26784         unistr/u8-strchr: Optimize non-ASCII argument case.
26785         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
26786         because the first byte often matches anyway.
26787         Reported by Pádraig Brady <P@draigbrady.com>.
26788
26789 2010-07-15  Karl Berry  <karl@gnu.org>
26790
26791         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
26792
26793 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
26794
26795         getcwd: on Solaris, work better if ancestors are inaccessible
26796         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
26797         buffer and size, try again with a large buffer.  This works better
26798         on Solaris, since its getcwd succeeds even if the path to the root
26799         is inaccessible, and this is helpful in common cases such as .zfs
26800         hidden directories.  Problem reported by J Chapman Flack in
26801         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
26802         Use system getcwd if it's declared, not merely if it's partly
26803         working; use the partly-working test only to avoid needless effort
26804         if the system getcwd fails.
26805         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
26806         comment that was already obsolete and is now even more obsolete.
26807         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
26808         now might call strdup.
26809
26810 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
26811
26812         pthread: Add enough so that coreutils/src/sort.c compiles.
26813         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
26814         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
26815         gnulib. Include <sched.h> and <time.h>, as per POSIX.
26816         Include <sys/types.h>, in case it defines pthread_t.
26817         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
26818         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
26819         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
26820         (pthread_rwlockattr_t, pthread_spinlock_t):
26821         New typedefs, if HAVE_PTHREAD_T is not defined.
26822         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
26823         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
26824         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
26825         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
26826         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
26827         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
26828         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
26829         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
26830         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
26831         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
26832         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
26833         New macros.
26834         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
26835         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
26836         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
26837         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
26838         (pthread_spin_unlock): New dummy functions.
26839         (pthread_create): Return EAGAIN; don't set errno.
26840         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
26841         require AC_C_INLINE.
26842         * modules/pthread (Depends-on): Add sched, time.
26843         (pthread.h): Use AM_V_GEN.
26844
26845 2010-07-13  Bruno Haible  <bruno@clisp.org>
26846
26847         striconveh: Don't malloc memory if the result buffer is sufficient.
26848         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
26849         buffer if its size is sufficient.
26850         Reported by Ludovic Courtès <ludo@gnu.org>.
26851
26852 2010-07-13  Bruno Haible  <bruno@clisp.org>
26853
26854         strtod: Add safety check.
26855         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
26856
26857 2010-07-12  Bruno Haible  <bruno@clisp.org>
26858
26859         Unify tests that set gl_cv_func_ldexpl_no_libm.
26860         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
26861         gl_FUNC_LDEXPL.
26862         (gl_FUNC_LDEXPL): Invoke it.
26863         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
26864
26865 2010-07-12  Bruno Haible  <bruno@clisp.org>
26866
26867         Unify tests that set gl_cv_func_ldexp_no_libm.
26868         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
26869         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
26870         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
26871         (configure.ac): Simply invoke gl_FUNC_LDEXP.
26872         * modules/strtod (Files): Add m4/ldexp.m4.
26873
26874 2010-07-12  Bruno Haible  <bruno@clisp.org>
26875
26876         Unify tests that set gl_cv_func_frexpl_no_libm.
26877         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
26878         gl_FUNC_FREXPL_NO_LIBM.
26879         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
26880         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
26881
26882 2010-07-12  Bruno Haible  <bruno@clisp.org>
26883
26884         Unify tests that set gl_cv_func_frexp_no_libm.
26885         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
26886         gl_FUNC_FREXP_NO_LIBM.
26887         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
26888         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
26889
26890 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
26891
26892         memcoll: clarify sizes versus lengths, document better, and tweak perf
26893         * lib/memcoll.c (strcoll_loop, memcoll0):
26894         Improve quality of descriptive comments.  Name variables
26895         consistently as to whether they are lengths (which do not include
26896         terminating null) versus sizes (which do).
26897         * lib/xmemcoll.c (xmemcoll0): Likewise.
26898         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
26899         returned when s1size == 0; this is easier to compile and saves
26900         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
26901
26902 2010-07-12  Bruno Haible  <bruno@clisp.org>
26903
26904         Tests for module '_Exit'.
26905         * modules/_Exit-tests: New file.
26906         * tests/test-_Exit.sh: New file.
26907         * tests/test-_Exit.c: New file.
26908
26909         New module '_Exit'.
26910         * lib/stdlib.in.h (__attribute__): New macro.
26911         (_Exit): New declaration.
26912         * lib/_Exit.c: New file.
26913         * m4/_Exit.m4: New file.
26914         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
26915         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
26916         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
26917         * modules/_Exit: New file.
26918         * tests/test-stdlib-c++.cc (_Exit): Check signature.
26919         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
26920
26921 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
26922
26923         strtod: make it more-accurate typically, and don't require libm
26924         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
26925         Include limits.h.  Don't include string.h.
26926         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
26927         (locale_isspace): New function, so that no casts are needed to
26928         check whether *s is a space.
26929         (ldexp): Provide an unused dummy if not available.
26930         (scale_radix_exp, parse_number, underlying_strtod): New functions.
26931         (strtod): Use them.  This implementation prefers to use the
26932         underlying strtod if available, falling back on our own code
26933         only to fix known bugs.  This is more likely to produce an
26934         accurate result.  Also, it avoids the use of libm functions.
26935         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
26936         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
26937         was absent, but it caused a test failure with coreutils.
26938         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
26939         with libm.
26940         * modules/strtod (Makefile.am, Link): libm is no longer needed.
26941         * modules/strtod-tests (Makefile.am): Likewise.
26942
26943 2010-07-11  Pádraig Brady  <P@draigBrady.com>
26944             Bruno Haible  <bruno@clisp.org>
26945
26946         unistr/u8-strchr: Optimize ASCII argument case.
26947         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
26948
26949 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
26950
26951         (x)memcoll: minor tweaks
26952         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
26953         is after the type that it qualifies.
26954         (memcoll0): Likewise.
26955         * lib/memcoll.h (memcoll0): Likewise.
26956         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
26957         * lib/xmemcoll.h (xmemcoll0): Likewise.
26958         * lib/memcoll.c (memcoll0): Correct the comment.  This function
26959         differs from memcoll in that the NUL byte is part of the argument.
26960         Omit the abort-checks, as performance is a real issue here.  Plus,
26961         the checks were wrong anyway (an off-by-one error).  Omit local
26962         variable 'diff', as it's a bit clearer that way.
26963         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
26964         no longer needed.
26965
26966 2010-07-08  Chen Guo <chenguo4@yahoo.com>
26967
26968         (x)memcoll: speedup when input is known to be NUL delimited
26969         * lib/memcoll.c: Include stdlib.
26970         (memcoll0): New function.
26971         (strcoll_loop): New function, refactored for use in both memcoll
26972         and memcoll0.
26973         * lib/memcoll.h (memcoll0): Add prototype.
26974         * lib/xmemcoll.c (xmemcoll0): New function.
26975         (collate_error): New function, refactored for use in both xmemcoll
26976         and xmemcoll0.
26977         * lib/xmemcoll.h (xmemcoll0): Add prototype.
26978         * m4/memcoll.m4: add inline invocation.
26979
26980 2010-07-06  Pádraig Brady  <P@draigBrady.com>
26981
26982         * build-aux/bootstrap: Remove any local translations
26983         from the translation project synchronization directory,
26984         so that local only translations are not distributed.
26985
26986 2010-07-04  Bruno Haible  <bruno@clisp.org>
26987
26988         fsusage: Clarify which code applies to which platforms.
26989         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
26990         platform.
26991         * lib/fsusage.c (get_fs_usage): Likewise.
26992
26993 2010-07-04  Bruno Haible  <bruno@clisp.org>
26994
26995         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
26996         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
26997         Reported by Martin Lambers <marlam@marlam.de>.
26998
26999 2010-07-04  Jim Meyering  <meyering@redhat.com>
27000
27001         hash: once again explicitly disallow insertion of NULL
27002         * lib/hash.c (hash_insert0): Reinstate just-removed test:
27003         inserting a NULL pointer cannot work with these functions.
27004         Add a comment with details.
27005         This reverts part of the 2010-07-01 commit, 5bef1a35
27006         "hash: extend module to deal with non-pointer keys".
27007
27008 2010-07-01  Bruno Haible  <bruno@clisp.org>
27009
27010         stdbool: Update doc.
27011         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
27012         Info from Christian Weisgerber <naddy@mips.inka.de>.
27013
27014 2010-07-01  Jim Meyering  <meyering@redhat.com>
27015
27016         hash: extend module to deal with non-pointer keys
27017         * lib/hash.c (hash_insert0): New interface, much like hash_insert
27018         but that allows insertion of non-pointer entries.
27019         Do not disallow an ENTRY value of NULL.
27020         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
27021         * lib/hash.h (hash_insert0): Declare.
27022
27023 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
27024
27025         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
27026         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
27027         not present (i.e. with autoconf 2.59 and when using gettextize, not
27028         gnulib), require AC_GNU_SOURCE instead.
27029
27030 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
27031
27032         idpriv-drop: Fix tests.
27033         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
27034         not to the test-idpriv-droptemp program.
27035
27036 2010-06-29  Bruno Haible  <bruno@clisp.org>
27037
27038         string: Fix syntax error with g++ 2.96.
27039         * lib/string.in.h (__pure__): Remove definition.
27040         (_GL_ATTRIBUTE_PURE): New macro.
27041         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
27042         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
27043         Reported by Christian Weisgerber <naddy@mips.inka.de>.
27044
27045 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
27046
27047         unitypes: Fix bug introduced on 2010-05-18.
27048         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
27049
27050 2010-06-22  Eric Blake  <eblake@redhat.com>
27051
27052         memmem: slight optimization
27053         * lib/str-two-way.h (critical_factorization): Update comments.
27054         Reduce work during factorization phase.
27055         Reported by Carlos Bueno <carlos@bueno.org>.
27056
27057 2010-06-21  Bruno Haible  <bruno@clisp.org>
27058
27059         Fix HAVE_CALLOC_POSIX misnomer.
27060         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
27061         !HAVE_CALLOC_POSIX.
27062         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
27063         HAVE_CALLOC_POSIX.
27064         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
27065         instead of HAVE_CALLOC_POSIX.
27066         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
27067         HAVE_CALLOC_POSIX.
27068
27069         Use modern idiom for calloc() replacement.
27070         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
27071         AC_FUNC_CALLOC.
27072         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
27073         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
27074         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
27075         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
27076         (gl_REPLACE_CALLOC): New macro.
27077
27078 2010-06-21  Bruno Haible  <bruno@clisp.org>
27079
27080         Fix HAVE_REALLOC_POSIX misnomer.
27081         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
27082         !HAVE_REALLOC_POSIX.
27083         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
27084         HAVE_REALLOC_POSIX.
27085         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
27086         instead of HAVE_REALLOC_POSIX.
27087         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
27088         HAVE_REALLOC_POSIX.
27089
27090         Use modern idiom for realloc() replacement.
27091         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
27092         AC_FUNC_REALLOC.
27093         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
27094         Autoconf's AC_FUNC_REALLOC.
27095         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
27096         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
27097         (gl_REPLACE_REALLOC): New macro.
27098         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
27099
27100 2010-06-21  Bruno Haible  <bruno@clisp.org>
27101
27102         Fix HAVE_MALLOC_POSIX misnomer.
27103         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
27104         !HAVE_MALLOC_POSIX.
27105         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
27106         HAVE_MALLOC_POSIX.
27107         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
27108         instead of HAVE_MALLOC_POSIX.
27109         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
27110         HAVE_MALLOC_POSIX.
27111
27112         Use modern idiom for malloc() replacement.
27113         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
27114         AC_FUNC_MALLOC.
27115         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
27116         Autoconf's AC_FUNC_MALLOC.
27117         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
27118         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
27119         (gl_REPLACE_MALLOC): New macro.
27120         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
27121
27122 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
27123
27124         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
27125         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
27126         This macro takes 3 arguments, not 4.
27127
27128 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
27129
27130         ipv6: fix detection under mingw
27131         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
27132         in6_addr.
27133
27134 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
27135
27136         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
27137         that strtod() works when cross-compiling to a glibc version known
27138         to work.
27139
27140 2010-06-15  Bruno Haible  <bruno@clisp.org>
27141
27142         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
27143
27144 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
27145
27146         select: Correct timeout.
27147         * lib/select.c (rpl_select): Compute wait_timeout correctly.
27148
27149 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
27150
27151         git-version-gen: init shell var to avoid env var influence
27152         * build-aux/git-version-gen (v): Init shell var to empty.
27153
27154 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
27155
27156         priv-set: Don't assume that priv.h exists merely because getppriv does.
27157         See Jan Andersen's bug report about AIX 5L in
27158         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
27159         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
27160         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
27161         * lib/priv-set.h: Likewise.
27162         * tests/test-priv-set.c: Likewise.
27163
27164 2010-06-13  Bruno Haible  <bruno@clisp.org>
27165
27166         relocatable: Make it easier to test whether to install wrappers.
27167         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
27168         RELOCATABLE_VIA_WRAPPER.
27169
27170 2010-06-13  Bruno Haible  <bruno@clisp.org>
27171
27172         gnulib-tool: Display specified modules and dependencies differently.
27173         * gnulib-tool (func_show_module_list): New function.
27174         (func_import, func_create_testdir): Invoke it.
27175         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
27176
27177 2010-06-13  Bruno Haible  <bruno@clisp.org>
27178
27179         gnulib-tool: Align code of func_import and func_create_testdir.
27180         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
27181         specified_modules.
27182
27183 2010-06-12  Jim Meyering  <meyering@redhat.com>
27184
27185         test-inttostr: avoid spurious failure on Solaris 9
27186         * tests/test-inttostr.c (main): Skip the test when snprintf fails
27187         to accept "%ju".  Reported by Bruno Haible.
27188
27189 2010-06-11  Jim Meyering  <meyering@redhat.com>
27190
27191         test-sys_socket: mark variables as used more readably
27192         * tests/test-sys_socket.c (main): Mark otherwise unused variables
27193         as "used" explicitly via (void) statement casts.  This is more
27194         readable than using them in an artificial return expression.
27195         Suggestion from Bruno Haible.
27196
27197 2010-06-11  Bruno Haible  <bruno@clisp.org>
27198
27199         Avoid some more warnings from "gcc -Wwrite-strings".
27200         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
27201         to 'const char *'.
27202         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
27203         * tests/test-c-strcasestr.c (main): Likewise.
27204         * tests/test-mbscasestr1.c (main): Likewise.
27205         * tests/test-mbscasestr2.c (main): Likewise.
27206         * tests/test-memmem.c (main): Likewise.
27207         * tests/test-strstr.c (main): Likewise.
27208         * tests/test-strcasestr.c (main): Likewise.
27209
27210 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27211
27212         init.sh: change framework_failure_ to fail with status 99, not 1
27213         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
27214         automake's parallel-tests rule that this is an unexpected failure,
27215         even if the test is listed in XFAIL_TESTS.
27216
27217 2010-06-11  Jim Meyering  <meyering@redhat.com>
27218
27219         test-inttostr: avoid warnings about 4-6KB literal strings
27220         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
27221         Include "macros.h", for its definition of ASSERT.
27222         (CK): s/assert/ASSERT/
27223         * modules/inttostr-tests (Files): Add macros.h.
27224
27225         init.sh: don't use $ME_ or skip_ before they are defined
27226         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
27227         their first uses.  Also hoist their companions: warn_, fail_,
27228         framework_failure_, $stderr_fileno.  Prompted by a patch from
27229         Stefano Lattarini.
27230
27231         test-sys_socket: avoid set-but-not-used warnings from gcc
27232         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
27233         avoid warning about set-but-not-used variables.
27234
27235         test-xvasprintf: avoid 'const' discard warnings
27236         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
27237         "const" when assigning from literal strings.
27238         (test_xasprintf): Add "void" in function argument list to placate
27239         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
27240
27241         tests: avoid compilation warnings in argmatch and exclude tests...
27242         in packages that define ARGMATCH_DIE_DECL, like coreutils.
27243         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
27244         Since it always exits, declare with the "noreturn" attribute.
27245         * tests/test-argmatch.c: Likewise.
27246
27247         tests: avoid 'const' discard warnings in mbsstr tests
27248         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
27249         * tests/test-mbsstr2.c (main): Likewise.
27250
27251         test-verify: avoid warning from gcc's -Wmissing-declarations
27252         * tests/test-verify.c (function): Declare to be static.
27253
27254         test-inttostr.c: include <string.h> for use of strcmp
27255         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
27256
27257         test-linkat: avoid failed assertion on "other" architectures
27258         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
27259         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
27260         sparc: https://bugs.launchpad.net/bugs/591968
27261
27262 2010-06-11  Jim Meyering  <meyering@redhat.com>
27263
27264         printf.m4: avoid autoconf's "Expanded Before Required" warning
27265         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
27266         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
27267         autoconf warning.
27268
27269 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
27270
27271         Replacement header templates are now named with ".in", not "_".
27272         * doc/gnulib-intro.texi: Correct.
27273
27274 2010-06-10  Jim Meyering  <meyering@redhat.com>
27275
27276         inttostr-tests: depend on snprintf, not snprintf-posix
27277         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
27278         snprintf-posix, to avoid this aclocal failure:
27279           missing file gnulib-tests/vasnprintf.c
27280           configure.ac:45: error: expected source file, required through \
27281           AC_LIBSOURCES, not found
27282
27283 2010-06-10  Jim Meyering  <meyering@redhat.com>
27284
27285         inttostr: add a new function, inttostr, and tests
27286         The namesake function was not available.  The existence of the
27287         template file, inttostr.c makes its addition nontrivial.
27288         * lib/anytostr.c: Rename from inttostr.c.
27289         (anytostr): Rename from inttostr.
27290         * lib/inttostr.c: New file.
27291         * modules/inttostr (Files): Add anytostr.c.
27292         (Makefile.am): Set lib_SOURCES instead of ...
27293         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
27294         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
27295         * lib/offtostr.c: Likewise.
27296         * lib/uinttostr.c: Likewise.
27297         * lib/umaxtostr.c: Likewise.
27298         * modules/inttostr-tests: New file.
27299         * tests/test-inttostr.c: New file.  Test these functions.
27300
27301 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
27302             Bruno Haible  <bruno@clisp.org>
27303
27304         Add "Extending Gnulib" chapter to manual.
27305         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
27306         chapter.
27307         (Extending Gnulib): New chapter.
27308         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
27309         chapter.
27310
27311 2010-06-09  Bruno Haible  <bruno@clisp.org>
27312
27313         Avoid relocwrapper link errors due to gnulib replacement functions.
27314         * lib/areadlink.c: Use the system's malloc, realloc functions.
27315         (areadlink): Set errno to ENOMEM explicitly.
27316         * modules/areadlink (Depends-on): Remove malloc-posix.
27317         Reported by Ben Pfaff <blp@cs.stanford.edu>.
27318
27319 2010-06-09  Bruno Haible  <bruno@clisp.org>
27320
27321         Avoid relocwrapper link errors due to gnulib replacement functions.
27322         * lib/canonicalize-lgpl.c: Use the system's malloc function.
27323         * lib/malloca.c: Likewise.
27324         * lib/relocatable.c: Likewise.
27325         * lib/progreloc.c: Use the system's malloc, sprintf functions.
27326         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
27327         * lib/setenv.c: Use the system's malloc, realloc functions.
27328         * lib/strerror.c: Use the system's sprintf function.
27329         Reported by Ben Pfaff <blp@cs.stanford.edu>.
27330
27331 2010-06-04  Bruno Haible  <bruno@clisp.org>
27332
27333         Prefer documented low-level autoconf macro names.
27334         * m4/lib-link.m4: Use m4_translit instead of translit.
27335         * m4/environ.m4: Likewise.
27336         * m4/mathfunc.m4: Likewise.
27337         * m4/onceonly.m4: Likewise.
27338         * m4/stdint.m4: Likewise.
27339         Suggested by Eric Blake.
27340
27341 2010-06-04  Martin Lambers  <marlam@marlam.de>
27342             Bruno Haible  <bruno@clisp.org>
27343
27344         havelib: Allow library names with '+' characters.
27345         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
27346         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
27347
27348 2010-06-09  Bruno Haible  <bruno@clisp.org>
27349
27350         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
27351         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
27352         realloc failed.
27353
27354 2010-06-08  Peter Simons  <simons@cryp.to>
27355
27356         maint.mk: make the news-check rule more configurable
27357         * top/maint.mk (news-check-lines-spec): New variable.
27358         (news-check): Use "sed -n 1,10p" in place of "head".
27359
27360 2010-06-07  Jim Meyering  <meyering@redhat.com>
27361
27362         do-release-commit-and-tag: fix typo in --help
27363         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
27364
27365         regex: avoid new dead-code warning with gcc-4.6.0
27366         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
27367         if-block containing a while-loop.  It's been unused for at least
27368         5 years.
27369
27370 2010-06-05  Bruno Haible  <bruno@clisp.org>
27371
27372         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
27373         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
27374
27375 2010-06-04  Bruno Haible  <bruno@clisp.org>
27376
27377         Update to GNU gettext 0.18.1.
27378         * modules/gettext (configure.ac): Require gettext infrastructure from
27379         version 0.18.1.
27380
27381 2010-06-03  Bruno Haible  <bruno@clisp.org>
27382
27383         Don't use AC_LIBOBJ with file names in subdirectories.
27384         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
27385         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
27386         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
27387         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
27388         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
27389         gl_LIBUNISTRING_LIBSOURCE.
27390         (Makefile.am): Augment lib_SOURCES here, conditionally.
27391         * NEWS: Drop requirement for Automake option 'subdir-objects'.
27392
27393 2010-06-03  Bruno Haible  <bruno@clisp.org>
27394
27395         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
27396         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
27397         expansion does not end with a newline.
27398         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
27399         unnecessary newline.
27400
27401 2010-06-03  Bruno Haible  <bruno@clisp.org>
27402
27403         Reduce dependencies.
27404         * tests/test-quotearg.h: New file, extracted from
27405         tests/test-quotearg.c.
27406         * tests/test-quotearg-simple.c: New file, extracted from
27407         tests/test-quotearg.c.
27408         * tests/test-quotearg.c: Don't include <ctype.h>.
27409         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
27410         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
27411         use_quote_double_quotes, use_quotearg_colon): Moved to
27412         tests/test-quotearg.h.
27413         (results_g, flag_results, custom_quotes, custom_results): Moved
27414         to tests/test-quotearg-simple.c.
27415         (main): Moved the part that does not depend on gettext to
27416         tests/test-quotearg-simple.c. Return 77 if the test cannot be
27417         performed.
27418         * modules/quotearg-simple: New file.
27419         * modules/quotearg-simple-tests: New file.
27420         * modules/quotearg (Depends-on): Add quotearg-simple.
27421         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
27422         (Files): Add tests/test-quotearg.h.
27423         Reported by Paolo Bonzini.
27424
27425 2010-06-03  Bruno Haible  <bruno@clisp.org>
27426
27427         Reduce dependencies.
27428         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
27429
27430 2010-06-03  Bruno Haible  <bruno@clisp.org>
27431
27432         time: Undefine more broken macros.
27433         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
27434         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
27435         Reported by Eric Blake.
27436
27437 2010-06-03  Bruno Haible  <bruno@clisp.org>
27438
27439         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
27440         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
27441         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
27442         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
27443         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
27444         Reported by Ludovic Courtès <ludo@gnu.org>.
27445
27446 2010-06-02  Eric Blake  <eblake@redhat.com>
27447
27448         time: work with mingw + pthreads-win32 library
27449         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
27450         if timespec is defined only in pthread.h.
27451         * modules/time (Makefile.am): Substitute it.
27452         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
27453         <pthread.h>, when needed.
27454         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
27455         from the library.
27456
27457 2010-05-31  Bruno Haible  <bruno@clisp.org>
27458
27459         Avoid expanding two macros in the wrong order.
27460         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
27461         gl_LIBUNISTRING if it is defined.
27462         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
27463         autoconf >= 2.64.
27464         Reported by Ludovic Courtès <ludo@gnu.org>.
27465
27466 2010-05-27  Jim Meyering  <meyering@redhat.com>
27467
27468         maint.mk: also prohibit "#undef" of always-defined symbols
27469         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
27470         Allow more than one space before the symbol name.
27471         (sc_prohibit_always-defined_macros): Use grep's -E, now that
27472         the regexp uses alternation.
27473
27474 2010-05-26  Eric Blake  <eblake@redhat.com>
27475
27476         maint.mk: avoid echo -e
27477         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
27478         Convert all uses of echo -* to printf.
27479         Reported by Matthias Bolte.
27480
27481 2010-05-25  Bruno Haible  <bruno@clisp.org>
27482
27483         Update to GNU gettext 0.18, part 2.
27484         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
27485         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
27486
27487 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27488
27489         Add missing include in test-pwrite.c.
27490         * tests/test-pwrite.c: Include string.h, for strcmp.
27491
27492 2010-05-24  Bruno Haible  <bruno@clisp.org>
27493
27494         * NEWS: Mention requirement for Automake option 'subdir-objects'.
27495
27496 2010-05-24  Bruno Haible  <bruno@clisp.org>
27497
27498         Don't use conversion with transliteration in u{8,16,32}_strcoll.
27499         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
27500         iconveh_error argument.
27501         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
27502         U_STRCONV_TO_LOCALE.
27503         * lib/unistr/u16-strcoll.c: Likewise.
27504         * lib/unistr/u32-strcoll.c: Likewise.
27505         * modules/unistr/u8-strcoll (Depends-on): Add
27506         uniconv/u8-strconv-to-enc, localcharset. Remove
27507         uniconv/u8-strconv-to-locale.
27508         (configure.ac): Bump version number.
27509         * modules/unistr/u16-strcoll (Depends-on): Add
27510         uniconv/u16-strconv-to-enc, localcharset. Remove
27511         uniconv/u16-strconv-to-locale.
27512         (configure.ac): Bump version number.
27513         * modules/unistr/u32-strcoll (Depends-on): Add
27514         uniconv/u32-strconv-to-enc, localcharset. Remove
27515         uniconv/u32-strconv-to-locale.
27516         (configure.ac): Bump version number.
27517
27518 2010-05-24  Bruno Haible  <bruno@clisp.org>
27519
27520         Avoid a test failure on NetBSD 5.0.
27521         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
27522         an iconv() bug.
27523
27524 2010-05-24  Bruno Haible  <bruno@clisp.org>
27525
27526         Adjust #include directive style.
27527         * modules/regex (Includes): Recommend to write <regex.h>.
27528
27529 2010-05-24  Bruno Haible  <bruno@clisp.org>
27530
27531         regex: Don't require alloca.
27532         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
27533         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
27534         only inside if (0).
27535
27536 2010-05-23  Jim Meyering  <meyering@redhat.com>
27537
27538         test-renameat.c: include <sys/stat.h>
27539         * tests/test-renameat.c: Include <sys/stat.h>; required for
27540         definition of S_IS* macros.
27541
27542 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
27543
27544         Update maintainer documentation for 'relocatable-prog' module.
27545         * doc/relocatable-maint.texi: Update.
27546         Comments by Bruno Haible.
27547
27548 2010-05-23  Bruno Haible  <bruno@clisp.org>
27549
27550         git-merge-changelog: Enable --split-merged-entry by default.
27551         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
27552         (usage): Don't mention this option any more.
27553         Reported by Ralf Wildenhues.
27554
27555 2010-05-23  Jim Meyering  <meyering@redhat.com>
27556
27557         test-pwrite: do not leave behind a test file named "out"
27558         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
27559         The trivial-looking use of init.sh is really necessary.
27560         It ensures that the temporary file, "out", is created in
27561         a temporary directory, and removed upon termination.
27562         * tests/test-pwrite.sh: Re-add file.
27563         * modules/pwrite-tests: Reference it.
27564
27565 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27566
27567         Fix output redirection buglet in init.sh.
27568         * tests/init.sh: Fix redirection of stderr.
27569
27570 2010-05-20  Simon Josefsson  <simon@josefsson.org>
27571
27572         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
27573
27574 2010-05-17  Simon Josefsson  <simon@josefsson.org>
27575
27576         * modules/valgrind-tests: New file.
27577         * m4/valgrind-tests.m4: New file.
27578         * doc/valgrind-tests.texi: New file.
27579         * doc/gnulib.texi (Running self-tests under valgrind): New
27580         section.
27581
27582 2010-05-19  Bruno Haible  <bruno@clisp.org>
27583
27584         Clean up dead code in recent commit.
27585         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
27586         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
27587         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
27588         Suggested by Paolo Bonzini.
27589
27590 2010-05-19  Bruno Haible  <bruno@clisp.org>
27591
27592         Avoid valgrind error reports from libunistring.
27593         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
27594         * modules/libunistring (Files): Add it.
27595         * modules/libunistring-optional (Files): Likewise.
27596
27597 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
27598             Bruno Haible  <bruno@clisp.org>
27599
27600         New module 'libunistring-optional'.
27601         * modules/libunistring-optional: New file.
27602         * m4/libunistring-base.m4: New file.
27603         * m4/libunistring-optional.m4: New file.
27604         * lib/unicase.in.h: Renamed from lib/unicase.h.
27605         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
27606         * lib/unictype.in.h: Renamed from lib/unictype.h.
27607         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
27608         * lib/uniname.in.h: Renamed from lib/uniname.h.
27609         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
27610         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
27611         * lib/unistr.in.h: Renamed from lib/unistr.h.
27612         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
27613         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
27614         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
27615         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
27616         gl_LIBUNISTRING. If the library was found, determine the installed
27617         version and set LIBUNISTRING_VERSION.
27618         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
27619         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
27620         handle a configuration option --with-included-libunistring.
27621         * modules/libunistring (Files): Add m4/absolute-header.m4.
27622         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
27623         Add m4/libunistring-base.m4.
27624         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
27625         (Makefile.am): Build unicase.h from unicase.in.h.
27626         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
27627         Add m4/libunistring-base.m4.
27628         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
27629         (Makefile.am): Build uniconv.h from uniconv.in.h.
27630         * modules/unictype/base (Files): Use unictype.in.h instead of
27631         unictype.h. Add m4/libunistring-base.m4.
27632         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
27633         (Makefile.am): Build unictype.h from unictype.in.h.
27634         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
27635         Add m4/libunistring-base.m4.
27636         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
27637         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
27638         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
27639         Add m4/libunistring-base.m4.
27640         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
27641         (Makefile.am): Build uniname.h from uniname.in.h.
27642         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
27643         Add m4/libunistring-base.m4.
27644         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
27645         (Makefile.am): Build uninorm.h from uninorm.in.h.
27646         * modules/unistdio/base (Files): Use unistdio.in.h instead of
27647         unistdio.h. Add m4/libunistring-base.m4.
27648         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
27649         (Makefile.am): Build unistdio.h from unistdio.in.h.
27650         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
27651         Add m4/libunistring-base.m4.
27652         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
27653         (Makefile.am): Build unistr.h from unistr.in.h.
27654         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
27655         Add m4/libunistring-base.m4.
27656         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
27657         (Makefile.am): Build unitypes.h from unitypes.in.h.
27658         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
27659         Add m4/libunistring-base.m4.
27660         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
27661         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
27662         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
27663         uniwidth.h. Add m4/libunistring-base.m4.
27664         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
27665         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
27666         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
27667         instead of augmenting lib_SOURCES.
27668         * modules/unicase/empty-suffix-context: Likewise.
27669         * modules/unicase/locale-language: Likewise.
27670         * modules/unicase/tolower: Likewise.
27671         * modules/unicase/totitle: Likewise.
27672         * modules/unicase/toupper: Likewise.
27673         * modules/unicase/u8-casecmp: Likewise.
27674         * modules/unicase/u8-casecoll: Likewise.
27675         * modules/unicase/u8-casefold: Likewise.
27676         * modules/unicase/u8-casexfrm: Likewise.
27677         * modules/unicase/u8-ct-casefold: Likewise.
27678         * modules/unicase/u8-ct-tolower: Likewise.
27679         * modules/unicase/u8-ct-totitle: Likewise.
27680         * modules/unicase/u8-ct-toupper: Likewise.
27681         * modules/unicase/u8-is-cased: Likewise.
27682         * modules/unicase/u8-is-casefolded: Likewise.
27683         * modules/unicase/u8-is-lowercase: Likewise.
27684         * modules/unicase/u8-is-titlecase: Likewise.
27685         * modules/unicase/u8-is-uppercase: Likewise.
27686         * modules/unicase/u8-prefix-context: Likewise.
27687         * modules/unicase/u8-suffix-context: Likewise.
27688         * modules/unicase/u8-tolower: Likewise.
27689         * modules/unicase/u8-totitle: Likewise.
27690         * modules/unicase/u8-toupper: Likewise.
27691         * modules/unicase/u16-casecmp: Likewise.
27692         * modules/unicase/u16-casecoll: Likewise.
27693         * modules/unicase/u16-casefold: Likewise.
27694         * modules/unicase/u16-casexfrm: Likewise.
27695         * modules/unicase/u16-ct-casefold: Likewise.
27696         * modules/unicase/u16-ct-tolower: Likewise.
27697         * modules/unicase/u16-ct-totitle: Likewise.
27698         * modules/unicase/u16-ct-toupper: Likewise.
27699         * modules/unicase/u16-is-cased: Likewise.
27700         * modules/unicase/u16-is-casefolded: Likewise.
27701         * modules/unicase/u16-is-lowercase: Likewise.
27702         * modules/unicase/u16-is-titlecase: Likewise.
27703         * modules/unicase/u16-is-uppercase: Likewise.
27704         * modules/unicase/u16-prefix-context: Likewise.
27705         * modules/unicase/u16-suffix-context: Likewise.
27706         * modules/unicase/u16-tolower: Likewise.
27707         * modules/unicase/u16-totitle: Likewise.
27708         * modules/unicase/u16-toupper: Likewise.
27709         * modules/unicase/u32-casecmp: Likewise.
27710         * modules/unicase/u32-casecoll: Likewise.
27711         * modules/unicase/u32-casefold: Likewise.
27712         * modules/unicase/u32-casexfrm: Likewise.
27713         * modules/unicase/u32-ct-casefold: Likewise.
27714         * modules/unicase/u32-ct-tolower: Likewise.
27715         * modules/unicase/u32-ct-totitle: Likewise.
27716         * modules/unicase/u32-ct-toupper: Likewise.
27717         * modules/unicase/u32-is-cased: Likewise.
27718         * modules/unicase/u32-is-casefolded: Likewise.
27719         * modules/unicase/u32-is-lowercase: Likewise.
27720         * modules/unicase/u32-is-titlecase: Likewise.
27721         * modules/unicase/u32-is-uppercase: Likewise.
27722         * modules/unicase/u32-prefix-context: Likewise.
27723         * modules/unicase/u32-suffix-context: Likewise.
27724         * modules/unicase/u32-tolower: Likewise.
27725         * modules/unicase/u32-totitle: Likewise.
27726         * modules/unicase/u32-toupper: Likewise.
27727         * modules/unicase/ulc-casecmp: Likewise.
27728         * modules/unicase/ulc-casecoll: Likewise.
27729         * modules/unicase/ulc-casexfrm: Likewise.
27730         * modules/uniconv/u8-conv-from-enc: Likewise.
27731         * modules/uniconv/u8-conv-to-enc: Likewise.
27732         * modules/uniconv/u8-strconv-from-enc: Likewise.
27733         * modules/uniconv/u8-strconv-from-locale: Likewise.
27734         * modules/uniconv/u8-strconv-to-enc: Likewise.
27735         * modules/uniconv/u8-strconv-to-locale: Likewise.
27736         * modules/uniconv/u16-conv-from-enc: Likewise.
27737         * modules/uniconv/u16-conv-to-enc: Likewise.
27738         * modules/uniconv/u16-strconv-from-enc: Likewise.
27739         * modules/uniconv/u16-strconv-from-locale: Likewise.
27740         * modules/uniconv/u16-strconv-to-enc: Likewise.
27741         * modules/uniconv/u16-strconv-to-locale: Likewise.
27742         * modules/uniconv/u32-conv-from-enc: Likewise.
27743         * modules/uniconv/u32-conv-to-enc: Likewise.
27744         * modules/uniconv/u32-strconv-from-enc: Likewise.
27745         * modules/uniconv/u32-strconv-from-locale: Likewise.
27746         * modules/uniconv/u32-strconv-to-enc: Likewise.
27747         * modules/uniconv/u32-strconv-to-locale: Likewise.
27748         * modules/unictype/bidicategory-byname: Likewise.
27749         * modules/unictype/bidicategory-name: Likewise.
27750         * modules/unictype/bidicategory-of: Likewise.
27751         * modules/unictype/bidicategory-test: Likewise.
27752         * modules/unictype/block-list: Likewise.
27753         * modules/unictype/block-test: Likewise.
27754         * modules/unictype/category-C: Likewise.
27755         * modules/unictype/category-Cc: Likewise.
27756         * modules/unictype/category-Cf: Likewise.
27757         * modules/unictype/category-Cn: Likewise.
27758         * modules/unictype/category-Co: Likewise.
27759         * modules/unictype/category-Cs: Likewise.
27760         * modules/unictype/category-L: Likewise.
27761         * modules/unictype/category-Ll: Likewise.
27762         * modules/unictype/category-Lm: Likewise.
27763         * modules/unictype/category-Lo: Likewise.
27764         * modules/unictype/category-Lt: Likewise.
27765         * modules/unictype/category-Lu: Likewise.
27766         * modules/unictype/category-M: Likewise.
27767         * modules/unictype/category-Mc: Likewise.
27768         * modules/unictype/category-Me: Likewise.
27769         * modules/unictype/category-Mn: Likewise.
27770         * modules/unictype/category-N: Likewise.
27771         * modules/unictype/category-Nd: Likewise.
27772         * modules/unictype/category-Nl: Likewise.
27773         * modules/unictype/category-No: Likewise.
27774         * modules/unictype/category-P: Likewise.
27775         * modules/unictype/category-Pc: Likewise.
27776         * modules/unictype/category-Pd: Likewise.
27777         * modules/unictype/category-Pe: Likewise.
27778         * modules/unictype/category-Pf: Likewise.
27779         * modules/unictype/category-Pi: Likewise.
27780         * modules/unictype/category-Po: Likewise.
27781         * modules/unictype/category-Ps: Likewise.
27782         * modules/unictype/category-S: Likewise.
27783         * modules/unictype/category-Sc: Likewise.
27784         * modules/unictype/category-Sk: Likewise.
27785         * modules/unictype/category-Sm: Likewise.
27786         * modules/unictype/category-So: Likewise.
27787         * modules/unictype/category-Z: Likewise.
27788         * modules/unictype/category-Zl: Likewise.
27789         * modules/unictype/category-Zp: Likewise.
27790         * modules/unictype/category-Zs: Likewise.
27791         * modules/unictype/category-and: Likewise.
27792         * modules/unictype/category-and-not: Likewise.
27793         * modules/unictype/category-byname: Likewise.
27794         * modules/unictype/category-name: Likewise.
27795         * modules/unictype/category-none: Likewise.
27796         * modules/unictype/category-of: Likewise.
27797         * modules/unictype/category-or: Likewise.
27798         * modules/unictype/category-test: Likewise.
27799         * modules/unictype/combining-class: Likewise.
27800         * modules/unictype/ctype-alnum: Likewise.
27801         * modules/unictype/ctype-alpha: Likewise.
27802         * modules/unictype/ctype-blank: Likewise.
27803         * modules/unictype/ctype-cntrl: Likewise.
27804         * modules/unictype/ctype-digit: Likewise.
27805         * modules/unictype/ctype-graph: Likewise.
27806         * modules/unictype/ctype-lower: Likewise.
27807         * modules/unictype/ctype-print: Likewise.
27808         * modules/unictype/ctype-punct: Likewise.
27809         * modules/unictype/ctype-space: Likewise.
27810         * modules/unictype/ctype-upper: Likewise.
27811         * modules/unictype/ctype-xdigit: Likewise.
27812         * modules/unictype/decimal-digit: Likewise.
27813         * modules/unictype/digit: Likewise.
27814         * modules/unictype/mirror: Likewise.
27815         * modules/unictype/numeric: Likewise.
27816         * modules/unictype/property-alphabetic: Likewise.
27817         * modules/unictype/property-ascii-hex-digit: Likewise.
27818         * modules/unictype/property-bidi-arabic-digit: Likewise.
27819         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
27820         * modules/unictype/property-bidi-block-separator: Likewise.
27821         * modules/unictype/property-bidi-boundary-neutral: Likewise.
27822         * modules/unictype/property-bidi-common-separator: Likewise.
27823         * modules/unictype/property-bidi-control: Likewise.
27824         * modules/unictype/property-bidi-embedding-or-override: Likewise.
27825         * modules/unictype/property-bidi-eur-num-separator: Likewise.
27826         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
27827         * modules/unictype/property-bidi-european-digit: Likewise.
27828         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
27829         * modules/unictype/property-bidi-left-to-right: Likewise.
27830         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
27831         * modules/unictype/property-bidi-other-neutral: Likewise.
27832         * modules/unictype/property-bidi-pdf: Likewise.
27833         * modules/unictype/property-bidi-segment-separator: Likewise.
27834         * modules/unictype/property-bidi-whitespace: Likewise.
27835         * modules/unictype/property-byname: Likewise.
27836         * modules/unictype/property-combining: Likewise.
27837         * modules/unictype/property-composite: Likewise.
27838         * modules/unictype/property-currency-symbol: Likewise.
27839         * modules/unictype/property-dash: Likewise.
27840         * modules/unictype/property-decimal-digit: Likewise.
27841         * modules/unictype/property-default-ignorable-code-point: Likewise.
27842         * modules/unictype/property-deprecated: Likewise.
27843         * modules/unictype/property-diacritic: Likewise.
27844         * modules/unictype/property-extender: Likewise.
27845         * modules/unictype/property-format-control: Likewise.
27846         * modules/unictype/property-grapheme-base: Likewise.
27847         * modules/unictype/property-grapheme-extend: Likewise.
27848         * modules/unictype/property-grapheme-link: Likewise.
27849         * modules/unictype/property-hex-digit: Likewise.
27850         * modules/unictype/property-hyphen: Likewise.
27851         * modules/unictype/property-id-continue: Likewise.
27852         * modules/unictype/property-id-start: Likewise.
27853         * modules/unictype/property-ideographic: Likewise.
27854         * modules/unictype/property-ids-binary-operator: Likewise.
27855         * modules/unictype/property-ids-trinary-operator: Likewise.
27856         * modules/unictype/property-ignorable-control: Likewise.
27857         * modules/unictype/property-iso-control: Likewise.
27858         * modules/unictype/property-join-control: Likewise.
27859         * modules/unictype/property-left-of-pair: Likewise.
27860         * modules/unictype/property-line-separator: Likewise.
27861         * modules/unictype/property-logical-order-exception: Likewise.
27862         * modules/unictype/property-lowercase: Likewise.
27863         * modules/unictype/property-math: Likewise.
27864         * modules/unictype/property-non-break: Likewise.
27865         * modules/unictype/property-not-a-character: Likewise.
27866         * modules/unictype/property-numeric: Likewise.
27867         * modules/unictype/property-other-alphabetic: Likewise.
27868         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
27869         * modules/unictype/property-other-grapheme-extend: Likewise.
27870         * modules/unictype/property-other-id-continue: Likewise.
27871         * modules/unictype/property-other-id-start: Likewise.
27872         * modules/unictype/property-other-lowercase: Likewise.
27873         * modules/unictype/property-other-math: Likewise.
27874         * modules/unictype/property-other-uppercase: Likewise.
27875         * modules/unictype/property-paired-punctuation: Likewise.
27876         * modules/unictype/property-paragraph-separator: Likewise.
27877         * modules/unictype/property-pattern-syntax: Likewise.
27878         * modules/unictype/property-pattern-white-space: Likewise.
27879         * modules/unictype/property-private-use: Likewise.
27880         * modules/unictype/property-punctuation: Likewise.
27881         * modules/unictype/property-quotation-mark: Likewise.
27882         * modules/unictype/property-radical: Likewise.
27883         * modules/unictype/property-sentence-terminal: Likewise.
27884         * modules/unictype/property-soft-dotted: Likewise.
27885         * modules/unictype/property-space: Likewise.
27886         * modules/unictype/property-terminal-punctuation: Likewise.
27887         * modules/unictype/property-test: Likewise.
27888         * modules/unictype/property-titlecase: Likewise.
27889         * modules/unictype/property-unassigned-code-value: Likewise.
27890         * modules/unictype/property-unified-ideograph: Likewise.
27891         * modules/unictype/property-uppercase: Likewise.
27892         * modules/unictype/property-variation-selector: Likewise.
27893         * modules/unictype/property-white-space: Likewise.
27894         * modules/unictype/property-xid-continue: Likewise.
27895         * modules/unictype/property-xid-start: Likewise.
27896         * modules/unictype/property-zero-width: Likewise.
27897         * modules/unictype/scripts: Likewise.
27898         * modules/unictype/syntax-c-ident: Likewise.
27899         * modules/unictype/syntax-c-whitespace: Likewise.
27900         * modules/unictype/syntax-java-ident: Likewise.
27901         * modules/unictype/syntax-java-whitespace: Likewise.
27902         * modules/unilbrk/u8-possible-linebreaks: Likewise.
27903         * modules/unilbrk/u8-width-linebreaks: Likewise.
27904         * modules/unilbrk/u16-possible-linebreaks: Likewise.
27905         * modules/unilbrk/u16-width-linebreaks: Likewise.
27906         * modules/unilbrk/u32-possible-linebreaks: Likewise.
27907         * modules/unilbrk/u32-width-linebreaks: Likewise.
27908         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
27909         * modules/unilbrk/ulc-width-linebreaks: Likewise.
27910         * modules/uniname/uniname: Likewise.
27911         * modules/uninorm/canonical-decomposition: Likewise.
27912         * modules/uninorm/composition: Likewise.
27913         * modules/uninorm/decomposing-form: Likewise.
27914         * modules/uninorm/decomposition: Likewise.
27915         * modules/uninorm/filter: Likewise.
27916         * modules/uninorm/nfc: Likewise.
27917         * modules/uninorm/nfd: Likewise.
27918         * modules/uninorm/nfkc: Likewise.
27919         * modules/uninorm/nfkd: Likewise.
27920         * modules/uninorm/u8-normalize: Likewise.
27921         * modules/uninorm/u8-normcmp: Likewise.
27922         * modules/uninorm/u8-normcoll: Likewise.
27923         * modules/uninorm/u8-normxfrm: Likewise.
27924         * modules/uninorm/u16-normalize: Likewise.
27925         * modules/uninorm/u16-normcmp: Likewise.
27926         * modules/uninorm/u16-normcoll: Likewise.
27927         * modules/uninorm/u16-normxfrm: Likewise.
27928         * modules/uninorm/u32-normalize: Likewise.
27929         * modules/uninorm/u32-normcmp: Likewise.
27930         * modules/uninorm/u32-normcoll: Likewise.
27931         * modules/uninorm/u32-normxfrm: Likewise.
27932         * modules/unistdio/u8-asnprintf: Likewise.
27933         * modules/unistdio/u8-asprintf: Likewise.
27934         * modules/unistdio/u8-snprintf: Likewise.
27935         * modules/unistdio/u8-sprintf: Likewise.
27936         * modules/unistdio/u8-u8-asnprintf: Likewise.
27937         * modules/unistdio/u8-u8-asprintf: Likewise.
27938         * modules/unistdio/u8-u8-snprintf: Likewise.
27939         * modules/unistdio/u8-u8-sprintf: Likewise.
27940         * modules/unistdio/u8-u8-vasnprintf: Likewise.
27941         * modules/unistdio/u8-u8-vasprintf: Likewise.
27942         * modules/unistdio/u8-u8-vsnprintf: Likewise.
27943         * modules/unistdio/u8-u8-vsprintf: Likewise.
27944         * modules/unistdio/u8-vasnprintf: Likewise.
27945         * modules/unistdio/u8-vasprintf: Likewise.
27946         * modules/unistdio/u8-vsnprintf: Likewise.
27947         * modules/unistdio/u8-vsprintf: Likewise.
27948         * modules/unistdio/u16-asnprintf: Likewise.
27949         * modules/unistdio/u16-asprintf: Likewise.
27950         * modules/unistdio/u16-snprintf: Likewise.
27951         * modules/unistdio/u16-sprintf: Likewise.
27952         * modules/unistdio/u16-u16-asnprintf: Likewise.
27953         * modules/unistdio/u16-u16-asprintf: Likewise.
27954         * modules/unistdio/u16-u16-snprintf: Likewise.
27955         * modules/unistdio/u16-u16-sprintf: Likewise.
27956         * modules/unistdio/u16-u16-vasnprintf: Likewise.
27957         * modules/unistdio/u16-u16-vasprintf: Likewise.
27958         * modules/unistdio/u16-u16-vsnprintf: Likewise.
27959         * modules/unistdio/u16-u16-vsprintf: Likewise.
27960         * modules/unistdio/u16-vasnprintf: Likewise.
27961         * modules/unistdio/u16-vasprintf: Likewise.
27962         * modules/unistdio/u16-vsnprintf: Likewise.
27963         * modules/unistdio/u16-vsprintf: Likewise.
27964         * modules/unistdio/u32-asnprintf: Likewise.
27965         * modules/unistdio/u32-asprintf: Likewise.
27966         * modules/unistdio/u32-snprintf: Likewise.
27967         * modules/unistdio/u32-sprintf: Likewise.
27968         * modules/unistdio/u32-u32-asnprintf: Likewise.
27969         * modules/unistdio/u32-u32-asprintf: Likewise.
27970         * modules/unistdio/u32-u32-snprintf: Likewise.
27971         * modules/unistdio/u32-u32-sprintf: Likewise.
27972         * modules/unistdio/u32-u32-vasnprintf: Likewise.
27973         * modules/unistdio/u32-u32-vasprintf: Likewise.
27974         * modules/unistdio/u32-u32-vsnprintf: Likewise.
27975         * modules/unistdio/u32-u32-vsprintf: Likewise.
27976         * modules/unistdio/u32-vasnprintf: Likewise.
27977         * modules/unistdio/u32-vasprintf: Likewise.
27978         * modules/unistdio/u32-vsnprintf: Likewise.
27979         * modules/unistdio/u32-vsprintf: Likewise.
27980         * modules/unistdio/ulc-asnprintf: Likewise.
27981         * modules/unistdio/ulc-asprintf: Likewise.
27982         * modules/unistdio/ulc-fprintf: Likewise.
27983         * modules/unistdio/ulc-snprintf: Likewise.
27984         * modules/unistdio/ulc-sprintf: Likewise.
27985         * modules/unistdio/ulc-vasnprintf: Likewise.
27986         * modules/unistdio/ulc-vasprintf: Likewise.
27987         * modules/unistdio/ulc-vfprintf: Likewise.
27988         * modules/unistdio/ulc-vsnprintf: Likewise.
27989         * modules/unistdio/ulc-vsprintf: Likewise.
27990         * modules/unistr/u8-check: Likewise.
27991         * modules/unistr/u8-chr: Likewise.
27992         * modules/unistr/u8-cmp: Likewise.
27993         * modules/unistr/u8-cmp2: Likewise.
27994         * modules/unistr/u8-cpy: Likewise.
27995         * modules/unistr/u8-cpy-alloc: Likewise.
27996         * modules/unistr/u8-endswith: Likewise.
27997         * modules/unistr/u8-mblen: Likewise.
27998         * modules/unistr/u8-mbsnlen: Likewise.
27999         * modules/unistr/u8-mbtouc: Likewise.
28000         * modules/unistr/u8-mbtouc-unsafe: Likewise.
28001         * modules/unistr/u8-mbtoucr: Likewise.
28002         * modules/unistr/u8-move: Likewise.
28003         * modules/unistr/u8-next: Likewise.
28004         * modules/unistr/u8-prev: Likewise.
28005         * modules/unistr/u8-set: Likewise.
28006         * modules/unistr/u8-startswith: Likewise.
28007         * modules/unistr/u8-stpcpy: Likewise.
28008         * modules/unistr/u8-stpncpy: Likewise.
28009         * modules/unistr/u8-strcat: Likewise.
28010         * modules/unistr/u8-strchr: Likewise.
28011         * modules/unistr/u8-strcmp: Likewise.
28012         * modules/unistr/u8-strcoll: Likewise.
28013         * modules/unistr/u8-strcpy: Likewise.
28014         * modules/unistr/u8-strcspn: Likewise.
28015         * modules/unistr/u8-strdup: Likewise.
28016         * modules/unistr/u8-strlen: Likewise.
28017         * modules/unistr/u8-strmblen: Likewise.
28018         * modules/unistr/u8-strmbtouc: Likewise.
28019         * modules/unistr/u8-strncat: Likewise.
28020         * modules/unistr/u8-strncmp: Likewise.
28021         * modules/unistr/u8-strncpy: Likewise.
28022         * modules/unistr/u8-strnlen: Likewise.
28023         * modules/unistr/u8-strpbrk: Likewise.
28024         * modules/unistr/u8-strrchr: Likewise.
28025         * modules/unistr/u8-strspn: Likewise.
28026         * modules/unistr/u8-strstr: Likewise.
28027         * modules/unistr/u8-strtok: Likewise.
28028         * modules/unistr/u8-to-u16: Likewise.
28029         * modules/unistr/u8-to-u32: Likewise.
28030         * modules/unistr/u8-uctomb: Likewise.
28031         * modules/unistr/u16-check: Likewise.
28032         * modules/unistr/u16-chr: Likewise.
28033         * modules/unistr/u16-cmp: Likewise.
28034         * modules/unistr/u16-cmp2: Likewise.
28035         * modules/unistr/u16-cpy: Likewise.
28036         * modules/unistr/u16-cpy-alloc: Likewise.
28037         * modules/unistr/u16-endswith: Likewise.
28038         * modules/unistr/u16-mblen: Likewise.
28039         * modules/unistr/u16-mbsnlen: Likewise.
28040         * modules/unistr/u16-mbtouc: Likewise.
28041         * modules/unistr/u16-mbtouc-unsafe: Likewise.
28042         * modules/unistr/u16-mbtoucr: Likewise.
28043         * modules/unistr/u16-move: Likewise.
28044         * modules/unistr/u16-next: Likewise.
28045         * modules/unistr/u16-prev: Likewise.
28046         * modules/unistr/u16-set: Likewise.
28047         * modules/unistr/u16-startswith: Likewise.
28048         * modules/unistr/u16-stpcpy: Likewise.
28049         * modules/unistr/u16-stpncpy: Likewise.
28050         * modules/unistr/u16-strcat: Likewise.
28051         * modules/unistr/u16-strchr: Likewise.
28052         * modules/unistr/u16-strcmp: Likewise.
28053         * modules/unistr/u16-strcoll: Likewise.
28054         * modules/unistr/u16-strcpy: Likewise.
28055         * modules/unistr/u16-strcspn: Likewise.
28056         * modules/unistr/u16-strdup: Likewise.
28057         * modules/unistr/u16-strlen: Likewise.
28058         * modules/unistr/u16-strmblen: Likewise.
28059         * modules/unistr/u16-strmbtouc: Likewise.
28060         * modules/unistr/u16-strncat: Likewise.
28061         * modules/unistr/u16-strncmp: Likewise.
28062         * modules/unistr/u16-strncpy: Likewise.
28063         * modules/unistr/u16-strnlen: Likewise.
28064         * modules/unistr/u16-strpbrk: Likewise.
28065         * modules/unistr/u16-strrchr: Likewise.
28066         * modules/unistr/u16-strspn: Likewise.
28067         * modules/unistr/u16-strstr: Likewise.
28068         * modules/unistr/u16-strtok: Likewise.
28069         * modules/unistr/u16-to-u32: Likewise.
28070         * modules/unistr/u16-to-u8: Likewise.
28071         * modules/unistr/u16-uctomb: Likewise.
28072         * modules/unistr/u32-check: Likewise.
28073         * modules/unistr/u32-chr: Likewise.
28074         * modules/unistr/u32-cmp: Likewise.
28075         * modules/unistr/u32-cmp2: Likewise.
28076         * modules/unistr/u32-cpy: Likewise.
28077         * modules/unistr/u32-cpy-alloc: Likewise.
28078         * modules/unistr/u32-endswith: Likewise.
28079         * modules/unistr/u32-mblen: Likewise.
28080         * modules/unistr/u32-mbsnlen: Likewise.
28081         * modules/unistr/u32-mbtouc: Likewise.
28082         * modules/unistr/u32-mbtouc-unsafe: Likewise.
28083         * modules/unistr/u32-mbtoucr: Likewise.
28084         * modules/unistr/u32-move: Likewise.
28085         * modules/unistr/u32-next: Likewise.
28086         * modules/unistr/u32-prev: Likewise.
28087         * modules/unistr/u32-set: Likewise.
28088         * modules/unistr/u32-startswith: Likewise.
28089         * modules/unistr/u32-stpcpy: Likewise.
28090         * modules/unistr/u32-stpncpy: Likewise.
28091         * modules/unistr/u32-strcat: Likewise.
28092         * modules/unistr/u32-strchr: Likewise.
28093         * modules/unistr/u32-strcmp: Likewise.
28094         * modules/unistr/u32-strcoll: Likewise.
28095         * modules/unistr/u32-strcpy: Likewise.
28096         * modules/unistr/u32-strcspn: Likewise.
28097         * modules/unistr/u32-strdup: Likewise.
28098         * modules/unistr/u32-strlen: Likewise.
28099         * modules/unistr/u32-strmblen: Likewise.
28100         * modules/unistr/u32-strmbtouc: Likewise.
28101         * modules/unistr/u32-strncat: Likewise.
28102         * modules/unistr/u32-strncmp: Likewise.
28103         * modules/unistr/u32-strncpy: Likewise.
28104         * modules/unistr/u32-strnlen: Likewise.
28105         * modules/unistr/u32-strpbrk: Likewise.
28106         * modules/unistr/u32-strrchr: Likewise.
28107         * modules/unistr/u32-strspn: Likewise.
28108         * modules/unistr/u32-strstr: Likewise.
28109         * modules/unistr/u32-strtok: Likewise.
28110         * modules/unistr/u32-to-u16: Likewise.
28111         * modules/unistr/u32-to-u8: Likewise.
28112         * modules/unistr/u32-uctomb: Likewise.
28113         * modules/uniwbrk/u8-wordbreaks: Likewise.
28114         * modules/uniwbrk/u16-wordbreaks: Likewise.
28115         * modules/uniwbrk/u32-wordbreaks: Likewise.
28116         * modules/uniwbrk/ulc-wordbreaks: Likewise.
28117         * modules/uniwbrk/wordbreak-property: Likewise.
28118         * modules/uniwidth/u8-strwidth: Likewise.
28119         * modules/uniwidth/u8-width: Likewise.
28120         * modules/uniwidth/u16-strwidth: Likewise.
28121         * modules/uniwidth/u16-width: Likewise.
28122         * modules/uniwidth/u32-strwidth: Likewise.
28123         * modules/uniwidth/u32-width: Likewise.
28124         * modules/uniwidth/width: Likewise.
28125         * modules/unicase/cased-tests (Makefile.am): Link all test programs
28126         with $(LIBUNISTRING).
28127         * modules/unicase/ignorable-tests: Likewise.
28128         * modules/unicase/locale-language-tests: Likewise.
28129         * modules/unicase/tolower-tests: Likewise.
28130         * modules/unicase/totitle-tests: Likewise.
28131         * modules/unicase/toupper-tests: Likewise.
28132         * modules/unicase/u8-casecmp-tests: Likewise.
28133         * modules/unicase/u8-casecoll-tests: Likewise.
28134         * modules/unicase/u8-casefold-tests: Likewise.
28135         * modules/unicase/u8-is-cased-tests: Likewise.
28136         * modules/unicase/u8-is-casefolded-tests: Likewise.
28137         * modules/unicase/u8-is-lowercase-tests: Likewise.
28138         * modules/unicase/u8-is-titlecase-tests: Likewise.
28139         * modules/unicase/u8-is-uppercase-tests: Likewise.
28140         * modules/unicase/u8-tolower-tests: Likewise.
28141         * modules/unicase/u8-totitle-tests: Likewise.
28142         * modules/unicase/u8-toupper-tests: Likewise.
28143         * modules/unicase/u16-casecmp-tests: Likewise.
28144         * modules/unicase/u16-casecoll-tests: Likewise.
28145         * modules/unicase/u16-casefold-tests: Likewise.
28146         * modules/unicase/u16-is-cased-tests: Likewise.
28147         * modules/unicase/u16-is-casefolded-tests: Likewise.
28148         * modules/unicase/u16-is-lowercase-tests: Likewise.
28149         * modules/unicase/u16-is-titlecase-tests: Likewise.
28150         * modules/unicase/u16-is-uppercase-tests: Likewise.
28151         * modules/unicase/u16-tolower-tests: Likewise.
28152         * modules/unicase/u16-totitle-tests: Likewise.
28153         * modules/unicase/u16-toupper-tests: Likewise.
28154         * modules/unicase/u32-casecmp-tests: Likewise.
28155         * modules/unicase/u32-casecoll-tests: Likewise.
28156         * modules/unicase/u32-casefold-tests: Likewise.
28157         * modules/unicase/u32-is-cased-tests: Likewise.
28158         * modules/unicase/u32-is-casefolded-tests: Likewise.
28159         * modules/unicase/u32-is-lowercase-tests: Likewise.
28160         * modules/unicase/u32-is-titlecase-tests: Likewise.
28161         * modules/unicase/u32-is-uppercase-tests: Likewise.
28162         * modules/unicase/u32-tolower-tests: Likewise.
28163         * modules/unicase/u32-totitle-tests: Likewise.
28164         * modules/unicase/u32-toupper-tests: Likewise.
28165         * modules/unicase/ulc-casecmp-tests: Likewise.
28166         * modules/unicase/ulc-casecoll-tests: Likewise.
28167         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
28168         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
28169         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
28170         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
28171         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
28172         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
28173         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
28174         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
28175         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
28176         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
28177         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
28178         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
28179         * modules/unictype/bidicategory-byname-tests: Likewise.
28180         * modules/unictype/bidicategory-name-tests: Likewise.
28181         * modules/unictype/bidicategory-of-tests: Likewise.
28182         * modules/unictype/bidicategory-test-tests: Likewise.
28183         * modules/unictype/block-list-tests: Likewise.
28184         * modules/unictype/block-of-tests: Likewise.
28185         * modules/unictype/block-test-tests: Likewise.
28186         * modules/unictype/category-C-tests: Likewise.
28187         * modules/unictype/category-Cc-tests: Likewise.
28188         * modules/unictype/category-Cf-tests: Likewise.
28189         * modules/unictype/category-Cn-tests: Likewise.
28190         * modules/unictype/category-Co-tests: Likewise.
28191         * modules/unictype/category-Cs-tests: Likewise.
28192         * modules/unictype/category-L-tests: Likewise.
28193         * modules/unictype/category-Ll-tests: Likewise.
28194         * modules/unictype/category-Lm-tests: Likewise.
28195         * modules/unictype/category-Lo-tests: Likewise.
28196         * modules/unictype/category-Lt-tests: Likewise.
28197         * modules/unictype/category-Lu-tests: Likewise.
28198         * modules/unictype/category-M-tests: Likewise.
28199         * modules/unictype/category-Mc-tests: Likewise.
28200         * modules/unictype/category-Me-tests: Likewise.
28201         * modules/unictype/category-Mn-tests: Likewise.
28202         * modules/unictype/category-N-tests: Likewise.
28203         * modules/unictype/category-Nd-tests: Likewise.
28204         * modules/unictype/category-Nl-tests: Likewise.
28205         * modules/unictype/category-No-tests: Likewise.
28206         * modules/unictype/category-P-tests: Likewise.
28207         * modules/unictype/category-Pc-tests: Likewise.
28208         * modules/unictype/category-Pd-tests: Likewise.
28209         * modules/unictype/category-Pe-tests: Likewise.
28210         * modules/unictype/category-Pf-tests: Likewise.
28211         * modules/unictype/category-Pi-tests: Likewise.
28212         * modules/unictype/category-Po-tests: Likewise.
28213         * modules/unictype/category-Ps-tests: Likewise.
28214         * modules/unictype/category-S-tests: Likewise.
28215         * modules/unictype/category-Sc-tests: Likewise.
28216         * modules/unictype/category-Sk-tests: Likewise.
28217         * modules/unictype/category-Sm-tests: Likewise.
28218         * modules/unictype/category-So-tests: Likewise.
28219         * modules/unictype/category-Z-tests: Likewise.
28220         * modules/unictype/category-Zl-tests: Likewise.
28221         * modules/unictype/category-Zp-tests: Likewise.
28222         * modules/unictype/category-Zs-tests: Likewise.
28223         * modules/unictype/category-and-not-tests: Likewise.
28224         * modules/unictype/category-and-tests: Likewise.
28225         * modules/unictype/category-byname-tests: Likewise.
28226         * modules/unictype/category-name-tests: Likewise.
28227         * modules/unictype/category-none-tests: Likewise.
28228         * modules/unictype/category-of-tests: Likewise.
28229         * modules/unictype/category-or-tests: Likewise.
28230         * modules/unictype/category-test-withtable-tests: Likewise.
28231         * modules/unictype/combining-class-tests: Likewise.
28232         * modules/unictype/ctype-alnum-tests: Likewise.
28233         * modules/unictype/ctype-alpha-tests: Likewise.
28234         * modules/unictype/ctype-blank-tests: Likewise.
28235         * modules/unictype/ctype-cntrl-tests: Likewise.
28236         * modules/unictype/ctype-digit-tests: Likewise.
28237         * modules/unictype/ctype-graph-tests: Likewise.
28238         * modules/unictype/ctype-lower-tests: Likewise.
28239         * modules/unictype/ctype-print-tests: Likewise.
28240         * modules/unictype/ctype-punct-tests: Likewise.
28241         * modules/unictype/ctype-space-tests: Likewise.
28242         * modules/unictype/ctype-upper-tests: Likewise.
28243         * modules/unictype/ctype-xdigit-tests: Likewise.
28244         * modules/unictype/decimal-digit-tests: Likewise.
28245         * modules/unictype/digit-tests: Likewise.
28246         * modules/unictype/mirror-tests: Likewise.
28247         * modules/unictype/numeric-tests: Likewise.
28248         * modules/unictype/property-alphabetic-tests: Likewise.
28249         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
28250         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
28251         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
28252         * modules/unictype/property-bidi-block-separator-tests: Likewise.
28253         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
28254         * modules/unictype/property-bidi-common-separator-tests: Likewise.
28255         * modules/unictype/property-bidi-control-tests: Likewise.
28256         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
28257         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
28258         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
28259         * modules/unictype/property-bidi-european-digit-tests: Likewise.
28260         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
28261         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
28262         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
28263         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
28264         * modules/unictype/property-bidi-pdf-tests: Likewise.
28265         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
28266         * modules/unictype/property-bidi-whitespace-tests: Likewise.
28267         * modules/unictype/property-byname-tests: Likewise.
28268         * modules/unictype/property-combining-tests: Likewise.
28269         * modules/unictype/property-composite-tests: Likewise.
28270         * modules/unictype/property-currency-symbol-tests: Likewise.
28271         * modules/unictype/property-dash-tests: Likewise.
28272         * modules/unictype/property-decimal-digit-tests: Likewise.
28273         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
28274         * modules/unictype/property-deprecated-tests: Likewise.
28275         * modules/unictype/property-diacritic-tests: Likewise.
28276         * modules/unictype/property-extender-tests: Likewise.
28277         * modules/unictype/property-format-control-tests: Likewise.
28278         * modules/unictype/property-grapheme-base-tests: Likewise.
28279         * modules/unictype/property-grapheme-extend-tests: Likewise.
28280         * modules/unictype/property-grapheme-link-tests: Likewise.
28281         * modules/unictype/property-hex-digit-tests: Likewise.
28282         * modules/unictype/property-hyphen-tests: Likewise.
28283         * modules/unictype/property-id-continue-tests: Likewise.
28284         * modules/unictype/property-id-start-tests: Likewise.
28285         * modules/unictype/property-ideographic-tests: Likewise.
28286         * modules/unictype/property-ids-binary-operator-tests: Likewise.
28287         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
28288         * modules/unictype/property-ignorable-control-tests: Likewise.
28289         * modules/unictype/property-iso-control-tests: Likewise.
28290         * modules/unictype/property-join-control-tests: Likewise.
28291         * modules/unictype/property-left-of-pair-tests: Likewise.
28292         * modules/unictype/property-line-separator-tests: Likewise.
28293         * modules/unictype/property-logical-order-exception-tests: Likewise.
28294         * modules/unictype/property-lowercase-tests: Likewise.
28295         * modules/unictype/property-math-tests: Likewise.
28296         * modules/unictype/property-non-break-tests: Likewise.
28297         * modules/unictype/property-not-a-character-tests: Likewise.
28298         * modules/unictype/property-numeric-tests: Likewise.
28299         * modules/unictype/property-other-alphabetic-tests: Likewise.
28300         * modules/unictype/property-other-default-ignorable-code-point-tests:
28301         Likewise.
28302         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
28303         * modules/unictype/property-other-id-continue-tests: Likewise.
28304         * modules/unictype/property-other-id-start-tests: Likewise.
28305         * modules/unictype/property-other-lowercase-tests: Likewise.
28306         * modules/unictype/property-other-math-tests: Likewise.
28307         * modules/unictype/property-other-uppercase-tests: Likewise.
28308         * modules/unictype/property-paired-punctuation-tests: Likewise.
28309         * modules/unictype/property-paragraph-separator-tests: Likewise.
28310         * modules/unictype/property-pattern-syntax-tests: Likewise.
28311         * modules/unictype/property-pattern-white-space-tests: Likewise.
28312         * modules/unictype/property-private-use-tests: Likewise.
28313         * modules/unictype/property-punctuation-tests: Likewise.
28314         * modules/unictype/property-quotation-mark-tests: Likewise.
28315         * modules/unictype/property-radical-tests: Likewise.
28316         * modules/unictype/property-sentence-terminal-tests: Likewise.
28317         * modules/unictype/property-soft-dotted-tests: Likewise.
28318         * modules/unictype/property-space-tests: Likewise.
28319         * modules/unictype/property-terminal-punctuation-tests: Likewise.
28320         * modules/unictype/property-test-tests: Likewise.
28321         * modules/unictype/property-titlecase-tests: Likewise.
28322         * modules/unictype/property-unassigned-code-value-tests: Likewise.
28323         * modules/unictype/property-unified-ideograph-tests: Likewise.
28324         * modules/unictype/property-uppercase-tests: Likewise.
28325         * modules/unictype/property-variation-selector-tests: Likewise.
28326         * modules/unictype/property-white-space-tests: Likewise.
28327         * modules/unictype/property-xid-continue-tests: Likewise.
28328         * modules/unictype/property-xid-start-tests: Likewise.
28329         * modules/unictype/property-zero-width-tests: Likewise.
28330         * modules/unictype/scripts-tests: Likewise.
28331         * modules/unictype/syntax-c-ident-tests: Likewise.
28332         * modules/unictype/syntax-c-whitespace-tests: Likewise.
28333         * modules/unictype/syntax-java-ident-tests: Likewise.
28334         * modules/unictype/syntax-java-whitespace-tests: Likewise.
28335         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
28336         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
28337         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
28338         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
28339         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
28340         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
28341         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
28342         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
28343         * modules/uniname/uniname-tests: Likewise.
28344         * modules/uninorm/canonical-decomposition-tests: Likewise.
28345         * modules/uninorm/compat-decomposition-tests: Likewise.
28346         * modules/uninorm/composition-tests: Likewise.
28347         * modules/uninorm/decomposing-form-tests: Likewise.
28348         * modules/uninorm/decomposition-tests: Likewise.
28349         * modules/uninorm/filter-tests: Likewise.
28350         * modules/uninorm/nfc-tests: Likewise.
28351         * modules/uninorm/nfd-tests: Likewise.
28352         * modules/uninorm/nfkc-tests: Likewise.
28353         * modules/uninorm/nfkd-tests: Likewise.
28354         * modules/uninorm/u8-normcmp-tests: Likewise.
28355         * modules/uninorm/u8-normcoll-tests: Likewise.
28356         * modules/uninorm/u16-normcmp-tests: Likewise.
28357         * modules/uninorm/u16-normcoll-tests: Likewise.
28358         * modules/uninorm/u32-normcmp-tests: Likewise.
28359         * modules/uninorm/u32-normcoll-tests: Likewise.
28360         * modules/unistdio/u8-asnprintf-tests: Likewise.
28361         * modules/unistdio/u8-vasnprintf-tests: Likewise.
28362         * modules/unistdio/u8-vasprintf-tests: Likewise.
28363         * modules/unistdio/u8-vsnprintf-tests: Likewise.
28364         * modules/unistdio/u8-vsprintf-tests: Likewise.
28365         * modules/unistdio/u16-asnprintf-tests: Likewise.
28366         * modules/unistdio/u16-vasnprintf-tests: Likewise.
28367         * modules/unistdio/u16-vasprintf-tests: Likewise.
28368         * modules/unistdio/u16-vsnprintf-tests: Likewise.
28369         * modules/unistdio/u16-vsprintf-tests: Likewise.
28370         * modules/unistdio/u32-asnprintf-tests: Likewise.
28371         * modules/unistdio/u32-vasnprintf-tests: Likewise.
28372         * modules/unistdio/u32-vasprintf-tests: Likewise.
28373         * modules/unistdio/u32-vsnprintf-tests: Likewise.
28374         * modules/unistdio/u32-vsprintf-tests: Likewise.
28375         * modules/unistdio/ulc-asnprintf-tests: Likewise.
28376         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
28377         * modules/unistdio/ulc-vasprintf-tests: Likewise.
28378         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
28379         * modules/unistdio/ulc-vsprintf-tests: Likewise.
28380         * modules/unistr/u8-check-tests: Likewise.
28381         * modules/unistr/u8-chr-tests: Likewise.
28382         * modules/unistr/u8-cmp-tests: Likewise.
28383         * modules/unistr/u8-cmp2-tests: Likewise.
28384         * modules/unistr/u8-cpy-alloc-tests: Likewise.
28385         * modules/unistr/u8-cpy-tests: Likewise.
28386         * modules/unistr/u8-mblen-tests: Likewise.
28387         * modules/unistr/u8-mbsnlen-tests: Likewise.
28388         * modules/unistr/u8-mbtouc-tests: Likewise.
28389         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
28390         * modules/unistr/u8-mbtoucr-tests: Likewise.
28391         * modules/unistr/u8-move-tests: Likewise.
28392         * modules/unistr/u8-next-tests: Likewise.
28393         * modules/unistr/u8-prev-tests: Likewise.
28394         * modules/unistr/u8-set-tests: Likewise.
28395         * modules/unistr/u8-stpcpy-tests: Likewise.
28396         * modules/unistr/u8-stpncpy-tests: Likewise.
28397         * modules/unistr/u8-strcat-tests: Likewise.
28398         * modules/unistr/u8-strcmp-tests: Likewise.
28399         * modules/unistr/u8-strcoll-tests: Likewise.
28400         * modules/unistr/u8-strcpy-tests: Likewise.
28401         * modules/unistr/u8-strdup-tests: Likewise.
28402         * modules/unistr/u8-strlen-tests: Likewise.
28403         * modules/unistr/u8-strmblen-tests: Likewise.
28404         * modules/unistr/u8-strmbtouc-tests: Likewise.
28405         * modules/unistr/u8-strncat-tests: Likewise.
28406         * modules/unistr/u8-strncmp-tests: Likewise.
28407         * modules/unistr/u8-strncpy-tests: Likewise.
28408         * modules/unistr/u8-strnlen-tests: Likewise.
28409         * modules/unistr/u8-to-u16-tests: Likewise.
28410         * modules/unistr/u8-to-u32-tests: Likewise.
28411         * modules/unistr/u8-uctomb-tests: Likewise.
28412         * modules/unistr/u16-check-tests: Likewise.
28413         * modules/unistr/u16-chr-tests: Likewise.
28414         * modules/unistr/u16-cmp-tests: Likewise.
28415         * modules/unistr/u16-cmp2-tests: Likewise.
28416         * modules/unistr/u16-cpy-alloc-tests: Likewise.
28417         * modules/unistr/u16-cpy-tests: Likewise.
28418         * modules/unistr/u16-mblen-tests: Likewise.
28419         * modules/unistr/u16-mbsnlen-tests: Likewise.
28420         * modules/unistr/u16-mbtouc-tests: Likewise.
28421         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
28422         * modules/unistr/u16-mbtoucr-tests: Likewise.
28423         * modules/unistr/u16-move-tests: Likewise.
28424         * modules/unistr/u16-next-tests: Likewise.
28425         * modules/unistr/u16-prev-tests: Likewise.
28426         * modules/unistr/u16-set-tests: Likewise.
28427         * modules/unistr/u16-stpcpy-tests: Likewise.
28428         * modules/unistr/u16-stpncpy-tests: Likewise.
28429         * modules/unistr/u16-strcat-tests: Likewise.
28430         * modules/unistr/u16-strcmp-tests: Likewise.
28431         * modules/unistr/u16-strcoll-tests: Likewise.
28432         * modules/unistr/u16-strcpy-tests: Likewise.
28433         * modules/unistr/u16-strdup-tests: Likewise.
28434         * modules/unistr/u16-strlen-tests: Likewise.
28435         * modules/unistr/u16-strmblen-tests: Likewise.
28436         * modules/unistr/u16-strmbtouc-tests: Likewise.
28437         * modules/unistr/u16-strncat-tests: Likewise.
28438         * modules/unistr/u16-strncmp-tests: Likewise.
28439         * modules/unistr/u16-strncpy-tests: Likewise.
28440         * modules/unistr/u16-strnlen-tests: Likewise.
28441         * modules/unistr/u16-to-u32-tests: Likewise.
28442         * modules/unistr/u16-to-u8-tests: Likewise.
28443         * modules/unistr/u16-uctomb-tests: Likewise.
28444         * modules/unistr/u32-check-tests: Likewise.
28445         * modules/unistr/u32-chr-tests: Likewise.
28446         * modules/unistr/u32-cmp-tests: Likewise.
28447         * modules/unistr/u32-cmp2-tests: Likewise.
28448         * modules/unistr/u32-cpy-alloc-tests: Likewise.
28449         * modules/unistr/u32-cpy-tests: Likewise.
28450         * modules/unistr/u32-mblen-tests: Likewise.
28451         * modules/unistr/u32-mbsnlen-tests: Likewise.
28452         * modules/unistr/u32-mbtouc-tests: Likewise.
28453         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
28454         * modules/unistr/u32-mbtoucr-tests: Likewise.
28455         * modules/unistr/u32-move-tests: Likewise.
28456         * modules/unistr/u32-next-tests: Likewise.
28457         * modules/unistr/u32-prev-tests: Likewise.
28458         * modules/unistr/u32-set-tests: Likewise.
28459         * modules/unistr/u32-stpcpy-tests: Likewise.
28460         * modules/unistr/u32-stpncpy-tests: Likewise.
28461         * modules/unistr/u32-strcat-tests: Likewise.
28462         * modules/unistr/u32-strcmp-tests: Likewise.
28463         * modules/unistr/u32-strcoll-tests: Likewise.
28464         * modules/unistr/u32-strcpy-tests: Likewise.
28465         * modules/unistr/u32-strdup-tests: Likewise.
28466         * modules/unistr/u32-strlen-tests: Likewise.
28467         * modules/unistr/u32-strmblen-tests: Likewise.
28468         * modules/unistr/u32-strmbtouc-tests: Likewise.
28469         * modules/unistr/u32-strncat-tests: Likewise.
28470         * modules/unistr/u32-strncmp-tests: Likewise.
28471         * modules/unistr/u32-strncpy-tests: Likewise.
28472         * modules/unistr/u32-strnlen-tests: Likewise.
28473         * modules/unistr/u32-to-u16-tests: Likewise.
28474         * modules/unistr/u32-to-u8-tests: Likewise.
28475         * modules/unistr/u32-uctomb-tests: Likewise.
28476         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
28477         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
28478         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
28479         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
28480         * modules/uniwidth/u8-strwidth-tests: Likewise.
28481         * modules/uniwidth/u8-width-tests: Likewise.
28482         * modules/uniwidth/u16-strwidth-tests: Likewise.
28483         * modules/uniwidth/u16-width-tests: Likewise.
28484         * modules/uniwidth/u32-strwidth-tests: Likewise.
28485         * modules/uniwidth/u32-width-tests: Likewise.
28486         * modules/uniwidth/width-tests: Likewise.
28487
28488 2010-05-18  Richard Jones  <rjones@redhat.com>
28489
28490         doc: users.txt: list hivex
28491         * users.txt: Add hivex.
28492
28493 2010-05-18  Richard Jones  <rjones@redhat.com>
28494
28495         doc: users.txt: list febootstrap
28496         * users.txt: Add febootstrap.
28497
28498 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
28499
28500         bootstrap: fix an error when gnulib is not used as a git submodule
28501         * build-aux/bootstrap (gnulib_path): If its length is zero then
28502         assign "gnulib" to it.
28503         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
28504
28505 2010-05-16  Bruno Haible  <bruno@clisp.org>
28506
28507         Avoid autoconf warnings about AM_ICONV.
28508         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
28509         2.64.
28510
28511 2010-05-16  Bruno Haible  <bruno@clisp.org>
28512
28513         absolute-header: Make the macro usable in more situations.
28514         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
28515         from gl_ABSOLUTE_HEADER.
28516         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
28517
28518 2010-05-16  James Youngman  <jay@gnu.org>
28519
28520         doc: update users.txt
28521         * users.txt: Add CSSC.
28522
28523 2010-05-16  Jim Meyering  <meyering@redhat.com>
28524
28525         init.sh: fix an error in the previous change; add more comments
28526         * tests/init.sh: Compare exit code in loop against 9, not 2.
28527         Patch by Bruno Haible.
28528         Make the two tests more similar by adding an empty "then" clause.
28529         Add comments.
28530
28531         init.sh: avoid unnecessary shell re-exec
28532         * tests/init.sh: Improve the re-exec-required check to first test the
28533         current shell.  If it passes the test, do not search for a shell that
28534         does pass, and do not re-exec.  This test is particularly contorted to
28535         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
28536         of $(...) evokes a syntax error and causes immediate shell exit with
28537         status 2.  Bruno Haible reported that the re-exec made it impossible
28538         to single-step through any init.sh-using script.
28539
28540 2010-05-16  Bruno Haible  <bruno@clisp.org>
28541
28542         Fix collision between gnulib's and libintl's printf replacements.
28543         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
28544         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
28545         (printf): When using GNU C, map the __printf__ function to rpl_printf
28546         via __asm__. When not using GNU C, define rpl_printf instead of
28547         __printf__.
28548         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
28549         commit.
28550         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
28551         commit.
28552         * m4/asm-underscore.m4: New file.
28553         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
28554         * modules/stdio (Files): Add m4/asm-underscore.m4.
28555         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
28556         Reported by Ben Pfaff.
28557
28558 2010-05-16  Bruno Haible  <bruno@clisp.org>
28559
28560         verify: Avoid skipping the test on openSUSE 11.0.
28561         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
28562
28563 2010-05-13  Bruno Haible  <bruno@clisp.org>
28564
28565         Avoid useless warnings from G++.
28566         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
28567         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
28568         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
28569
28570 2010-05-11  Jim Meyering  <meyering@redhat.com>
28571
28572         maint.mk: tweak preceding change
28573         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
28574         regexps tighter by anchoring at EOL, and make the new group "shy"
28575         for slightly decreased overhead.
28576
28577 2010-05-11  Eric Blake  <eblake@redhat.com>
28578
28579         maint.mk: gnulib doesn't guarantee NSIG
28580         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
28581
28582 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
28583
28584         test-pwrite.c: Remove unused variable declaration.
28585         * tests/test-pwrite.c (main): Remove read_buf declaration.
28586
28587         Remove useless test-pwrite.sh file.
28588         * tests/test-pwrite.sh: Delete file.
28589         * modules/pwrite-tests: Remove references.
28590         Reported by Bruno Haible.
28591
28592 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
28593
28594         init.sh: fix a typo
28595         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
28596
28597 2010-05-10  Jim Meyering  <meyering@redhat.com>
28598
28599         maint.mk: avoid using a temporary file in the always-defined-macros check
28600         * top/maint.mk (.re-defmac): Remove rule.
28601         (gl_trap_): Remove definition.
28602         (sc_prohibit_always-defined_macros): Rewrite not to create and
28603         depend on a temporary file.  Instead, depend on GNU grep's ability
28604         to read a list of regular expressions from stdin when given "-f -".
28605
28606 2010-05-09  Bruno Haible  <bruno@clisp.org>
28607
28608         Update to GNU gettext 0.18, part 1.
28609         * m4/gettext.m4: Update to GNU gettext 0.18.
28610         * m4/intl.m4: Likewise.
28611         * m4/po.m4: Likewise.
28612         * modules/gettext (Files): Add m4/fcntl-o.m4.
28613         (configure.ac): Require gettext infrastructure from version 0.18.
28614
28615 2010-05-09  Jim Meyering  <meyering@redhat.com>
28616
28617         init.sh: enable MALLOC_PERTURB_
28618         * tests/init.sh: Enable glibc's malloc-perturbing option.
28619
28620         maint.mk: improve sc_cross_check_PATH_usage_in_tests
28621         With my recent change in init.sh from the two-line form:
28622             -#   : ${srcdir=.}
28623             -#   . "$srcdir/init.sh"; path_prepend_ .
28624             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
28625         I noticed that using the one-line form would cause this test
28626         to fail with a false-positive, or to stop working altogether,
28627         depending on whether help-version changed or all the tests did.
28628         * top/maint.mk (_hv_regex): Remove this definition.
28629         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
28630         (_hv_regex_strong): Use a stronger regex to check for conformance.
28631         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
28632         Give a separate diagnostic for lack of conforming use.
28633
28634         maint.mk: prohibit definition of symbols defined by gnulib
28635         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
28636         definition of symbols defined by gnulib.
28637
28638 2010-05-09  Bruno Haible  <bruno@clisp.org>
28639
28640         acl: Avoid test failure on Cygwin-hosted mingw.
28641         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
28642
28643 2010-05-09  Bruno Haible  <bruno@clisp.org>
28644
28645         error: Use system's fcntl function.
28646         * lib/error.c (fcntl): Undefine.
28647
28648 2010-05-09  Jim Meyering  <meyering@redhat.com>
28649
28650         verify: adjust formatting to be more consistent
28651         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
28652         argument-list '('s, and after one comma.
28653
28654 2010-05-09  Bruno Haible  <bruno@clisp.org>
28655
28656         error: More reliable output on mingw.
28657         * lib/error.c: Include <windows.h>.
28658         (is_open): New function.
28659         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
28660         defined.
28661
28662 2010-05-09  Bruno Haible  <bruno@clisp.org>
28663
28664         vasnprintf: Fix syntax errors in libintl build on mingw.
28665         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
28666         pad_ourselves and prec_ourselves after use.
28667
28668 2010-05-08  Bruno Haible  <bruno@clisp.org>
28669
28670         * lib/config.charset: Update comments for Cygwin 1.7.
28671         * lib/localcharset.c: Likewise.
28672
28673 2010-05-07  Jim Meyering  <meyering@redhat.com>
28674
28675         init.sh: improve comments
28676         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
28677         . "${srcdir=.}/init.sh"; path_prepend_ .
28678         Add a note about path_prepend_ and the alternative of using
28679         TESTS_ENVIRONMENT.
28680
28681 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
28682
28683         exclude: Unescape hashed patterns in wildcard mode.
28684         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
28685         to the hash list.
28686         * tests/test-exclude8.sh: New test case.
28687         * modules/exclude-tests: Add new test.
28688
28689 2010-05-05  Eric Blake  <eblake@redhat.com>
28690
28691         verify: automate tests
28692         * modules/verify-tests: New module.
28693         * tests/test-verify.sh: New file.
28694         * tests/test-verify.c: Guard each negative test with a unique id.
28695         Also avoid warning about unused left hand of comma expressions.
28696
28697 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
28698
28699         Further improvements to verify.h, suggested by Eric Blake.
28700         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
28701         the GL_* versions, to avoid collision with OpenGL.
28702         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
28703         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
28704         than testing merely whether it's defined.
28705
28706         Modify verify.h to pacify gcc -Wredundant_decls.
28707         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
28708         These use the prefix "GL_" since they're likely to be useful elsewhere.
28709         We may need to break them out into a different .h file.
28710         (__COUNTER__): Define to 0 if the compiler doesn't support it.
28711         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
28712         of verify_function__.
28713
28714 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
28715
28716         Tests for module pwrite.
28717         * modules/pwrite-tests: New file.
28718         * tests/test-pwrite.sh: New file.
28719         * tests/test-pwrite.c: New file.
28720
28721         New module pwrite.
28722         * lib/unistd.in.h (pwrite): New declaration.
28723         * lib/pwrite.c: New file, from glibc with modifications.
28724         * m4/pwrite.m4: New file.
28725         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
28726         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
28727         REPLACE_PWRITE.
28728         * modules/pwrite: New file.
28729         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
28730         REPLACE_PWRITE.
28731         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
28732         * doc/posix-functions/pwrite.texi: Mention the new module.
28733
28734 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
28735
28736         pread: Update documentation.
28737         * doc/posix-functions/pread.texi: Mention the 'pread' module.
28738
28739 2010-05-04  Eric Blake  <eblake@redhat.com>
28740
28741         docs: update cygwin progress
28742         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
28743         this bug.
28744         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
28745         Added in cygwin 1.7.2.
28746         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
28747         Likewise.
28748         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
28749         Likewise.
28750         * doc/glibc-functions/dup3.texi (dup3): Likewise.
28751         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
28752         * doc/glibc-functions/accept4.texi (accept4): Likewise.
28753         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
28754         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
28755         Mention nproc module.
28756         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
28757         bug in cygwin 1.7.5 addition.
28758         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
28759         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
28760         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
28761         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
28762         1.7.5.
28763         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
28764         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
28765         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
28766         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
28767         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
28768         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
28769         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
28770         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
28771         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
28772         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
28773         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
28774         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
28775         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
28776         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
28777         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
28778         Likewise.
28779         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
28780         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
28781         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
28782         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
28783         Likewise.
28784         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
28785         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
28786         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
28787         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
28788         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
28789         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
28790         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
28791         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
28792         Likewise.
28793         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
28794         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
28795         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
28796         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
28797         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
28798         Likewise.
28799         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
28800         Likewise.
28801         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
28802         Likewise.
28803         * doc/glibc-functions/xdrrec_endofrecord.texi
28804         (xdrrec_endofrecord): Likewise.
28805         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
28806         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
28807         Likewise.
28808         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
28809         Likewise.
28810
28811 2010-05-04  Jim Meyering  <meyering@redhat.com>
28812
28813         gendocs.sh: make its "-s FILE" option more useful
28814         * build-aux/gendocs.sh: When honoring the -s FILE option, update
28815         $PACKAGE to reflect the probably-different basename of "FILE".
28816
28817 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
28818
28819         bootstrap: don't ignore download_po_files failure
28820         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
28821         failure.
28822
28823 2010-05-03  Jim Meyering  <meyering@redhat.com>
28824
28825         maint.mk: allow to pass options to gendocs.sh
28826         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
28827         (gendocs_options_): New overridable variable.
28828
28829         gnu-web-doc-update: don't ignore configure or build failure
28830         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
28831
28832         announce-gen: backslash-escape '@'s in --help output
28833         * build-aux/announce-gen: Fix syntax errors.
28834
28835         maint.mk, announce-gen: allow project-specific announcement mail headers
28836         * top/maint.mk (translation_project_): Define default.
28837         (announcement_Cc_, announcement_mail_headers_): Likewise.
28838         (announcement): Invoke announce-gen with new --mail-headers option.
28839         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
28840
28841         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
28842         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
28843         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
28844         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
28845         line in the "err2" output file when running "make check" in verbose
28846         mode (i.e., with set -x enabled).
28847
28848 2010-05-03  Bruno Haible  <bruno@clisp.org>
28849
28850         wctob: Fix for weird platforms.
28851         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
28852         argument value.
28853
28854 2010-05-03  Jim Meyering  <meyering@redhat.com>
28855
28856         maint.mk: prohibit unwarranted use of <strings.h>
28857         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
28858         strings.h in a file that does not also use strcasecmp, strncasecmp,
28859         ffs or ffsll.
28860
28861         maint.mk: remove obsolete comments
28862         * top/maint.mk: Remove stale, commented-out rules.
28863
28864 2010-05-02  Bruno Haible  <bruno@clisp.org>
28865
28866         wcwidth: Declare also when it's aliased.
28867         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
28868         macro.
28869
28870 2010-05-02  Bruno Haible  <bruno@clisp.org>
28871
28872         Fix regression from 2010-04-25.
28873         * gnulib-tool (func_modules_transitive_closure): Check the status of
28874         all modules, not only of the tests that are of the form foo-tests where
28875         foo is a module.
28876
28877 2010-05-02  Bruno Haible  <bruno@clisp.org>
28878
28879         wctob: Work around nasty Cygwin 1.7.2 bug.
28880         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
28881         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
28882
28883 2010-05-01  Bruno Haible  <bruno@clisp.org>
28884
28885         fpurge: Sharper test.
28886         * tests/test-fpurge.c (main): Add one more ftell check.
28887         * modules/fpurge-tests (Depends-on): Add ftell.
28888         Suggested by Eric Blake.
28889
28890 2010-05-01  Bruno Haible  <bruno@clisp.org>
28891
28892         ftello: Another test.
28893         * tests/test-ftello3.c: New file.
28894         * modules/ftello-tests (Files): Add it.
28895         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
28896         MOSTLYCLEANFILES.
28897
28898         ftell: Another test.
28899         * tests/test-ftell3.c: New file.
28900         * modules/ftell-tests (Files): Add it.
28901         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
28902         MOSTLYCLEANFILES.
28903
28904 2010-05-01  Bruno Haible  <bruno@clisp.org>
28905
28906         ftell, ftello: Work around Solaris bug.
28907         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
28908         * lib/ftello.c: Include stdio-impl.h.
28909         (ftello): On Solaris, when _IOWRT is set, compute the result without
28910         looking at _IOREAD.
28911         * modules/ftello (Files): Add lib/stdio-impl.h.
28912         * doc/posix-functions/ftell.texi: Mention Solaris bug.
28913         * doc/posix-functions/ftello.texi: Likewise.
28914         Reported by Eric Blake.
28915
28916 2010-05-01  Bruno Haible  <bruno@clisp.org>
28917
28918         freading: Adapt to special meaning of _IOREAD flag on Solaris.
28919         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
28920         the _IOWRT flag is also set.
28921
28922 2010-05-01  Bruno Haible  <bruno@clisp.org>
28923
28924         Fix doc about a HP-UX stdio bug.
28925         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
28926         * doc/posix-functions/ftello.texi: Likewise.
28927
28928 2010-05-01  Bruno Haible  <bruno@clisp.org>
28929
28930         lseek test: Fix failure on Solaris.
28931         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
28932         output.
28933
28934 2010-04-30  Jim Meyering  <meyering@redhat.com>
28935
28936         bootstrap: don't ignore failure to generate po*/Makevars
28937         * build-aux/bootstrap (with_gettext): Don't ignore failure
28938         to create po/Makevars or runtime-po/Makevars.
28939
28940 2010-04-29  Eric Blake  <eblake@redhat.com>
28941
28942         headers: relax license to LGPLv2+
28943         * modules/fcntl-h (License): Relax license.
28944         * modules/getopt-posix (License): Likewise.
28945         * modules/locale (License): Likewise.
28946         * modules/math (License): Likewise.
28947         * modules/pty (License): Likewise.
28948         * modules/sched (License): Likewise.
28949         * modules/search (License): Likewise.
28950         * modules/spawn (License): Likewise.
28951         * modules/stdarg (License): Likewise.
28952         * modules/sysexits (License): Likewise.
28953
28954 2010-04-29  Jim Meyering  <meyering@redhat.com>
28955
28956         inttypes: relax license to LGPLv2+
28957         * modules/inttypes (License): Relax license.
28958
28959 2010-04-29  Simon Josefsson  <simon@josefsson.org>
28960
28961         * top/maint.mk (indent): Run twice to produce idempotent results.
28962
28963 2010-04-28  Bruno Haible  <bruno@clisp.org>
28964
28965         getdate: Generate getdate.c in the source directory.
28966         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
28967         MOSTLYCLEANFILES.
28968         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
28969
28970 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
28971
28972         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
28973         is not declared as a const *; avoid warnings in that case.
28974
28975 2010-04-28  Eric Blake  <eblake@redhat.com>
28976
28977         canonicalize-lgpl: avoid compiler warning
28978         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
28979         declaration' / 'extraneous semicolon' warning with some compilers.
28980         Reported by Andreas Gruenbacher.
28981
28982 2010-04-28  Jim Meyering  <meyering@redhat.com>
28983
28984         init.sh: ensure a more reliable exit status when exiting via trap
28985         * tests/init.sh (setup_): Don't rely on $? in signal handler.
28986         Inspired by patches from Dmitry V. Levin.
28987         Also trap on signal 3 (SIGQUIT).
28988
28989 2010-04-27  Bruno Haible  <bruno@clisp.org>
28990
28991         Update doc about utimes().
28992         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
28993         'utimens' module.
28994         Reported by Andreas Gruenbacher <agruen@suse.de>.
28995
28996 2010-04-27  Eric Blake  <eblake@redhat.com>
28997
28998         full-read, full-write: relax license
28999         * modules/full-read (License): Drop to LGPLv2+.
29000         * modules/full-write (License): Likewise.
29001         * modules/safe-read (License): Likewise.
29002         * modules/safe-write (License): Likewise.
29003
29004         pthread: mention library for linking
29005         * modules/pthread (Link): Mention $(LIB_PTHREAD).
29006
29007 2010-04-27  Jim Meyering  <meyering@redhat.com>
29008
29009         maint.mk: fix a bug introduced in last change
29010         * top/maint.mk (gl_assured_headers_): Now that all names are on
29011         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
29012         is not anchored to end of word, it should be adequate.
29013
29014         maint.mk: avoid side-effect in latest syntax-check
29015         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
29016         to run commands via $(shell...), and hence to incur cost only when
29017         the new rule is actually run.
29018
29019         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
29020         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
29021         and use that to create a regexp used to detect all #if HAVE_..._H uses.
29022         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
29023         (gl_assured_headers_, az_, AZ_): Define.
29024         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
29025
29026 2010-04-26  Jim Meyering  <jim@meyering.net>
29027             Bruno Haible  <bruno@clisp.org>
29028
29029         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
29030         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
29031         Prompted by an exchange with Gilles Espinasse.
29032
29033 2010-04-26  Jim Meyering  <meyering@redhat.com>
29034
29035         git-version-gen: aesthetic tweak
29036         * build-aux/git-version-gen: Use "$nl" rather than a literal,
29037         so that the command remains on a single line.
29038
29039 2010-04-26  Eric Blake  <eblake@redhat.com>
29040
29041         git-version-gen: allow use on EBCDIC hosts
29042         * build-aux/git-version-gen (dirty): Use literal rather than tying
29043         ourselves to ascii.
29044         Reported by Steve Goetze.
29045
29046 2010-04-25  Bruno Haible  <bruno@clisp.org>
29047
29048         netdb: Add support for GNULIB_POSIXCHECK.
29049         * lib/netdb.in.h: Include warn-on-use.h.
29050         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
29051         functions are used when GNULIB_POSIXCHECK is defined and the
29052         getaddrinfo module is not in use.
29053         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
29054         freeaddrinfo, gai_strerror, getnameinfo are declared.
29055         * modules/netdb (Depends-on): Add warn-on-use.
29056         (Makefile.am): Include warn-on-use.h in netdb.h.
29057
29058 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
29059
29060         build: avoid "make check" failure without .git/ directory
29061         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
29062         there is no .git/ directory.
29063
29064 2010-04-25  Bruno Haible  <bruno@clisp.org>
29065
29066         ptsname: Fix misuse of ttyname_r.
29067         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
29068         of errno.
29069
29070 2010-04-25  Bruno Haible  <bruno@clisp.org>
29071
29072         ttyname_r: Make it work on Solaris 10.
29073         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
29074         if the system function has the POSIX declaration. Test whether the
29075         function fails if the buffer is less than 128 bytes large.
29076         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
29077         system's ttyname_r function. Provide a reasonably large buffer.
29078         * modules/ttyname_r (Depends-on): Add extensions.
29079         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
29080
29081 2010-04-25  Bruno Haible  <bruno@clisp.org>
29082
29083         Use the 'extensions' module for some more functions on Solaris.
29084         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
29085         module.
29086         * doc/posix-functions/ctime_r.texi: Likewise.
29087         * doc/posix-functions/getgrgid_r.texi: Likewise.
29088         * doc/posix-functions/getgrnam_r.texi: Likewise.
29089         * doc/posix-functions/getpwnam_r.texi: Likewise.
29090         * doc/posix-functions/getpwuid_r.texi: Likewise.
29091         * doc/posix-functions/readdir_r.texi: Likewise.
29092         * doc/posix-functions/sigwait.texi: Likewise.
29093         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
29094         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
29095
29096 2010-04-25  Bruno Haible  <bruno@clisp.org>
29097
29098         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
29099         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
29100         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
29101         * lib/ttyname_r.c: Include <limits.h>.
29102         (ttyname_r): Define using the system's ttyname_r function, if it exists
29103         and not on Solaris.
29104         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
29105         set.
29106         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
29107         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
29108         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
29109         Reported by Simon Josefsson.
29110
29111 2010-04-25  Bruno Haible  <bruno@clisp.org>
29112
29113         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
29114         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
29115         * doc/posix-functions/ctime_r.texi: Likewise.
29116         * doc/posix-functions/getgrgid_r.texi: Likewise.
29117         * doc/posix-functions/getgrnam_r.texi: Likewise.
29118         * doc/posix-functions/getlogin_r.texi: Likewise.
29119         * doc/posix-functions/getpwnam_r.texi: Likewise.
29120         * doc/posix-functions/getpwuid_r.texi: Likewise.
29121         * doc/posix-functions/readdir_r.texi: Likewise.
29122         * doc/posix-functions/sigwait.texi: Likewise.
29123         * doc/posix-functions/ttyname_r.texi: Likewise.
29124         Reported by Simon Josefsson.
29125
29126 2010-04-25  Bruno Haible  <bruno@clisp.org>
29127
29128         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
29129         * gnulib-tool (func_usage): Document that --with-*-tests options apply
29130         also to --create-testdir.
29131         (func_acceptable): Don't consider the status of *-tests modules here.
29132         (func_modules_transitive_closure): Consider it here, before including a
29133         test module.
29134         (func_import, func_create_testdir): Set inc_all_direct_tests,
29135         inc_all_indirect_tests.
29136         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
29137         --create-testdir and --create-megatestdir.
29138
29139 2010-04-25  Bruno Haible  <bruno@clisp.org>
29140
29141         gnulib-tool: Add --without-*-tests options.
29142         * gnulib-tool (func_usage): Document the --without-*-tests options.
29143         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
29144         excl_unportable_tests): New variables.
29145         Fail if they are specified with --import or --update.
29146         (func_acceptable): Respect the excl_*_tests variables.
29147         (func_import): Set the excl_*_tests variables to empty.
29148
29149 2010-04-25  Simon Josefsson  <simon@josefsson.org>
29150             Bruno Haible  <bruno@clisp.org>
29151
29152         Work around a MacOS X 10.4 bug with openpty.
29153         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
29154         * tests/test-openpty.c (main): Close the master side explicitly.
29155
29156 2010-04-25  Bruno Haible  <bruno@clisp.org>
29157
29158         strnlen: Fix a C++ test error on MacOS X and Solaris.
29159         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
29160         the function is not declared.
29161         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
29162         Simon Josefsson.
29163
29164 2010-04-24  Bruno Haible  <bruno@clisp.org>
29165
29166         Avoid a gcc warning.
29167         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
29168         of correct type for %08lx directive.
29169         Reported by Eric Blake.
29170
29171 2010-04-24  Bruno Haible  <bruno@clisp.org>
29172
29173         vasnprintf: Correct errno value in case of out-of-memory.
29174         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
29175         or sprintf. Use the errno value from SNPRINTF or sprintf.
29176         Reported by Ian Beckwith <ianb@erislabs.net>.
29177
29178 2010-04-24  Bruno Haible  <bruno@clisp.org>
29179
29180         ansi-c++-opt: Find correct compiler when cross-compiling.
29181         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
29182         AC_CHECK_PROGS.
29183         Reported by Simon Josefsson.
29184
29185 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
29186
29187         vc-list-files: Add support for subversion
29188         * build-aux/vc-list-files: Use "svn list" to generate the list of
29189         files controlled by subversion.
29190
29191 2010-04-23  Jim Meyering  <meyering@redhat.com>
29192
29193         vc-list-files tests: convert to use init.sh
29194         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
29195         path_prepend_.
29196         Use Exit, not exit.
29197         Use skip_ rather than open coding it.
29198         Remove trap set-up and compare definitions.
29199         * tests/test-vc-list-files-git.sh: Likewise.
29200         * modules/vc-list-files-tests (Files): Add tests/init.sh.
29201
29202 2010-04-22  Simon Josefsson  <simon@josefsson.org>
29203
29204         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
29205         backup files.
29206
29207 2010-04-21  Simon Josefsson  <simon@josefsson.org>
29208
29209         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
29210
29211 2010-04-20  Eric Blake  <eblake@redhat.com>
29212
29213         tests: be robust to ignored SIGPIPE
29214         * tests/test-select-in.sh: Consume all output.
29215         * tests/test-lseek.sh: Check correct exit status, while avoiding
29216         EPIPE.
29217
29218 2010-04-20  Simon Josefsson  <simon@josefsson.org>
29219             Bruno Haible  <bruno@clisp.org>
29220
29221         visibility: Don't use -fvisibility if it leads to a warning.
29222         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
29223         yes, don't pretend that visibility works if it leads to a warning.
29224         Reported by Mike Gran <spk121@yahoo.com>.
29225
29226 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
29227
29228         * build-aux/bootstrap: Use "git -h" for testing for supported options
29229         instead of "git --help".  The short-form option only shows a summary,
29230         and doesn't layout the full man page.  Grep for the full option name
29231         in the summary, too.
29232
29233 2010-04-19  Bruno Haible  <bruno@clisp.org>
29234
29235         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
29236         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
29237         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
29238         mention of RELOCATABLE_STRIP.
29239         Reported by Sylvain Beucler <beuc@beuc.net>.
29240
29241 2010-04-19  Bruno Haible  <bruno@clisp.org>
29242
29243         * lib/diffseq.h: Fix typo in comment.
29244         Reported by Eric Blake.
29245
29246 2010-04-19  Bruno Haible  <bruno@clisp.org>
29247
29248         ioctl: Move autoconf macro to a .m4 file.
29249         * m4/ioctl.m4: New file, extracted from modules/ioctl.
29250         * modules/ioctl (Files): Add it.
29251         (configure.ac): Simply invoke gl_FUNC_IOCTL.
29252         Reported by Ian Beckwith <ianb@erislabs.net>.
29253
29254 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
29255             Bruno Haible  <bruno@clisp.org>
29256
29257         diffseq: Accommodate use-case with abstract arrays.
29258         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
29259         is not defined.
29260         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
29261         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
29262
29263 2010-04-18  Bruno Haible  <bruno@clisp.org>
29264
29265         * doc/posix-headers/stdbool.texi: More precise wording.
29266
29267 2010-04-17  Jim Meyering  <meyering@redhat.com>
29268
29269         maint.mk: use gnu-style indentation in an embedded perl script
29270         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
29271         Rename variable: s/two/last_two_bytes/
29272
29273 2010-04-16  Eric Blake  <eblake@redhat.com>
29274
29275         test-stdbool: skip test that fails with Solaris CC
29276         * tests/test-stdbool.c (f): Skip test that causes compilation
29277         error under buggy C++ compiler.
29278         * lib/stdbool.in.h: Document the limitation.
29279         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
29280
29281         setenv: allow compilation with C++
29282         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
29283         register keyword.
29284
29285         stdint: allow test to pass with C++
29286         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
29287
29288         getopt: allow compilation with C++
29289         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
29290         struct.
29291         * lib/getopt.c (_getopt_internal_r): Use correct type.
29292         Reported by Dagobert Michelson, via Joel E. Denny.
29293
29294 2010-04-16  Bruno Haible  <bruno@clisp.org>
29295
29296         Override netdb.h always.
29297         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
29298         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
29299         Reported by Ludovic Courtès <ludo@gnu.org>.
29300
29301 2010-04-15  Bruno Haible  <bruno@clisp.org>
29302
29303         openpty: Fix mistake from 2010-03-21.
29304         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
29305         Reported by Simon Josefsson.
29306
29307 2010-04-15  Eric Blake  <eblake@redhat.com>
29308
29309         test-forkpty: fix expected signature
29310         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
29311         Reported by Simon Josefsson.
29312
29313 2010-04-15  Jim Meyering  <meyering@redhat.com>
29314
29315         maint.mk: texinfo_suffix_re_: correct the default regexp
29316         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
29317
29318         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
29319         make it configurable via texinfo_suffix_re_.
29320
29321 2010-04-14  Eric Blake  <eblake@redhat.com>
29322
29323         strtok_r: relax license to LGPLv2+
29324         * modules/strtok_r (License): Relax license.
29325         Reported by Matthias Bolte.
29326
29327 2010-04-14  Simon Josefsson  <simon@josefsson.org>
29328
29329         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
29330         version 1.4.4 by default instead of requiring the libgcrypt
29331         version used during build.  This makes it possible to use the
29332         application with older but still binary compatible libgcrypt
29333         versions.
29334
29335 2010-04-13  Eric Blake  <eblake@redhat.com>
29336
29337         getopt-gnu: match recent glibc fixes and posix ruling
29338         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
29339         '+' handling, when requesting extensions.
29340         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
29341         'W;' handling.
29342         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
29343         * doc/posix-functions/getopt.texi (getopt): Document this.
29344         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
29345         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
29346         Likewise.
29347
29348         getopt: merge bug fixes from glibc
29349         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
29350         diagnostics.  Honor '+:' correctly.  Reject ';'.
29351
29352         getopt-posix: detect MacOS bug
29353         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
29354         optind when missing a required argument.
29355         * doc/posix-functions/getopt.texi (getopt): Document the bug.
29356         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
29357         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
29358         Likewise.
29359
29360         getopt-posix: avoid spurious failure on Solaris
29361         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
29362         an indicator that setting optind=1 is sufficient for reset.
29363
29364         getopt-posix: avoid spurious failure on FreeBSD
29365         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
29366         in POSIX mode, since the m4 test uses it.
29367
29368         gnulib-tool: silence warning on BSD sh
29369         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
29370
29371 2010-04-13  Jim Meyering  <meyering@redhat.com>
29372
29373         doc: users.txt: GNU patch now uses gnulib
29374         * users.txt: Add patch.
29375
29376 2010-04-12  Jim Meyering  <meyering@redhat.com>
29377
29378         maint.mk: generate more concise timing data for syntax-check rules
29379         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
29380         " done" from each line that reports a syntax-check test duration.
29381
29382 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
29383
29384         git-version-gen: use "git update-index..." rather than "git status"
29385         * build-aux/git-version-gen: Use git update-index --refresh, not
29386         "git status".  With some versions of git, "git status" would fail
29387         to update the index and result in an unwarranted "-dirty" suffix.
29388
29389 2010-04-11  Jim Meyering  <meyering@redhat.com>
29390
29391         openat: correct formatting (no semantic change)
29392         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
29393         Suggested by Bruno Haible.
29394
29395 2010-04-11  Bruno Haible  <bruno@clisp.org>
29396
29397         Stricter declaration checking in testdirs.
29398         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
29399         If for_tests is true, augment AM_CPPFLAGS to define
29400         GNULIB_STRICT_CHECKING.
29401         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
29402         GNULIB_STRICT_CHECKING is defined, verify that the function is
29403         declared.
29404
29405 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
29406             Bruno Haible  <bruno@clisp.org>
29407
29408         libunistring: Improve configure output.
29409         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
29410         Don't say "consider installing GNU libunistring" when checking again
29411         with libiconv.
29412
29413 2010-04-11  Bruno Haible  <bruno@clisp.org>
29414
29415         libunistring: Correct value of $LTLIBUNISTRING.
29416         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
29417         correct the value of $LTLIBUNISTRING.
29418
29419 2010-04-11  Bruno Haible  <bruno@clisp.org>
29420
29421         havelib: Add static libraries to LIBS in the right order.
29422         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
29423         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
29424
29425 2010-04-11  Bruno Haible  <bruno@clisp.org>
29426
29427         libunistring: Detect libunistring also when it depends on libiconv.
29428         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
29429         the second AC_LIB_HAVE_LINKFLAGS invocation.
29430
29431 2010-04-11  James Youngman  <jay@gnu.org>
29432
29433         close-stream: declare local scalars to be "const"
29434         * lib/close-stream.c (close_stream): Make boolean variables const
29435         to document the fact that we set but do not change them.
29436
29437 2010-04-11  Bruno Haible  <bruno@clisp.org>
29438
29439         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
29440
29441 2010-04-11  Jim Meyering  <meyering@redhat.com>
29442
29443         maint.mk: don't include dist-check.mk
29444         * top/maint.mk: Remove bogus include directive.
29445
29446         maint.mk: improve empty-line-at-EOF check
29447         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
29448         solution, rather than tail+Perl-based one.  The latter would read
29449         a few kilobytes from the end of each file, and did not handle empty
29450         files properly.
29451
29452         maint.mk: print the elapsed time for each syntax-check rule
29453         * top/maint.mk (sc_m_rules_): Save start time in a file.
29454         (sc_z_rules_): New rules: remove temp file and print elapsed time.
29455         (local-check): Interpose the .z rules
29456
29457 2010-04-11  Jim Meyering  <meyering@redhat.com>
29458
29459         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
29460         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
29461         empty file with one that ends in an empty line.
29462
29463 2010-04-10  Bruno Haible  <bruno@clisp.org>
29464
29465         mkdir: Make it work on mingw64.
29466         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
29467         * lib/mkdir.c: Update comment.
29468         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
29469
29470 2010-04-10  Bruno Haible  <bruno@clisp.org>
29471
29472         Don't override improved macro from newer autoconf.
29473         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
29474         autoconf >= 2.62.
29475         Reported by Joel E. Denny <jdenny@clemson.edu>.
29476
29477 2010-04-10  Jim Meyering  <meyering@redhat.com>
29478
29479         maint.mk: new syntax-check rule: prohibit empty lines at end of file
29480         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
29481
29482         maint.mk: correct a diagnostic
29483         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
29484         in diagnostic; now use $prohibit.
29485
29486 2010-04-10  Bruno Haible  <address@hidden>
29487
29488         fchownat: Fix a C++ test error on Solaris 8.
29489         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
29490         the function does not exist.
29491
29492 2010-04-10  Bruno Haible  <bruno@clisp.org>
29493
29494         vasnprintf: Add more tests.
29495         * tests/test-vasnprintf-posix.c: Include <errno.h>.
29496         (test_function): Test converting an invalid wide string.
29497
29498         vasnprintf: Correct handling of unconvertible wide string arguments.
29499         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
29500         VASNPRINTF.
29501         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
29502         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
29503         smaller than the expected maximum need for the directive. Set errno to
29504         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
29505         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
29506         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
29507         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
29508         * modules/vasnprintf (Files): Add m4/printf.m4.
29509         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
29510
29511 2010-04-10  Bruno Haible  <bruno@clisp.org>
29512
29513         vasnprintf: Fix crash in %ls directive.
29514         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
29515         string is passed as argument to %ls, with no precision and no width.
29516         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
29517
29518 2010-04-10  Bruno Haible  <bruno@clisp.org>
29519
29520         vasnprintf: Fix multiple test failures on mingw.
29521         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
29522         _snprintf, or snwprintf, not _snwprintf.
29523
29524 2010-04-10  Bruno Haible  <bruno@clisp.org>
29525
29526         write: Fix a C++ test error on mingw.
29527         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
29528
29529 2010-04-10  Bruno Haible  <bruno@clisp.org>
29530
29531         vasnprintf test: Reduce code duplication.
29532         * tests/test-vasnprintf.c (test_function): New function, extracted from
29533         test_vasnprintf.
29534         (test_vasnprintf, test_asnprintf): Invoke it.
29535
29536 2010-04-10  Bruno Haible  <bruno@clisp.org>
29537
29538         strnlen: Fix warning in C++ mode on MacOS X.
29539         * lib/string.in.h (strnlen): Use the modern idiom.
29540         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
29541         defining strnlen as a macro already in <config.h>.
29542         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
29543         REPLACE_STRNLEN.
29544         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
29545         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
29546
29547 2010-04-08  James Youngman  <jay@gnu.org>
29548
29549         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
29550         the example.
29551
29552 2010-04-09  Jim Meyering  <meyering@redhat.com>
29553
29554         maint.mk: print better diagnostic when there is no $(_hv_file)
29555         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
29556         announce that when $(_hv_file) (aka help-version) does not exist.
29557
29558         init.sh: run tr in the "C" locale to avoid multibyte interpretation
29559         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
29560         not try to interpret its random input bytes.  Jarno Rajahalme reported
29561         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
29562         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
29563         (mktempd_): Likewise, just in case.
29564
29565         ftruncate: add two years to projected module removal date: 2012
29566         * m4/ftruncate.m4: Adjust comments.
29567
29568         ftruncate: mark module as obsolete; even MinGW provides it, now
29569         * modules/ftruncate (Status): Obsolete.
29570         (Notice): Say that.
29571         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
29572         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
29573
29574 2010-04-08  Bruno Haible  <bruno@clisp.org>
29575
29576         Fix side effects from tests-related modules.
29577         * modules/dprintf-posix (Comment): New section.
29578         * modules/fprintf-posix (Comment): Likewise.
29579         * modules/obstack-printf-posix (Comment): Likewise.
29580         * modules/printf-posix (Comment): Likewise.
29581         * modules/snprintf-posix (Comment): Likewise.
29582         * modules/sprintf-posix (Comment): Likewise.
29583         * modules/vasnprintf-posix (Comment): Likewise.
29584         * modules/vasprintf-posix (Comment): Likewise.
29585         * modules/vdprintf-posix (Comment): Likewise.
29586         * modules/vfprintf-posix (Comment): Likewise.
29587         * modules/vprintf-posix (Comment): Likewise.
29588         * modules/vsnprintf-posix (Comment): Likewise.
29589         * modules/vsprintf-posix (Comment): Likewise.
29590         * modules/xprintf-posix (Comment): Likewise.
29591         * modules/xvasprintf-posix (Comment): Likewise.
29592         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
29593         * modules/floorf-tests (Depends-on): Likewise.
29594         * modules/round-tests (Depends-on): Likewise.
29595         * modules/roundf-tests (Depends-on): Likewise.
29596         * modules/trunc-tests (Depends-on): Likewise.
29597         * modules/truncf-tests (Depends-on): Likewise.
29598         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
29599         'fprintf-posix' module is not present.
29600         * tests/test-floorf2.c (check): Likewise.
29601         * tests/test-trunc2.c (check): Likewise.
29602         * tests/test-truncf2.c (check): Likewise.
29603         * tests/test-round2.c (equal): Likewise.
29604         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
29605
29606 2010-04-07  Karl Berry  <karl@gnu.org>
29607
29608         * config/srclist.txt,
29609         * config/srclistvars.sh,
29610         * config/srclist-update: doc fixes.
29611
29612 2010-04-07  Jim Meyering  <meyering@redhat.com>
29613
29614         maint.mk: add a PATH crosschecking syntax-check rule
29615         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
29616         Useful if you use a test like the one in help-version (coreutils,
29617         diffutils, grep, gzip) that ensures $(VERSION) matches what is
29618         printed by prog --version.
29619
29620 2010-04-06  Bruno Haible  <bruno@clisp.org>
29621
29622         Fix link error on mingw.
29623         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
29624         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
29625
29626 2010-04-06  Bruno Haible  <bruno@clisp.org>
29627
29628         Assume rmdir exists.
29629         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
29630
29631 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
29632
29633         doc: update users.txt
29634         * users.txt: Add gcal.
29635
29636 2010-04-06  Jim Meyering  <meyering@redhat.com>
29637
29638         init.sh: simply unset TMPDIR rather than risking env -i
29639         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
29640         although it probably works fine on all Unix-based systems, some
29641         systems (Cygwin?) cannot tolerate a totally cleared environment.
29642         Suggestion from Eric Blake.
29643
29644 2010-04-06  Jim Meyering  <meyering@redhat.com>
29645
29646         init.sh: portability fix: use env's POSIX-specified -i option not -u
29647         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
29648         than unportable env -u.  Solaris 5.11's env lacks support for -u.
29649
29650 2010-04-05  Bruno Haible  <bruno@clisp.org>
29651
29652         btowc: Work around Cygwin 1.7.2 bug.
29653         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
29654         does not map NUL to 0.
29655         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
29656
29657 2010-04-05  Bruno Haible  <bruno@clisp.org>
29658
29659         Make the multithread modules work on Cygwin 1.7.2.
29660         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
29661         imported symbols can be declared weak, so that it returns "no" on
29662         Cygwin 1.7.2.
29663
29664 2010-04-05  Bruno Haible  <bruno@clisp.org>
29665
29666         Use the module 'strncat'.
29667         * modules/unistr/u8-strncat (Depends-on): Add strncat.
29668
29669         Tests for module 'strncat'.
29670         * modules/strncat-tests: New file.
29671         * tests/test-strncat.c: New file.
29672
29673         New module 'strncat'.
29674         * lib/string.in.h (strncat): New declaration.
29675         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
29676         * m4/strncat.m4: New file, based on m4/memchr.m4.
29677         * modules/strncat: New file.
29678         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
29679         is declared.
29680         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
29681         REPLACE_STRNCAT.
29682         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
29683         REPLACE_STRNCAT.
29684         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
29685         module.
29686         * tests/test-string-c++.cc: Check signature of strncat.
29687
29688 2010-04-05  Jim Meyering  <meyering@redhat.com>
29689
29690         xstrtoumax-tests: convert to use init.sh
29691         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
29692         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
29693         Use Exit, not exit.
29694         Remove uses of $EXEEXT and "./" to run a program in the current dir.
29695
29696         xstrtoimax-tests: convert to use init.sh
29697         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
29698         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
29699         Use Exit, not exit.
29700         Remove uses of $EXEEXT and "./" to run a program in the current dir.
29701
29702 2010-04-05  Bruno Haible  <bruno@clisp.org>
29703
29704         sys_socket: Avoid #define replacements in C++ mode.
29705         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
29706         warning to the function if possible, rather than #defining the symbol
29707         to a dysfunctional alias.
29708
29709 2010-04-05  Bruno Haible  <bruno@clisp.org>
29710
29711         fseeko: Fix C++ test error on mingw.
29712         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
29713         gl_FUNC_FSEEKO.
29714         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
29715         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
29716         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
29717         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
29718
29719 2010-04-05  Bruno Haible  <bruno@clisp.org>
29720
29721         duplocale: Improve test output.
29722         * tests/test-duplocale.c (main): Print reason for skipped test.
29723
29724 2010-04-05  Bruno Haible  <bruno@clisp.org>
29725
29726         Assume rmdir exists.
29727         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
29728         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
29729
29730 2010-04-05  Bruno Haible  <bruno@clisp.org>
29731
29732         Fix link error on Solaris 8 with cc.
29733         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
29734
29735 2010-04-05  Bruno Haible  <bruno@clisp.org>
29736
29737         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
29738         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
29739
29740 2010-04-05  Bruno Haible  <bruno@clisp.org>
29741
29742         vasprintf: Update documentation.
29743         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
29744
29745 2010-04-05  Bruno Haible  <bruno@clisp.org>
29746
29747         ptsname: Improve test.
29748         * tests/test-ptsname.c (main): Also try the various master names of BSD
29749         systems.
29750
29751 2010-04-05  Bruno Haible  <bruno@clisp.org>
29752
29753         memchr: Avoid a possible C++ test error.
29754         * lib/string.in.h (memchr): Provide declaration if function is missing.
29755         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
29756         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
29757         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
29758         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
29759
29760 2010-04-05  Bruno Haible  <bruno@clisp.org>
29761
29762         strtok_r: Improve idiom.
29763         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
29764         AC_LIBOBJ is used.
29765
29766 2010-04-05  Bruno Haible  <bruno@clisp.org>
29767
29768         strdup: Improve idiom.
29769         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
29770         AC_LIBOBJ is used.
29771         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
29772         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
29773         when AC_LIBOBJ is used.
29774
29775 2010-04-05  Bruno Haible  <bruno@clisp.org>
29776
29777         mbsinit, mbrtowc, wcrtomb: Improve idioms.
29778         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
29779         don't set REPLACE_MBSINIT to 1.
29780         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
29781         don't set REPLACE_MBRTOWC to 1.
29782         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
29783         exist, don't set REPLACE_MBSRTOWCS to 1.
29784         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
29785         exist, don't set REPLACE_MBSNRTOWCS to 1.
29786         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
29787         don't set REPLACE_WCRTOMB to 1.
29788         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
29789         exist, don't set REPLACE_WCSRTOMBS to 1.
29790         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
29791         exist, don't set REPLACE_WCSNRTOMBS to 1.
29792
29793 2010-04-05  Bruno Haible  <bruno@clisp.org>
29794
29795         ldexpl: Improve idiom.
29796         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
29797         make sure to set HAVE_DECL_LDEXPL to 0.
29798
29799 2010-04-05  Jim Meyering  <meyering@redhat.com>
29800
29801         xstrtol-tests: convert to use init.sh
29802         * modules/xstrtol-tests (Files): Add tests/init.sh.
29803         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
29804         Use Exit, not exit.
29805         Remove uses of $EXEEXT and "./" to run a program in the current dir.
29806
29807         atexit-tests: convert to use init.sh
29808         * modules/atexit-tests (Files): Add tests/init.sh.
29809         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
29810         Use Exit, not exit.
29811         Remove uses of $EXEEXT and "./" to run a program in the current dir.
29812
29813         init.sh: fix typo
29814         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
29815
29816         init.sh: make it easier for a test script to write to the tty, ...
29817         when using automake's parallel-tests mode.
29818         * tests/init.sh (stderr_fileno_): Define overridable variable.
29819         (warn_): New function, to use it.
29820         (fail_, skip_, framework_failure_): Use warn_.
29821
29822 2010-04-04  Bruno Haible  <bruno@clisp.org>
29823
29824         btowc: Avoid warning.
29825         * lib/btowc.c: Include <stdlib.h>.
29826         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
29827
29828 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
29829             Bruno Haible  <bruno@clisp.org>
29830
29831         wchar: Port to NetBSD 1.5.
29832         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
29833         * lib/wctype.in.h (WEOF): Likewise.
29834
29835 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
29836             Bruno Haible  <bruno@clisp.org>
29837
29838         Port extended stdio to NetBSD 1.5.
29839         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
29840         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
29841         older.
29842
29843 2010-04-04  Bruno Haible  <bruno@clisp.org>
29844
29845         string: Remove unused substitution.
29846         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
29847         HAVE_DECL_STRERROR.
29848         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
29849
29850 2010-04-04  Bruno Haible  <bruno@clisp.org>
29851
29852         strtod: Avoid a possible C++ test error.
29853         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
29854         set REPLACE_STRTOD.
29855
29856 2010-04-04  Bruno Haible  <bruno@clisp.org>
29857
29858         strerror: Update documentation.
29859         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
29860
29861 2010-04-04  Bruno Haible  <bruno@clisp.org>
29862
29863         stdio: Fix some C++ test errors on Solaris 8 with GCC.
29864         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
29865         _GL_CXXALIAS_SYS_CAST.
29866
29867 2010-04-04  Bruno Haible  <bruno@clisp.org>
29868
29869         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
29870         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
29871         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
29872         REPLACE_FREXPL to 1.
29873         * doc/posix-functions/frexpl.texi: Update documentation.
29874
29875 2010-04-04  Bruno Haible  <bruno@clisp.org>
29876
29877         math: Fix some C++ test errors on Solaris 8 and Cygwin.
29878         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
29879
29880 2010-04-04  Bruno Haible  <bruno@clisp.org>
29881
29882         Implement nanosleep for native Windows.
29883         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
29884
29885 2010-04-04  Bruno Haible  <bruno@clisp.org>
29886
29887         math: Fix some C++ test errors on Solaris 8.
29888         * lib/math.in.h (truncf, trunc): Use simpler idiom.
29889
29890 2010-04-04  Bruno Haible  <bruno@clisp.org>
29891
29892         math: Fix some C++ test errors on Cygwin.
29893         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
29894         truncl): Provide declaration if the system does not have it.
29895         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
29896         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
29897         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
29898         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
29899         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
29900         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
29901         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
29902         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
29903         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
29904         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
29905         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
29906         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
29907         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
29908         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
29909         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
29910         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
29911         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
29912         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
29913         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
29914         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
29915         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
29916         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
29917
29918 2010-04-04  Bruno Haible  <bruno@clisp.org>
29919
29920         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
29921         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
29922         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
29923         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
29924         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
29925         * m4/isinf.m4 (gl_ISINF): Likewise.
29926         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
29927
29928 2010-04-04  Bruno Haible  <bruno@clisp.org>
29929
29930         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
29931         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
29932
29933 2010-04-04  Bruno Haible  <bruno@clisp.org>
29934
29935         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
29936         * modules/tmpfile (configure.ac): Update.
29937
29938         tmpfile: Fix C++ test error on mingw.
29939         * lib/stdio.in.h (tmpfile): New declaration.
29940         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
29941         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
29942         * modules/tmpfile (Depends-on): Add stdio.
29943         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
29944         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
29945         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
29946         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
29947         REPLACE_TMPFILE.
29948         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
29949
29950 2010-04-04  Bruno Haible  <bruno@clisp.org>
29951
29952         ioctl: Fix C++ test error on mingw.
29953         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
29954         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
29955         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
29956
29957 2010-04-03  Bruno Haible  <bruno@clisp.org>
29958
29959         wcwidth: Fix C++ test error on mingw.
29960         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
29961         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
29962         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
29963
29964 2010-04-03  Bruno Haible  <bruno@clisp.org>
29965
29966         nanosleep: Fix C++ test error on mingw.
29967         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
29968         * lib/time.in.h (nanosleep): Use modern idiom.
29969         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
29970         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
29971         REPLACE_NANOSLEEP to 1.
29972         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
29973         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
29974
29975 2010-04-03  Bruno Haible  <bruno@clisp.org>
29976
29977         strptime: Fix C++ test error on mingw.
29978         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
29979         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
29980         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
29981         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
29982         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
29983         not REPLACE_STRPTIME.
29984         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
29985         REPLACE_STRPTIME.
29986
29987 2010-04-03  Bruno Haible  <bruno@clisp.org>
29988
29989         timegm: Fix C++ test error on mingw.
29990         * lib/time.in.h (timegm): Use modern idiom.
29991         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
29992         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
29993         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
29994         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
29995
29996 2010-04-03  Bruno Haible  <bruno@clisp.org>
29997
29998         timegm: Assume declaration if function exists.
29999         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
30000         if it exists. Don't clobber ac_cv_func_timegm.
30001
30002 2010-04-03  Bruno Haible  <bruno@clisp.org>
30003
30004         time_r: Fix C++ test error on mingw.
30005         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
30006         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
30007         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
30008         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
30009         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
30010
30011 2010-04-03  Bruno Haible  <bruno@clisp.org>
30012
30013         time_r: Minor updates.
30014         * modules/time_r (Description): Mention the provided functions.
30015         * lib/time_r.c: Don't include <string.h>.
30016         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
30017         * doc/posix-functions/localtime_r.texi: Likewise.
30018
30019 2010-04-03  Bruno Haible  <bruno@clisp.org>
30020
30021         time: Fix regression introduced on 2010-03-08.
30022         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
30023         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
30024
30025 2010-04-03  Jim Meyering  <meyering@redhat.com>
30026
30027         maint.mk: don't silently disable project-specific syntax-check rules
30028         * top/maint.mk (_prohibit_regexp): Define, to help people realize
30029         that they need to convert their project-specific syntax-check rules
30030         to use the new _sc_search_regexp.
30031
30032 2010-04-03  Bruno Haible  <bruno@clisp.org>
30033
30034         fchdir: Fix regression introduced on 2010-03-08.
30035         * lib/unistd.in.h (fchdir): Fix declaration.
30036         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
30037         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
30038         REPLACE_FCHDIR.
30039         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
30040         REPLACE_FCHDIR.
30041
30042 2010-04-03  Bruno Haible  <bruno@clisp.org>
30043
30044         getpagesize: Fix C++ test error on mingw.
30045         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
30046         system does not declare the function.
30047         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
30048         declared.
30049         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
30050         HAVE_DECL_GETPAGESIZE.
30051         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
30052
30053 2010-04-03  Bruno Haible  <bruno@clisp.org>
30054
30055         stdio: Make C++ tests work on mingw.
30056         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
30057         does not declare the function.
30058
30059 2010-04-03  Bruno Haible  <bruno@clisp.org>
30060
30061         ftello: Fix C++ test error on mingw.
30062         * lib/stdio.in.h (ftello): Use modern idiom.
30063         * lib/ftello.c (ftello): Renamed from rpl_ftello.
30064         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
30065         is missing and that it needs to be replaced.
30066         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
30067         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
30068         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
30069
30070 2010-04-03  Bruno Haible  <bruno@clisp.org>
30071
30072         fseeko: Fix C++ test error on mingw.
30073         * lib/stdio.in.h (fseeko): Use modern idiom.
30074         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
30075         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
30076         is missing and that it needs to be replaced.
30077         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
30078         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
30079         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
30080
30081 2010-04-03  Bruno Haible  <bruno@clisp.org>
30082
30083         mkstemp: Fix C++ test error on mingw.
30084         * lib/stdlib.in.h (mkstemp): Use modern idiom.
30085         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
30086         function is missing and that it needs to be replaced.
30087         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
30088         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
30089
30090 2010-04-03  Bruno Haible  <bruno@clisp.org>
30091
30092         stpncpy: Fix C++ test error on mingw.
30093         * lib/string.in.h (stpncpy): Use modern idiom.
30094         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
30095         function is missing and that it needs to be replaced.
30096         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
30097         REPLACE_STPNCPY.
30098         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
30099
30100 2010-04-03  Bruno Haible  <bruno@clisp.org>
30101
30102         sys_stat: Fix C++ test error on mingw.
30103         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
30104         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
30105
30106 2010-04-03  Bruno Haible  <bruno@clisp.org>
30107
30108         pty: Update doc.
30109         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
30110
30111 2010-04-03  Bruno Haible  <bruno@clisp.org>
30112
30113         unistd: Fix C++ test error on mingw.
30114         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
30115
30116 2010-04-03  Bruno Haible  <bruno@clisp.org>
30117
30118         Update doc regarding mingw.
30119         * doc/glibc-functions/openpty.texi: Update regarding mingw.
30120         * doc/glibc-functions/login_tty.texi: Likewise.
30121         * doc/glibc-functions/forkpty.texi: Likewise.
30122
30123 2010-04-03  Bruno Haible  <bruno@clisp.org>
30124
30125         stdlib: Avoid compilation failure of c-strtold on mingw.
30126         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
30127
30128 2010-04-03  Bruno Haible  <bruno@clisp.org>
30129
30130         locale: Make C++ tests work on Cygwin and mingw.
30131         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
30132         cannot provide the function.
30133         Reported by Simon Josefsson.
30134
30135 2010-04-03  Bruno Haible  <bruno@clisp.org>
30136
30137         localename: Port to MacOS X 10.6.
30138         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
30139         memory layout of the locales in MacOS X 10.6 as well.
30140         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
30141
30142 2010-04-02  Bruno Haible  <bruno@clisp.org>
30143
30144         gnulib-tool: Ensure that long-running tests are executed last.
30145         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
30146         running tests after the one for the other tests.
30147
30148 2010-04-02  Bruno Haible  <bruno@clisp.org>
30149
30150         gnulib-tool: Ensure the tests in the main directory are executed first.
30151         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
30152         start with the current directory.
30153
30154 2010-04-02  Bruno Haible  <bruno@clisp.org>
30155
30156         Tests for module 'havelib', moved here from GNU gettext.
30157         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
30158         modifications.
30159         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
30160         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
30161         with modifications.
30162         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
30163         modifications.
30164         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
30165         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
30166         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
30167         with modifications.
30168         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
30169         with modifications.
30170         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
30171         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
30172         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
30173         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
30174         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
30175         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
30176         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
30177         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
30178         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
30179         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
30180         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
30181         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
30182         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
30183         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
30184         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
30185         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
30186         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
30187         with modifications.
30188         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
30189         with modifications.
30190         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
30191         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
30192         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
30193         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
30194         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
30195         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
30196         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
30197         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
30198         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
30199         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
30200         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
30201         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
30202         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
30203         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
30204         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
30205         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
30206         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
30207         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
30208         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
30209         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
30210         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
30211         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
30212         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
30213         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
30214         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
30215         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
30216         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
30217         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
30218         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
30219         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
30220         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
30221         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
30222         * tests/havelib/rpathx/rpathx.c: New file, from
30223         gettext/autoconf-lib-link.
30224         * tests/havelib/rpathx/Makefile.am: New file, from
30225         gettext/autoconf-lib-link.
30226         * tests/havelib/rpathx/configure.ac: New file, from
30227         gettext/autoconf-lib-link with modifications.
30228         * tests/havelib/rpathy/rpathy.c: New file, from
30229         gettext/autoconf-lib-link.
30230         * tests/havelib/rpathy/Makefile.am: New file, from
30231         gettext/autoconf-lib-link.
30232         * tests/havelib/rpathy/configure.ac: New file, from
30233         gettext/autoconf-lib-link with modifications.
30234         * tests/havelib/rpathz/rpathz.c: New file, from
30235         gettext/autoconf-lib-link.
30236         * tests/havelib/rpathz/Makefile.am: New file, from
30237         gettext/autoconf-lib-link.
30238         * tests/havelib/rpathz/configure.ac: New file, from
30239         gettext/autoconf-lib-link with modifications.
30240         * tests/havelib/rpathlx/usex.c: New file, from
30241         gettext/autoconf-lib-link.
30242         * tests/havelib/rpathlx/Makefile.am: New file, from
30243         gettext/autoconf-lib-link.
30244         * tests/havelib/rpathlx/configure.ac: New file, from
30245         gettext/autoconf-lib-link with modifications.
30246         * tests/havelib/rpathly/usey.c: New file, from
30247         gettext/autoconf-lib-link.
30248         * tests/havelib/rpathly/Makefile.am: New file, from
30249         gettext/autoconf-lib-link.
30250         * tests/havelib/rpathly/configure.ac: New file, from
30251         gettext/autoconf-lib-link with modifications.
30252         * tests/havelib/rpathlz/usez.c: New file, from
30253         gettext/autoconf-lib-link.
30254         * tests/havelib/rpathlz/Makefile.am: New file, from
30255         gettext/autoconf-lib-link.
30256         * tests/havelib/rpathlz/configure.ac: New file, from
30257         gettext/autoconf-lib-link with modifications.
30258         * tests/havelib/rpathlyx/usey.c: New file, from
30259         gettext/autoconf-lib-link.
30260         * tests/havelib/rpathlyx/Makefile.am: New file, from
30261         gettext/autoconf-lib-link.
30262         * tests/havelib/rpathlyx/configure.ac: New file, from
30263         gettext/autoconf-lib-link with modifications.
30264         * tests/havelib/rpathlzyx/usez.c: New file, from
30265         gettext/autoconf-lib-link.
30266         * tests/havelib/rpathlzyx/Makefile.am: New file, from
30267         gettext/autoconf-lib-link.
30268         * tests/havelib/rpathlzyx/configure.ac: New file, from
30269         gettext/autoconf-lib-link with modifications.
30270         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
30271         with modifications.
30272
30273 2010-04-02  Bruno Haible  <bruno@clisp.org>
30274
30275         gnulib-tool: Create distributed built sources also for the tests.
30276         * gnulib-tool (func_create_testdir): Also generate distributed built
30277         sources in the tests directory.
30278
30279 2010-04-02  Bruno Haible  <bruno@clisp.org>
30280
30281         gnulib-tool: Obey user's environment variables.
30282         * gnulib-tool (func_create_testdir): When creating built sources,
30283         respect the environment variables for autoconf, automake, etc. given by
30284         the user.
30285
30286 2010-04-02  Bruno Haible  <bruno@clisp.org>
30287
30288         gnulib-tool: Provide the value of --m4-base to modules.
30289         * gnulib-tool (func_import, func_create_testdir): Emit a definition
30290         of gl_m4_base.
30291
30292 2010-04-02  Eric Blake  <eblake@redhat.com>
30293
30294         maint.mk: fix some fallout
30295         * NEWS: Document the incompatible change, and its effect on cfg.mk.
30296         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
30297
30298 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
30299
30300         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
30301         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
30302         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
30303         (sc_cast_of_x_alloc_return_value): Likewise.
30304         (sc_cast_of_alloca_return_value): Likewise.
30305         (sc_space_tab): Likewise.
30306         (sc_prohibit_atoi_atof): Likewise.
30307         (sc_prohibit_magic_number_exit): Likewise.
30308         (sc_error_exit_success): Likewise.
30309         (sc_file_system): Likewise.
30310         (sc_prohibit_have_config_h): Likewise.
30311         (sc_require_config_h): Likewise.
30312         (sc_prohibit_HAVE_MBRTOWC): Likewise.
30313         (sc_obsolete_symbols): Likewise.
30314         (sc_changelog): Likewise.
30315         (sc_program_name): Likewise.
30316         (sc_the_the): Likewise.
30317         (sc_trailing_blank): Likewise.
30318         (sc_two_space_separator_in_usage): Likewise.
30319         (sc_useless_cpp_parens): Likewise.
30320         (sc_GPL_version): Likewise.
30321         (sc_GFDL_version): Likewise.
30322         (sc_texinfo_acronym): Likewise.
30323         (sc_prohibit_cvs_keyword): Likewise.
30324         (sc_prohibit_stat_st_blocks): Likewise.
30325         (sc_prohibit_S_IS_definition): Likewise.
30326         (sc_redundant_const): Likewise.
30327         (sc_makefile_TAB_only_indentation): Likewise.
30328         (sc_m4_quote_check): Likewise.
30329         (sc_makefile_path_separator_check): Likewise.
30330         (sc_copyright_check): Likewise.
30331         (sc_Wundef_boolean): Likewise.
30332         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
30333
30334         maint.mk: match 0 or more whitespace-before-function-call '('
30335         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
30336         that have zero or two-and-more spaces between the function name
30337         and the open parenthesis.
30338         (sc_error_message_warn_fatal): Likewise.
30339         (sc_error_message_uppercase): Likewise.
30340         (sc_error_message_period): Likewise.
30341
30342 2010-03-31  Eric Blake  <eblake@redhat.com>
30343
30344         maint.mk: check for [ as well as test
30345         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
30346         Based on a libvirt report by Matthias Bolte.
30347
30348         gnumakefile: don't squelch _version output
30349         * top/GNUmakefile (_version): Create one-shot dependency rather
30350         than using $(shell) when version must be regenerated.
30351         (_autoreconf): Run verbosely, by default.
30352
30353         sys_time: avoid compiler warnings
30354         * lib/sys_time.in.h (includes): Ensure gcc pragma is
30355         unconditional, fixing regression from 2010-03-29.
30356         Reported by Simon Josefsson.
30357
30358 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
30359
30360         maint.mk: s/_header_without_use/_sc_header_without_use/
30361         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
30362         (sc_prohibit_assert_without_use): Use the new name.
30363         (sc_prohibit_close_stream_without_use): Likewise.
30364         (sc_prohibit_getopt_without_use): Likewise.
30365         (sc_prohibit_quotearg_without_use): Likewise.
30366         (sc_prohibit_quote_without_use): Likewise.
30367         (sc_prohibit_long_options_without_use): Likewise.
30368         (sc_prohibit_inttostr_without_use): Likewise.
30369         (sc_prohibit_ignore_value_without_use): Likewise.
30370         (sc_prohibit_error_without_use): Likewise.
30371         (sc_prohibit_xalloc_without_use): Likewise.
30372         (sc_prohibit_hash_without_use): Likewise.
30373         (sc_prohibit_hash_pjw_without_use): Likewise.
30374         (sc_prohibit_safe_read_without_use): Likewise.
30375         (sc_prohibit_argmatch_without_use): Likewise.
30376         (sc_prohibit_canonicalize_without_use): Likewise.
30377         (sc_prohibit_root_dev_ino_without_use): Likewise.
30378         (sc_prohibit_openat_without_use): Likewise.
30379         (sc_prohibit_c_ctype_without_use): Likewise.
30380         (sc_prohibit_signal_without_use): Likewise.
30381         (sc_prohibit_intprops_without_use): Likewise.
30382
30383 2010-03-30  Eric Blake  <eblake@redhat.com>
30384
30385         maint: improve module indicators
30386         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
30387         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
30388         columns, and avoid extra macro expansion.
30389
30390         fdopendir: work around FreeBSD bug
30391         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
30392         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
30393         * modules/dirent (Makefile.am): Substitute it.
30394         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
30395         declaration.
30396         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
30397         fix.
30398         Reported by Christian Weisgerber <naddy@mips.inka.de>.
30399
30400 2010-03-29  Bruno Haible  <bruno@clisp.org>
30401
30402         Emit #pragma system_header after the inclusion guard, not before.
30403         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
30404         guard that spans the entire file, not before. This enables an
30405         optimization in GCC's preprocessor.
30406         * lib/ctype.in.h: Likewise.
30407         * lib/dirent.in.h: Likewise.
30408         * lib/errno.in.h: Likewise.
30409         * lib/float.in.h: Likewise.
30410         * lib/getopt.in.h: Likewise.
30411         * lib/iconv.in.h: Likewise.
30412         * lib/langinfo.in.h: Likewise.
30413         * lib/locale.in.h: Likewise.
30414         * lib/math.in.h: Likewise.
30415         * lib/netdb.in.h: Likewise.
30416         * lib/netinet_in.in.h: Likewise.
30417         * lib/pty.in.h: Likewise.
30418         * lib/sched.in.h: Likewise.
30419         * lib/se-selinux.in.h: Likewise.
30420         * lib/search.in.h: Likewise.
30421         * lib/spawn.in.h: Likewise.
30422         * lib/stdarg.in.h: Likewise.
30423         * lib/stdint.in.h: Likewise.
30424         * lib/string.in.h: Likewise.
30425         * lib/strings.in.h: Likewise.
30426         * lib/sys_file.in.h: Likewise.
30427         * lib/sys_ioctl.in.h: Likewise.
30428         * lib/sys_time.in.h: Likewise.
30429         * lib/sys_times.in.h: Likewise.
30430         * lib/sys_utsname.in.h: Likewise.
30431         * lib/sys_wait.in.h: Likewise.
30432         * lib/sysexits.in.h: Likewise.
30433         * lib/wctype.in.h: Likewise.
30434
30435 2010-03-28  James Youngman  <jay@gnu.org>
30436
30437         save-cwd: don't leak a file descriptor when the caller execs.
30438         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
30439         saved file descriptor.
30440         * modules/save-cwd (Depends-on): Depend on cloexec.
30441
30442 2010-03-29  Bruno Haible  <bruno@clisp.org>
30443
30444         Remove vestiges of fts-lgpl module.
30445         * lib/fts_.h: Assume GNULIB_FTS is 1.
30446         * lib/fts.c: Likewise.
30447         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
30448
30449 2010-03-28  Bruno Haible  <bruno@clisp.org>
30450
30451         Fix definition of tests witness macro.
30452         * gnulib-tool (func_import): Fix definition of witness macro.
30453
30454 2010-03-28  Bruno Haible  <bruno@clisp.org>
30455
30456         Fix ioctl's protoype on glibc systems.
30457         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
30458         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
30459         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
30460         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
30461         signature. If not, arrange to replace the ioctl function.
30462         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
30463         REPLACE_IOCTL.
30464         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
30465         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
30466         Reported by Ludovic Courtès <ludo@gnu.org>.
30467
30468 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
30469
30470         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
30471         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
30472         made it so grep -r --include=GLOB* ... did not work.
30473
30474 2010-03-26  Jim Meyering  <meyering@redhat.com>
30475             Eric Blake  <eblake@redhat.com>
30476
30477         maint.mk: prohibit use of test's -o and -a operators
30478         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
30479
30480 2010-03-28  Bruno Haible  <bruno@clisp.org>
30481
30482         Remove unused GNULIB_XYZ macro definitions.
30483         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
30484         invocation.
30485
30486 2010-03-28  Bruno Haible  <bruno@clisp.org>
30487
30488         Mark privileged tests modules.
30489         * modules/idpriv-drop-tests (Status): New section.
30490         * modules/idpriv-droptemp-tests (Status): New section.
30491
30492 2010-03-28  Bruno Haible  <bruno@clisp.org>
30493
30494         Split C++ tests into separate tests modules.
30495         * modules/dirent-c++-tests: New file, extracted from
30496         modules/dirent-tests.
30497         * modules/dirent-tests: Depend on it.
30498         * modules/fcntl-h-c++-tests: New file, extracted from
30499         modules/fcntl-h-tests.
30500         * modules/fcntl-h-tests: Depend on it.
30501         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
30502         * modules/glob-tests: Depend on it.
30503         * modules/iconv-h-c++-tests: New file, extracted from
30504         modules/iconv-h-tests.
30505         * modules/iconv-h-tests: Depend on it.
30506         * modules/langinfo-c++-tests: New file, extracted from
30507         modules/langinfo-tests.
30508         * modules/langinfo-tests: Depend on it.
30509         * modules/locale-c++-tests: New file, extracted from
30510         modules/locale-tests.
30511         * modules/locale-tests: Depend on it.
30512         * modules/math-c++-tests: New file, extracted from modules/math-tests.
30513         * modules/math-tests: Depend on it.
30514         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
30515         * modules/pty-tests: Depend on it.
30516         * modules/search-c++-tests: New file, extracted from
30517         modules/search-tests.
30518         * modules/search-tests: Depend on it.
30519         * modules/signal-c++-tests: New file, extracted from
30520         modules/signal-tests.
30521         * modules/signal-tests: Depend on it.
30522         * modules/spawn-c++-tests: New file, extracted from
30523         modules/spawn-tests.
30524         * modules/spawn-tests: Depend on it.
30525         * modules/stdio-c++-tests: New file, extracted from
30526         modules/stdio-tests.
30527         * modules/stdio-tests: Depend on it.
30528         * modules/stdlib-c++-tests: New file, extracted from
30529         modules/stdlib-tests.
30530         * modules/stdlib-tests: Depend on it.
30531         * modules/string-c++-tests: New file, extracted from
30532         modules/string-tests.
30533         * modules/string-tests: Depend on it.
30534         * modules/sys_ioctl-c++-tests: New file, extracted from
30535         modules/sys_ioctl-tests.
30536         * modules/sys_ioctl-tests: Depend on it.
30537         * modules/sys_select-c++-tests: New file, extracted from
30538         modules/sys_select-tests.
30539         * modules/sys_select-tests: Depend on it.
30540         * modules/sys_socket-c++-tests: New file, extracted from
30541         modules/sys_socket-tests.
30542         * modules/sys_socket-tests: Depend on it.
30543         * modules/sys_stat-c++-tests: New file, extracted from
30544         modules/sys_stat-tests.
30545         * modules/sys_stat-tests: Depend on it.
30546         * modules/sys_time-c++-tests: New file, extracted from
30547         modules/sys_time-tests.
30548         * modules/sys_time-tests: Depend on it.
30549         * modules/time-c++-tests: New file, extracted from modules/time-tests.
30550         * modules/time-tests: Depend on it.
30551         * modules/unistd-c++-tests: New file, extracted from
30552         modules/unistd-tests.
30553         * modules/unistd-tests: Depend on it.
30554         * modules/wchar-c++-tests: New file, extracted from
30555         modules/wchar-tests.
30556         * modules/wchar-tests: Depend on it.
30557         * modules/wctype-c++-tests: New file, extracted from
30558         modules/wctype-tests.
30559         * modules/wctype-tests: Depend on it.
30560         Reported by Simon Josefsson.
30561
30562 2010-03-28  Bruno Haible  <bruno@clisp.org>
30563
30564         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
30565         * gnulib-tool (func_exists_module): New function, extracted from
30566         func_verify_module.
30567         (func_verify_module): Use it.
30568         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
30569         'foo' only if 'foo' exists.
30570         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
30571         module.
30572
30573 2010-03-28  Bruno Haible  <bruno@clisp.org>
30574
30575         gnulib-tool: Add support for special categories of tests.
30576         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
30577         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
30578         (func_usage): Document them.
30579         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
30580         inc_unportable_tests, inc_all_tests): New variables.
30581         (func_acceptable): Consider these variables.
30582         (func_modules_transitive_closure): Make it work when the 'Status' field
30583         consists of multiple words.
30584         (func_import): Store and restore the values of inc_cxx_tests,
30585         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
30586         inc_all_tests in gnulib-comp.m4.
30587         (func_create_testdir): Set inc_all_tests to true.
30588         * doc/gnulib.texi (Extra tests modules): New section.
30589         Suggested by Jim Meyering.
30590
30591 2010-03-28  Bruno Haible  <bruno@clisp.org>
30592
30593         ansi-c++-opt: Allow turning off the C++ build by default.
30594         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
30595         gl_CXX_CHOICE_DEFAULT_NO is defined.
30596         Requested by Eric Blake.
30597
30598 2010-03-28  Bruno Haible  <bruno@clisp.org>
30599
30600         unistd: Avoid #define replacements in C++ mode.
30601         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
30602         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
30603         setsockopt, shutdown, select): In C++, attach a warning to the function
30604         if possible, rather than #defining the symbol to a dysfunctional alias.
30605         Reported by John W. Eaton <jwe@gnu.org>.
30606
30607 2010-03-28  Bruno Haible  <bruno@clisp.org>
30608
30609         Fix link errors on mingw.
30610         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
30611         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
30612         $(LIBSOCKET).
30613         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
30614         $(LIBSOCKET).
30615
30616 2010-03-28  Bruno Haible  <bruno@clisp.org>
30617             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30618
30619         lib-ignore: Determine different options for different compilers.
30620         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
30621         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
30622         Add comments.
30623         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
30624         * NEWS: Mention the change.
30625
30626 2010-03-27  Bruno Haible  <bruno@clisp.org>
30627
30628         Remove unused GNULIB_XYZ macro definitions.
30629         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
30630         * modules/fseek (configure.ac): Likewise.
30631         * modules/ioctl (configure.ac): Likewise.
30632         * modules/open (configure.ac): Likewise.
30633         * modules/stdlib-safer (configure.ac): Likewise.
30634
30635 2010-03-27  Bruno Haible  <bruno@clisp.org>
30636
30637         Add a remark about certain modules.
30638         * modules/malloc (Comment): New section.
30639         * modules/realloc (Comment): Likewise.
30640         * modules/sigpipe (Comment): Likewise.
30641
30642 2010-03-27  Bruno Haible  <bruno@clisp.org>
30643
30644         Resolve conflict between the two kinds of module indicators.
30645         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
30646         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
30647         * modules/canonicalize (configure.ac): Invoke
30648         gl_MODULE_INDICATOR_FOR_TESTS.
30649         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
30650         GNULIB_XYZ.
30651         * tests/test-dirent-c++.cc: Likewise.
30652         * tests/test-dirent-safer.c: Likewise.
30653         * tests/test-dup2.c: Likewise.
30654         * tests/test-fchdir.c: Likewise.
30655         * tests/test-fcntl-h-c++.cc: Likewise.
30656         * tests/test-getopt.c: Likewise.
30657         * tests/test-getopt.h: Likewise.
30658         * tests/test-langinfo-c++.cc: Likewise.
30659         * tests/test-locale-c++.cc: Likewise.
30660         * tests/test-math-c++.cc: Likewise.
30661         * tests/test-pty-c++.cc: Likewise.
30662         * tests/test-search-c++.cc: Likewise.
30663         * tests/test-signal-c++.cc: Likewise.
30664         * tests/test-spawn-c++.cc: Likewise.
30665         * tests/test-stdio-c++.cc: Likewise.
30666         * tests/test-stdlib-c++.cc: Likewise.
30667         * tests/test-string-c++.cc: Likewise.
30668         * tests/test-sys_ioctl-c++.cc: Likewise.
30669         * tests/test-sys_select-c++.cc: Likewise.
30670         * tests/test-sys_socket-c++.cc: Likewise.
30671         * tests/test-sys_stat-c++.cc: Likewise.
30672         * tests/test-sys_time-c++.cc: Likewise.
30673         * tests/test-time-c++.cc: Likewise.
30674         * tests/test-unistd-c++.cc: Likewise.
30675         * tests/test-wchar-c++.cc: Likewise.
30676         * tests/uninorm/test-u8-nfc.c: Likewise.
30677         * tests/uninorm/test-u8-nfd.c: Likewise.
30678         * tests/uninorm/test-u8-nfkc.c: Likewise.
30679         * tests/uninorm/test-u8-nfkd.c: Likewise.
30680         * tests/uninorm/test-u16-nfc.c: Likewise.
30681         * tests/uninorm/test-u16-nfd.c: Likewise.
30682         * tests/uninorm/test-u16-nfkc.c: Likewise.
30683         * tests/uninorm/test-u16-nfkd.c: Likewise.
30684         * tests/uninorm/test-u32-nfc.c: Likewise.
30685         * tests/uninorm/test-u32-nfc-big.c: Likewise.
30686         * tests/uninorm/test-u32-nfd.c: Likewise.
30687         * tests/uninorm/test-u32-nfd-big.c: Likewise.
30688         * tests/uninorm/test-u32-nfkc.c: Likewise.
30689         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
30690         * tests/uninorm/test-u32-nfkd.c: Likewise.
30691         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
30692         * tests/uninorm/test-u32-normalize-big.c: Likewise.
30693
30694 2010-03-27  Bruno Haible  <bruno@clisp.org>
30695
30696         Distinguish two kinds of module indicators.
30697         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
30698         gl_MODULE_INDICATOR.
30699         (gl_MODULE_INDICATOR): New macro.
30700         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
30701         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
30702         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
30703         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
30704         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
30705         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
30706         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
30707         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
30708         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
30709         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
30710         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
30711         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
30712         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
30713         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
30714         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
30715         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
30716         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
30717         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
30718         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
30719         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
30720         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
30721         * modules/cloexec (configure.ac): Likewise.
30722         * modules/getopt-gnu (configure.ac): Likewise.
30723         * modules/uninorm/u8-normalize (configure.ac): Likewise.
30724         * modules/uninorm/u16-normalize (configure.ac): Likewise.
30725         * modules/uninorm/u32-normalize (configure.ac): Likewise.
30726         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
30727
30728 2010-03-27  Bruno Haible  <bruno@clisp.org>
30729
30730         New module description field 'Comment'.
30731         * gnulib-tool: New option --extract-comment.
30732         (func_usage): Document it.
30733         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
30734         (func_get_comment): New function.
30735         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
30736
30737 2010-03-27  Bruno Haible  <bruno@clisp.org>
30738
30739         Addendum to 2010-02-07 commit.
30740         * gnulib-tool (func_usage): Document --extract-applicability option.
30741
30742 2010-03-27  Bruno Haible  <bruno@clisp.org>
30743
30744         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
30745         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
30746         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
30747         rather than link errors.
30748
30749 2010-03-27  Bruno Haible  <bruno@clisp.org>
30750
30751         Avoid side effects from tests-related modules on the compilation of lib.
30752         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
30753         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
30754         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
30755         parameter. Emit into AM_CPPFLAGS a definition of the designated C
30756         macro.
30757         (func_import): Define a witness macro. Assign it a value that depends
30758         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
30759         tests-related modules.
30760         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
30761         Reported by Jim Meyering.
30762
30763 2010-03-27  Bruno Haible  <bruno@clisp.org>
30764
30765         Factorize common .m4 code.
30766         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
30767         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
30768         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
30769         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
30770         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
30771         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
30772         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
30773         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
30774         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
30775         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
30776         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
30777         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
30778         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
30779         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
30780         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
30781         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
30782         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
30783         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
30784         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
30785         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
30786         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
30787         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
30788         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
30789         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
30790         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
30791         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
30792         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
30793         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
30794         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
30795         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
30796         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
30797         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
30798
30799 2010-03-27  Bruno Haible  <bruno@clisp.org>
30800
30801         Fix a compilation error on Cygwin with g++ >= 4.3.
30802         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
30803         if it is undefined or if we alias it to chmod.
30804         (lstat): Don't warn about the use of this function if it is undefined
30805         or if we alias it to stat.
30806         Reported by Simon Josefsson.
30807
30808 2010-03-27  Bruno Haible  <bruno@clisp.org>
30809
30810         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
30811         * modules/getlogin (configure.ac): Update.
30812
30813         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
30814         * modules/getlogin_r (configure.ac): Update.
30815
30816         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
30817         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
30818         * modules/inet_ntop (configure.ac): Update.
30819
30820         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
30821         * modules/inet_pton (configure.ac): Update.
30822
30823         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
30824         * modules/mbslen (configure.ac): Update.
30825
30826         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
30827         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
30828         * modules/forkpty (configure.ac): Update.
30829         * modules/openpty (configure.ac): Update.
30830
30831 2010-03-26  Simon Josefsson  <simon@josefsson.org>
30832
30833         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
30834         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
30835
30836 2010-03-25  Eric Blake  <eblake@redhat.com>
30837
30838         maint: use pragma consistently across replacement headers
30839         * lib/ctype.in.h (system_header): Hoist for consistent placement.
30840         * lib/dirent.in.h (system_header): Likewise.
30841         * lib/errno.in.h (system_header): Likewise.
30842         * lib/float.in.h (system_header): Likewise.
30843         * lib/getopt.in.h (system_header): Likewise.
30844         * lib/iconv.in.h (system_header): Likewise.
30845         * lib/inttypes.in.h (system_header): Likewise.
30846         * lib/langinfo.in.h (system_header): Likewise.
30847         * lib/locale.in.h (system_header): Likewise.
30848         * lib/math.in.h (system_header): Likewise.
30849         * lib/netdb.in.h (system_header): Likewise.
30850         * lib/netinet_in.in.h (system_header): Likewise.
30851         * lib/pty.in.h (system_header): Likewise.
30852         * lib/sched.in.h (system_header): Likewise.
30853         * lib/se-selinux.in.h (system_header): Likewise.
30854         * lib/search.in.h (system_header): Likewise.
30855         * lib/spawn.in.h (system_header): Likewise.
30856         * lib/stdarg.in.h (system_header): Likewise.
30857         * lib/stdint.in.h (system_header): Likewise.
30858         * lib/string.in.h (system_header): Likewise.
30859         * lib/strings.in.h (system_header): Likewise.
30860         * lib/sys_file.in.h (system_header): Likewise.
30861         * lib/sys_ioctl.in.h (system_header): Likewise.
30862         * lib/sys_socket.in.h (system_header): Likewise.
30863         * lib/sys_times.in.h (system_header): Likewise.
30864         * lib/sys_utsname.in.h (system_header): Likewise.
30865         * lib/sys_wait.in.h (system_header): Likewise.
30866         * lib/sysexits.in.h (system_header): Likewise.
30867         * lib/unistd.in.h (system_header): Likewise.
30868         * lib/wctype.in.h (system_header): Likewise.
30869
30870         arpa/inet: fix mingw compilation warning
30871         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
30872         Reported by Matthew Bolte.
30873
30874 2010-03-25  Bruno Haible  <bruno@clisp.org>
30875
30876         Avoid collision between gnulib wrapper and libintl wrapper.
30877         * lib/printf.c (printf): Don't define if a printf wrapper is already
30878         defined in intl/printf.c.
30879         Reported by Michel Boaventura <michel@michelboaventura.com>.
30880
30881 2010-03-25  Bruno Haible  <bruno@clisp.org>
30882
30883         Use ANSI C.
30884         * lib/readutmp.h (getutent): Provide ANSI C prototype.
30885
30886 2010-03-25  Bruno Haible  <bruno@clisp.org>
30887
30888         Minor formatting changes.
30889         * lib/acosl.c: Insert space before function argument list.
30890         * lib/argz.c: Likewise.
30891         * lib/asinl.c: Likewise.
30892         * lib/expl.c: Likewise.
30893         * lib/gen-uni-tables.c: Likewise.
30894         * lib/gettext.h: Likewise.
30895         * lib/glthread/lock.h: Likewise.
30896         * lib/tanl.c: Likewise.
30897         * lib/uniname/uniname.c: Likewise.
30898         * tests/test-idpriv-drop.c: Likewise.
30899         * tests/test-idpriv-droptemp.c: Likewise.
30900         * tests/test-lock.c: Likewise.
30901         * tests/test-tls.c: Likewise.
30902         * lib/argp-help.c: Insert space before function-like macro argument
30903         list.
30904         * lib/memcmp.c: Likewise.
30905         * tests/test-base64.c: Likewise.
30906         * lib/localename.c: Insert space before sizeof's argument list.
30907         * lib/safe-alloc.h: Likewise.
30908         * lib/file-set.h: Insert space before macro argument list.
30909         * tests/test-argp.c: Likewise.
30910         * lib/argp-namefrob.h: Insert space before function parameter list.
30911         * lib/getaddrinfo.c: Likewise.
30912         * lib/netdb.in.h: Likewise.
30913         * lib/parse-duration.h: Likewise.
30914         * lib/parse-duration.c: Likewise.
30915         * lib/poll.c: Likewise.
30916         * lib/select.c: Likewise.
30917         * lib/trim.h: Likewise.
30918         * tests/test-usleep.c: Likewise.
30919         * lib/ldexpl.c: Insert space before function parameter list and before
30920         function argument list.
30921         * lib/logl.c: Likewise.
30922         * lib/sqrtl.c: Likewise.
30923         * lib/trim.c: Likewise.
30924         * lib/cosl.c: Use GNU style indentation. Insert space before function
30925         argument list.
30926         * lib/sinl.c: Likewise.
30927         * lib/tsearch.c: Insert space after 'for'.
30928         Reported by Jim Meyering.
30929
30930 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
30931
30932         * maint.mk (sc_Wundef_boolean): Check for the presence of the
30933         config header before grepping, as it's not present before
30934         autoreconf/configure are run.  Reported by Simon Josefsson.
30935
30936 2010-03-23  Bruno Haible  <bruno@clisp.org>
30937
30938         pt_chown: Make it work with automake < 1.11.
30939         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
30940         Reported by Simon Josefsson.
30941
30942 2010-03-23  Bruno Haible  <bruno@clisp.org>
30943
30944         pt_chown: Don't depend on GPLed modules.
30945         * lib/pt_chown.c: Don't include idpriv.h.
30946         (main): Don't drop privileges.
30947         * modules/pt_chown (Depends-on): Remove idpriv-drop.
30948         Reported by Simon Josefsson.
30949
30950 2010-03-24  Simon Josefsson  <simon@josefsson.org>
30951
30952         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
30953         suggestions from karl@freefriends.org (Karl Berry).
30954
30955 2010-03-22  Eric Blake  <eblake@redhat.com>
30956
30957         gethostname: further tweaks
30958         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
30959         are overriding gethostname.
30960         Suggested by Bruno Haible.
30961
30962 2010-03-21  Bruno Haible  <bruno@clisp.org>
30963
30964         Fix comments.
30965         * lib/forkpty.c (rpl_forkpty): Fix comment.
30966         * lib/openpty.c (rpl_openpty): Likewise.
30967         Reported by Eric Blake.
30968
30969 2010-03-22  Eric Blake  <eblake@redhat.com>
30970
30971         gethostname: fix build on mingw
30972         * lib/unistd.in.h (includes): Work around fact that mingw
30973         <winsock2.h> re-includes <unistd.h>, by avoiding any
30974         redeclarations if we are being included by <winsock2.h>.
30975         Reported by Matthias Bolte.
30976
30977 2010-03-21  Bruno Haible  <bruno@clisp.org>
30978
30979         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
30980         * lib/forkpty.c (forkpty): New replacement function, from glibc with
30981         modifications.
30982         * lib/pty.in.h (forkpty): Update declaration. Add comments.
30983         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
30984         provide the replacement.
30985         * modules/forkpty (Depends-on): Add openpty, login_tty.
30986         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
30987         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
30988         * doc/glibc-functions/forkpty.texi: More supported platforms.
30989         * config/srclist.txt: Add forkpty.c (commented).
30990
30991 2010-03-21  Bruno Haible  <bruno@clisp.org>
30992
30993         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
30994         (Makefile.am): Verify that PTY_LIB is defined.
30995
30996         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
30997
30998 2010-03-21  Bruno Haible  <bruno@clisp.org>
30999
31000         Tests for module 'login_tty'.
31001         * modules/login_tty-tests: New file.
31002         * tests/test-login_tty.c: New file.
31003
31004         New module 'login_tty'.
31005         * lib/login_tty.c: New file.
31006         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
31007         * modules/login_tty: New file.
31008         * doc/glibc-functions/login_tty.texi: Mention the new module.
31009
31010 2010-03-21  Bruno Haible  <bruno@clisp.org>
31011
31012         login_tty: Documentation.
31013         * doc/glibc-functions/login_tty.texi: New file.
31014         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
31015
31016 2010-03-21  Bruno Haible  <bruno@clisp.org>
31017
31018         pty: Consistent macro naming.
31019         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
31020         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
31021         * modules/pty (configure.ac): Update.
31022
31023 2010-03-21  Bruno Haible  <bruno@clisp.org>
31024
31025         Tests for openpty: Make stricter.
31026         * tests/test-openpty.c (main): Add test of canonical processing and
31027         erase.
31028         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
31029
31030         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
31031         * lib/openpty.c (openpty): New replacement function.
31032         * lib/pty.in.h: Include <termios.h>.
31033         (openpty): Update declaration. Add comments.
31034         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
31035         is not declared, arrange to provide the replacement. Check for _getpty
31036         and posix_openpt.
31037         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
31038         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
31039         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
31040         * modules/pty-tests (test_pty_c___LDADD): New variable.
31041         * doc/glibc-functions/openpty.texi: More supported platforms.
31042
31043 2010-03-21  Bruno Haible  <bruno@clisp.org>
31044
31045         setenv: Tweaks.
31046         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
31047         the test program.
31048         * doc/posix-functions/setenv.texi: Update platforms list.
31049
31050 2010-03-21  Bruno Haible  <bruno@clisp.org>
31051
31052         New module 'unlockpt'.
31053         * lib/unlockpt.c: New file, from glibc with modifications.
31054         * m4/unlockpt.m4: New file.
31055         * modules/unlockpt: New file.
31056         * lib/stdlib.in.h (unlockpt): New declaration.
31057         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
31058         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
31059         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
31060         HAVE_UNLOCKPT.
31061         * doc/posix-functions/unlockpt.texi: Mention the new module.
31062         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
31063         * config/srclist.txt: Add unlockpt.c (commented).
31064
31065 2010-03-21  Jim Meyering  <meyering@redhat.com>
31066
31067         maint.mk: prohibit inclusion of "intprops.h" without use
31068         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
31069
31070 2010-03-21  Bruno Haible  <bruno@clisp.org>
31071
31072         New module 'grantpt'.
31073         * lib/grantpt.c: New file, from glibc with modifications.
31074         * m4/grantpt.m4: New file.
31075         * modules/grantpt: New file.
31076         * lib/stdlib.in.h (grantpt): New declaration.
31077         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
31078         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
31079         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
31080         HAVE_GRANTPT.
31081         * doc/posix-functions/grantpt.texi: Mention the new module.
31082         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
31083         * config/srclist.txt: Add grantpt.c (commented).
31084
31085 2010-03-21  Bruno Haible  <bruno@clisp.org>
31086
31087         New module 'pt_chown'.
31088         * lib/pt_chown.c: New file, from glibc with modifications.
31089         * lib/pty-private.h: New file, from glibc with modifications.
31090         * modules/pt_chown: New file.
31091         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
31092
31093 2010-03-21  Bruno Haible  <bruno@clisp.org>
31094
31095         Tests for module 'ptsname'.
31096         * modules/ptsname-tests: New file.
31097         * tests/test-ptsname.c: New file.
31098
31099         New module 'ptsname'.
31100         * lib/ptsname.c: New file, from glibc with modifications.
31101         * m4/ptsname.m4: New file.
31102         * modules/ptsname: New file.
31103         * lib/stdlib.in.h (ptsname): New declaration.
31104         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
31105         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
31106         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
31107         HAVE_PTSNAME.
31108         * doc/posix-functions/ptsname.texi: Mention the new module.
31109         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
31110         * config/srclist.txt: Add ptsname.c (commented).
31111
31112 2010-03-21  Bruno Haible  <bruno@clisp.org>
31113
31114         Tests for module 'ttyname_r'.
31115         * modules/ttyname_r-tests: New file.
31116         * tests/test-ttyname_r.c: New file.
31117
31118         New module 'ttyname_r'.
31119         * lib/ttyname_r.c: New file.
31120         * m4/ttyname_r.m4: New file.
31121         * modules/ttyname_r: New file.
31122         * lib/unistd.in.h (ttyname_r): New declaration.
31123         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
31124         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
31125         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
31126         HAVE_TTYNAME_R.
31127         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
31128         * doc/posix-functions/ttyname_r.texi: Mention the new module.
31129
31130 2010-03-20  Bruno Haible  <bruno@clisp.org>
31131
31132         signal: Undefine macro definitions in C++ mode.
31133         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
31134         sigfillset): Undefine macro definitions from the system header in C++
31135         mode.
31136         Reported by John W. Eaton <jwe@gnu.org>.
31137
31138 2010-03-20  Bruno Haible  <bruno@clisp.org>
31139
31140         Ensure no #include statements inside extern "C" { ... }.
31141         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
31142         contain #include statements.
31143         * lib/time.in.h: Likewise.
31144
31145 2010-03-20  Bruno Haible  <bruno@clisp.org>
31146
31147         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
31148         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
31149         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
31150         Reported by John W. Eaton <jwe@gnu.org>.
31151
31152 2010-03-20  Bruno Haible  <bruno@clisp.org>
31153
31154         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
31155         Reported by Jim Meyering.
31156
31157 2010-03-20  Bruno Haible  <bruno@clisp.org>
31158
31159         pipe: Set errno upon failure.
31160         * lib/pipe.h: Specify that when -1 is returned, errno is set.
31161         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
31162         errno value in error message.
31163
31164 2010-03-20  Bruno Haible  <bruno@clisp.org>
31165             Jim Meyering  <meyering@redhat.com>
31166
31167         lchown: Avoid "unused variable" warning.
31168         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
31169
31170 2010-03-20  Bruno Haible  <bruno@clisp.org>
31171
31172         Work around unlink() bug on MacOS X 10.5.6.
31173         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
31174         attempting to unlink a parent directory.
31175         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
31176         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
31177         activate for the replacement function.
31178         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
31179
31180 2010-03-20  Bruno Haible  <bruno@clisp.org>
31181
31182         Fix link errors on Solaris 8.
31183         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
31184         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
31185
31186 2010-03-19  Jim Meyering  <meyering@redhat.com>
31187
31188         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
31189         The _LIBC implementation of build_range_exp correctly honors the
31190         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
31191         However, the non-_LIBC implementation would ignore that syntax-bit
31192         flag and return REG_ERANGE unconditionally.
31193         This change makes it honor that flag.
31194         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
31195         Make two pointer parameters "const".
31196         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
31197         (parse_bracket_exp): Update caller.
31198
31199         regex.m4: correct the reversed range endpoint ([b-a]) test
31200         * m4/regex.m4: When requiring that [b-a] evoke failure,
31201         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
31202         test pass once again for x86-based systems.
31203
31204 2010-03-19  Bruno Haible  <bruno@clisp.org>
31205
31206         scandir: Fix link error on Solaris 8.
31207         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
31208         macros.
31209
31210 2010-03-19  Bruno Haible  <bruno@clisp.org>
31211
31212         getusershell: Fix documentation.
31213         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
31214         module.
31215         * doc/glibc-functions/setusershell.texi: Likewise.
31216
31217         getusershell: Provide declaration, missing on Solaris 9.
31218         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
31219         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
31220         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
31221         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
31222         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
31223         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
31224         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
31225         HAVE_GETUSERSHELL.
31226         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
31227
31228 2010-03-19  Bruno Haible  <bruno@clisp.org>
31229
31230         wctype: Provide iswblank function.
31231         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
31232         exists and is fine.
31233         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
31234         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
31235         * tests/test-wctype.c (main): Re-enable the iswblank tests.
31236         * doc/posix-functions/iswblank.texi: Update.
31237
31238 2010-03-19  Bruno Haible  <bruno@clisp.org>
31239
31240         Tests of module 'pty' in C++ mode.
31241         * modules/pty-tests: New file.
31242         * tests/test-pty-c++.cc: New file.
31243         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
31244
31245 2010-03-19  Eric Blake  <eblake@redhat.com>
31246
31247         logb: fix documentation
31248         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
31249         1.5 declaration bug.
31250
31251         forkpty, openpty: prefer glibc's const-safe prototype
31252         * lib/forkpty.c (rpl_forkpty): New file.
31253         * lib/openpty.c (rpl_openpty): Likewise.
31254         * modules/forkpty (Files): Distribute it.
31255         * modules/openpty (Files): Likewise.
31256         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
31257         check...
31258         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
31259         replacement for for non-const BSD signature.
31260         * modules/pty (Makefile.am): Substitute witnesses.
31261         * lib/pty.in.h (forkpty, openpty): Declare replacements.
31262         * tests/test-forkpty.c: Update signature check.
31263         * tests/test-openpty.c: Likewise.
31264         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
31265         * doc/glibc-functions/openpty.texi (openpty): Likewise.
31266
31267         forkpty, openpty: split functions into new modules
31268         * modules/pty (Makefile.am): Substitute new witnesses.
31269         (Libraries): Move library detection...
31270         * modules/forkpty: ...into new module.
31271         * modules/openpty: Another new module.
31272         * modules/pty-tests: Rename and split...
31273         * modules/forkpty-tests: ...to this...
31274         * modules/openpty-tests: ...and this.
31275         * tests/test-pty.c: Rename and split...
31276         * tests/test-forkpty.c: ...to this...
31277         * tests/test-openpty.c: ...and this.
31278         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
31279         (gl_PTY): Split library searching...
31280         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
31281         (gl_FORKPTY, gl_OPENPTY): New macros.
31282         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
31283         * NEWS: Mention the split.
31284         * MODULES.html.sh (Misc): Document the modules.
31285         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
31286         * doc/glibc-functions/openpty.texi (openpty): Likewise.
31287
31288         pty: improve replacement header
31289         * lib/pty.in.h: New file.
31290         * modules/pty (Files): Ship it.
31291         (Makefile.am): Always build replacement.
31292         * m4/pty.m4: Rename...
31293         * m4/pty_h.m4: ...to this.
31294         (gl_PTY): Modernize setting of witness macros; update check of
31295         forkpty to take proper advantage of cache.
31296         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
31297
31298         getopt: avoid compiler warning
31299         * lib/getopt.c (attribute_hidden): Remove unused macro.
31300
31301 2010-03-18  Bruno Haible  <bruno@clisp.org>
31302
31303         Fix link errors on Solaris 8.
31304         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
31305         * modules/search-tests (test_search_c___LDADD): Likewise.
31306         * modules/signal-tests (test_signal_c___LDADD): Likewise.
31307         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
31308         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
31309         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
31310         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
31311         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
31312         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
31313
31314 2010-03-18  Bruno Haible  <bruno@clisp.org>
31315
31316         Fix bug introduced on 2010-03-14.
31317         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
31318         (gl_SPAWN_H): Require it.
31319         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
31320         Reported by Simon Josefsson.
31321
31322 2010-03-18  Bruno Haible  <bruno@clisp.org>
31323
31324         Fix typo introduced on 2009-12-31.
31325         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
31326         posix_spawn_file_actions_adddup2.
31327
31328 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
31329         and Eric Blake  <eblake@redhat.com>
31330
31331         test-vc-list-files-git: make more robust
31332         * tests/test-vc-list-files-git.sh: Unset problematic environment
31333         variables.  Chain commands together.
31334
31335 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
31336
31337         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
31338         `AC_CHECK_DECL' invocation.
31339
31340 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
31341
31342         * lib/inttostr.c (inttostr): Make sure the invocation of verify
31343         appears before executable statements. Suggested by Petr Sumbera
31344         <Petr.Sumbera@Sun.COM>.
31345
31346 2010-03-14  Bruno Haible  <bruno@clisp.org>
31347
31348         * tests/test-flock.c (test_exclusive): Comment out a test that causes
31349         portability problems. Instead use a simpler test.
31350         (main): Check that invalid arguments are rejected only on Linux.
31351
31352 2010-03-14  Bruno Haible  <bruno@clisp.org>
31353
31354         Fix bug introduced on 2009-12-31.
31355         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
31356         gl_PREREQ_SYS_H_WINSOCK2 always.
31357         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
31358         SYS_SOCKET_H variable.
31359         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
31360         Update comments.
31361         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
31362         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
31363         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
31364         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
31365         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
31366
31367 2010-03-14  Bruno Haible  <bruno@clisp.org>
31368
31369         Fix values returned by sinl, cosl.
31370         * lib/trigl.h: Add specification comments.
31371         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
31372         that combines the values from the precomputed table with the values of
31373         the Chebyshev polynomials.
31374
31375 2010-03-14  Bruno Haible  <bruno@clisp.org>
31376
31377         Fix compilation error when modules 'posix_spawn[p]' are not used.
31378         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
31379         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
31380
31381 2010-03-14  Bruno Haible  <bruno@clisp.org>
31382
31383         Fix compilation error on mingw when module 'time_r' is not used.
31384         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
31385         is 1.
31386         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
31387         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
31388         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
31389         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
31390
31391 2010-03-14  Bruno Haible  <bruno@clisp.org>
31392
31393         Fix compilation error with Sun C.
31394         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
31395         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
31396         instead of GCC specific ULONG_LONG_MAX.
31397         * lib/xstrtoll.c: Likewise.
31398         * lib/xstrtoull.c: Likewise.
31399
31400 2010-03-13  Bruno Haible  <bruno@clisp.org>
31401
31402         Allow the user to disable C++ code and tests.
31403         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
31404         (gl_PROG_ANSI_CXX): Require it.
31405
31406 2010-03-13  Bruno Haible  <bruno@clisp.org>
31407
31408         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
31409         cases.
31410
31411 2010-03-13  Bruno Haible  <bruno@clisp.org>
31412
31413         Test that gnulib does not break the standard C++ headers.
31414         * tests/test-locale-c++2.cc: New file.
31415         * modules/locale-tests (Files): Add it.
31416         (Makefile.am): Compile it for test-locale-c++.
31417         * tests/test-math-c++2.cc: New file.
31418         * modules/math-tests (Files): Add it.
31419         (Makefile.am): Compile it for test-math-c++.
31420         * tests/test-signal-c++2.cc: New file.
31421         * modules/signal-tests (Files): Add it.
31422         (Makefile.am): Compile it for test-signal-c++.
31423         * tests/test-stdio-c++2.cc: New file.
31424         * modules/stdio-tests (Files): Add it.
31425         (Makefile.am): Compile it for test-stdio-c++.
31426         * tests/test-stdlib-c++2.cc: New file.
31427         * modules/stdlib-tests (Files): Add it.
31428         (Makefile.am): Compile it for test-stdlib-c++.
31429         * tests/test-string-c++2.cc: New file.
31430         * modules/string-tests (Files): Add it.
31431         (Makefile.am): Compile it for test-string-c++.
31432         * tests/test-time-c++2.cc: New file.
31433         * modules/time-tests (Files): Add it.
31434         (Makefile.am): Compile it for test-time-c++.
31435         Reported by John W. Eaton <jwe@gnu.org>.
31436
31437 2010-03-13  Bruno Haible  <bruno@clisp.org>
31438
31439         * gnulib-tool (func_usage): Clarify which options are available for
31440         --create-testdir and --create-megatestdir.
31441
31442 2010-03-13  Bruno Haible  <bruno@clisp.org>
31443
31444         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
31445         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
31446         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
31447         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
31448         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
31449         when appropriate.
31450         Reported by Jim Meyering.
31451
31452 2010-03-12  Simon Josefsson  <simon@josefsson.org>
31453
31454         * gnulib-tool (func_import): Explain origin of code.
31455
31456 2010-03-12  Bruno Haible  <bruno@clisp.org>
31457
31458         Fix problem with automake's definition of CXXLINK.
31459         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
31460         Reported by Simon Josefsson and Ludovic Courtès.
31461
31462 2010-03-12  Bruno Haible  <bruno@clisp.org>
31463
31464         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
31465         stable releases.
31466
31467 2010-03-11  Bruno Haible  <bruno@clisp.org>
31468
31469         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
31470         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
31471         whether the system provides one variant or multiple variants of the
31472         function.
31473         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
31474         C++ compilers.
31475         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
31476         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
31477         Reported by Jim Meyering.
31478
31479 2010-03-09  Simon Josefsson  <simon@josefsson.org>
31480
31481         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
31482
31483 2010-03-08  Bruno Haible  <bruno@clisp.org>
31484
31485         gnulib-tool: Add support for --libtool in --create-testdir.
31486         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
31487         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
31488
31489 2010-03-08  Eric Blake  <eblake@redhat.com>
31490
31491         gnulib-tool.texi: mention possibility of git submodule
31492         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
31493         submodules.
31494         * doc/.gitignore: Ignore another generated file.
31495
31496 2010-03-08  Karl Berry  <karl@gnu.org>
31497
31498         * doc/gnulib-tool.texi (VCS Issues): Mention third option
31499         of committing gnulib files while skipping others.
31500
31501 2010-03-07  Bruno Haible  <bruno@clisp.org>
31502
31503         Tests of module 'wctype' in C++ mode.
31504         * tests/test-wctype-c++.cc: New file.
31505         * modules/wctype-tests (Files): Add it and tests/signature.h.
31506         (Depends-on): Add ansi-c++-opt.
31507         (Makefile.am): Arrange to compile and run test-wctype-c++.
31508
31509         Tests of module 'wchar' in C++ mode.
31510         * tests/test-wchar-c++.cc: New file.
31511         * modules/wchar-tests (Files): Add it and tests/signature.h.
31512         (Depends-on): Add ansi-c++-opt.
31513         (Makefile.am): Arrange to compile and run test-wchar-c++.
31514         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
31515         gl_MODULE_INDICATOR.
31516
31517         Tests of module 'unistd' in C++ mode.
31518         * tests/test-unistd-c++.cc: New file.
31519         * modules/unistd-tests (Files): Add it and tests/signature.h.
31520         (Depends-on): Add ansi-c++-opt.
31521         (Makefile.am): Arrange to compile and run test-unistd-c++.
31522         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
31523         gl_MODULE_INDICATOR.
31524
31525         Tests of module 'time' in C++ mode.
31526         * tests/test-time-c++.cc: New file.
31527         * modules/time-tests (Files): Add it and tests/signature.h.
31528         (Depends-on): Add ansi-c++-opt.
31529         (Makefile.am): Arrange to compile and run test-time-c++.
31530         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
31531
31532         Tests of module 'sys_time' in C++ mode.
31533         * tests/test-sys_time-c++.cc: New file.
31534         * modules/sys_time-tests (Files): Add it and tests/signature.h.
31535         (Depends-on): Add ansi-c++-opt.
31536         (Makefile.am): Arrange to compile and run test-sys_time-c++.
31537         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
31538         gl_MODULE_INDICATOR.
31539
31540         Tests of module 'sys_stat' in C++ mode.
31541         * tests/test-sys_stat-c++.cc: New file.
31542         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
31543         (Depends-on): Add ansi-c++-opt.
31544         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
31545         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
31546         gl_MODULE_INDICATOR.
31547
31548         Tests of module 'sys_socket' in C++ mode.
31549         * tests/test-sys_socket-c++.cc: New file.
31550         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
31551         (Depends-on): Add ansi-c++-opt.
31552         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
31553         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
31554         gl_MODULE_INDICATOR.
31555
31556         Tests of module 'sys_select' in C++ mode.
31557         * tests/test-sys_select-c++.cc: New file.
31558         * modules/sys_select-tests (Files): Add it and tests/signature.h.
31559         (Depends-on): Add ansi-c++-opt.
31560         (Makefile.am): Arrange to compile and run test-sys_select-c++.
31561         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
31562         gl_MODULE_INDICATOR.
31563
31564         Tests of module 'sys_ioctl' in C++ mode.
31565         * tests/test-sys_ioctl-c++.cc: New file.
31566         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
31567         (Depends-on): Add ansi-c++-opt.
31568         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
31569         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
31570         gl_MODULE_INDICATOR.
31571
31572         Tests of module 'string' in C++ mode.
31573         * tests/test-string-c++.cc: New file.
31574         * modules/string-tests (Files): Add it and tests/signature.h.
31575         (Depends-on): Add ansi-c++-opt.
31576         (Makefile.am): Arrange to compile and run test-string-c++.
31577         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
31578         gl_MODULE_INDICATOR.
31579
31580         Tests of module 'stdlib' in C++ mode.
31581         * tests/test-stdlib-c++.cc: New file.
31582         * modules/stdlib-tests (Files): Add it and tests/signature.h.
31583         (Depends-on): Add ansi-c++-opt.
31584         (Makefile.am): Arrange to compile and run test-stdlib-c++.
31585         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
31586         gl_MODULE_INDICATOR.
31587
31588         Tests of module 'stdio' in C++ mode.
31589         * tests/test-stdio-c++.cc: New file.
31590         * modules/stdio-tests (Files): Add it and tests/signature.h.
31591         (Depends-on): Add ansi-c++-opt.
31592         (Makefile.am): Arrange to compile and run test-stdio-c++.
31593         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
31594         gl_MODULE_INDICATOR.
31595
31596         Tests of module 'spawn' in C++ mode.
31597         * tests/test-spawn-c++.cc: New file.
31598         * modules/spawn-tests (Files): Add it and tests/signature.h.
31599         (Depends-on): Add ansi-c++-opt.
31600         (Makefile.am): Arrange to compile and run test-spawn-c++.
31601         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
31602         gl_MODULE_INDICATOR.
31603
31604         Tests of module 'signal' in C++ mode.
31605         * tests/test-signal-c++.cc: New file.
31606         * modules/signal-tests (Files): Add it and tests/signature.h.
31607         (Depends-on): Add ansi-c++-opt.
31608         (Makefile.am): Arrange to compile and run test-signal-c++.
31609         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
31610         gl_MODULE_INDICATOR.
31611
31612         Tests of module 'search' in C++ mode.
31613         * tests/test-search-c++.cc: New file.
31614         * modules/search-tests (Files): Add it and tests/signature.h.
31615         (Depends-on): Add ansi-c++-opt.
31616         (Makefile.am): Arrange to compile and run test-search-c++.
31617         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
31618         gl_MODULE_INDICATOR.
31619
31620         Tests of module 'math' in C++ mode.
31621         * tests/test-math-c++.cc: New file.
31622         * modules/math-tests (Files): Add it and tests/signature.h.
31623         (Depends-on): Add ansi-c++-opt.
31624         (Makefile.am): Arrange to compile and run test-math-c++.
31625         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
31626
31627         Tests of module 'locale' in C++ mode.
31628         * tests/test-locale-c++.cc: New file.
31629         * modules/locale-tests (Files): Add it and tests/signature.h.
31630         (Depends-on): Add ansi-c++-opt.
31631         (Makefile.am): Arrange to compile and run test-locale-c++.
31632         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
31633         gl_MODULE_INDICATOR.
31634
31635         Tests of module 'langinfo' in C++ mode.
31636         * tests/test-langinfo-c++.cc: New file.
31637         * modules/langinfo-tests (Files): Add it and tests/signature.h.
31638         (Depends-on): Add ansi-c++-opt.
31639         (Makefile.am): Arrange to compile and run test-langinfo-c++.
31640         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
31641         gl_MODULE_INDICATOR.
31642
31643         Tests of module 'iconv-h' in C++ mode.
31644         * tests/test-iconv-h-c++.cc: New file.
31645         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
31646         (Depends-on): Add ansi-c++-opt.
31647         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
31648
31649         Tests of module 'glob' in C++ mode.
31650         * tests/test-glob-c++.cc: New file.
31651         * modules/glob-tests (Files): Add it.
31652         (Depends-on): Add ansi-c++-opt.
31653         (Makefile.am): Arrange to compile and run test-glob-c++.
31654
31655         Tests of module 'fcntl-h' in C++ mode.
31656         * tests/test-fcntl-h-c++.cc: New file.
31657         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
31658         (Depends-on): Add ansi-c++-opt.
31659         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
31660         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
31661         gl_MODULE_INDICATOR.
31662
31663         Tests of module 'dirent' in C++ mode.
31664         * tests/test-dirent-c++.cc: New file.
31665         * modules/dirent-tests (Files): Add it and tests/signature.h.
31666         (Depends-on): Add ansi-c++-opt.
31667         (Makefile.am): Arrange to compile and run test-dirent-c++.
31668         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
31669         gl_MODULE_INDICATOR.
31670
31671         New module 'ansi-c++-opt'.
31672         * modules/ansi-c++-opt: New file.
31673         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
31674
31675         Document C++ namespace mode.
31676         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
31677
31678         wctype: Avoid #define replacements in C++ mode.
31679         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
31680         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
31681         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
31682         In C++, define a namespaced alias symbol.
31683         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
31684         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
31685         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
31686         rule.
31687
31688         wchar: Avoid #define replacements in C++ mode.
31689         * lib/wchar.in.h: Include c++defs.h.
31690         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
31691         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
31692         symbol.
31693         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
31694         * modules/wchar (Depends-on): Add c++defs.
31695         (Makefile.am): Update wchar.h rule.
31696
31697         unistd: Avoid #define replacements in C++ mode.
31698         * lib/unistd.in.h: Include c++defs.h.
31699         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
31700         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
31701         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
31702         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
31703         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
31704         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
31705         symbol.
31706         (environ): Update.
31707         * modules/unistd (Depends-on): Add c++defs.
31708         (Makefile.am): Update unistd.h rule.
31709
31710         time: Avoid #define replacements in C++ mode.
31711         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
31712         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
31713         define a namespaced alias symbol.
31714         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
31715         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
31716         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
31717         * modules/time (Depends-on): Add c++defs, warn-on-use.
31718         (Makefile.am): Update time.h rule.
31719         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
31720         * modules/nanosleep (configure.ac): Likewise.
31721         * modules/strptime (configure.ac): Likewise.
31722         * modules/timegm (configure.ac): Likewise.
31723
31724         sys_time: Avoid #define replacements in C++ mode.
31725         * lib/sys_time.in.h: Include c++defs.h.
31726         (gettimeofday): In C++, define a namespaced alias symbol.
31727         * modules/sys_time (Depends-on): Add c++defs.
31728         (Makefile.am): Update sys/time.h rule.
31729
31730         sys_stat: Avoid #define replacements in C++ mode.
31731         * lib/sys_stat.in.h: Include c++defs.h.
31732         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
31733         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
31734         namespaced alias symbol.
31735         In C++, define a namespaced alias symbol.
31736         * modules/sys_stat (Depends-on): Add c++defs.
31737         (Makefile.am): Update sys/stat.h rule.
31738
31739         sys_socket: Avoid #define replacements in C++ mode.
31740         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
31741         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
31742         definitions also when the system has a <sys/socket.h>.
31743         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
31744         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
31745         In C++, define a namespaced alias symbol.
31746         * modules/sys_socket (Depends-on): Add c++defs.
31747         (Makefile.am): Update sys/socket.h rule.
31748
31749         sys_select: Avoid #define replacements in C++ mode.
31750         * lib/sys_select.in.h: Include c++defs.h. Enable the function
31751         definitions also when the system has a <sys/select.h>.
31752         (select): In C++, define a namespaced alias symbol.
31753         * modules/sys_select (Depends-on): Add c++defs.
31754         (Makefile.am): Update sys/select.h rule.
31755
31756         sys_ioctl: Avoid #define replacements in C++ mode.
31757         * lib/sys_ioctl.in.h: Include c++defs.h.
31758         (ioctl): In C++, define a namespaced alias symbol.
31759         * modules/sys_ioctl (Depends-on): Add c++defs.
31760         (Makefile.am): Update sys/ioctl.h rule.
31761
31762         string: Avoid #define replacements in C++ mode.
31763         * lib/string.in.h: Include c++defs.h.
31764         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
31765         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
31766         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
31767         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
31768         strsignal, strverscmp): In C++, define a namespaced alias symbol.
31769         * modules/string (Depends-on): Add c++defs.
31770         (Makefile.am): Update string.h rule.
31771
31772         stdlib: Avoid #define replacements in C++ mode.
31773         * lib/stdlib.in.h: Include c++defs.h.
31774         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
31775         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
31776         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
31777         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
31778         symbol.
31779         * modules/stdlib (Depends-on): Add c++defs.
31780         (Makefile.am): Update stdlib.h rule.
31781
31782         stdio: Avoid #define replacements in C++ mode.
31783         * lib/stdio.in.h: Include c++defs.h.
31784         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
31785         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
31786         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
31787         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
31788         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
31789         namespaced alias symbol.
31790         * modules/stdio (Depends-on): Add c++defs.
31791         (Makefile.am): Update stdio.h rule.
31792
31793         spawn: Avoid #define replacements in C++ mode.
31794         * lib/spawn.in.h: Include c++defs.h.
31795         (posix_spawn, posix_spawnp, posix_spawnattr_init,
31796         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
31797         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
31798         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
31799         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
31800         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
31801         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
31802         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
31803         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
31804         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
31805         In C++, define a namespaced alias symbol.
31806         * modules/spawn (Depends-on): Add c++defs.
31807         (Makefile.am): Update spawn.h rule.
31808
31809         signal: Avoid #define replacements in C++ mode.
31810         * lib/signal.in.h: Include c++defs.h.
31811         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
31812         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
31813         namespaced alias symbol.
31814         * modules/signal (Depends-on): Add c++defs.
31815         (Makefile.am): Update signal.h rule.
31816
31817         search: Avoid #define replacements in C++ mode.
31818         * lib/search.in.h: Include c++defs.h.
31819         (_gl_search_compar_fn, _gl_search_action_fn): New types.
31820         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
31821         symbol.
31822         * modules/search (Depends-on): Add c++defs.
31823         (Makefile.am): Update search.h rule.
31824
31825         math: Avoid #define replacements in C++ mode.
31826         * lib/math.in.h: Include c++defs.h.
31827         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
31828         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
31829         trunc, truncl): In C++, define a namespaced alias symbol.
31830         * modules/math (Depends-on): Add c++defs.
31831         (Makefile.am): Update math.h rule.
31832
31833         locale: Avoid #define replacements in C++ mode.
31834         * lib/locale.in.h: Include c++defs.h.
31835         (duplocale): In C++, define a namespaced alias symbol.
31836         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
31837         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
31838         * modules/locale (Depends-on): Add c++defs.
31839         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
31840
31841         langinfo: Avoid #define replacements in C++ mode.
31842         * lib/langinfo.in.h: Include c++defs.h.
31843         (nl_langinfo): In C++, define a namespaced alias symbol.
31844         * modules/langinfo (Depends-on): Add c++defs.
31845         (Makefile.am): Update langinfo.h rule.
31846
31847         iconv-h: Avoid #define replacements in C++ mode.
31848         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
31849         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
31850         symbol.
31851         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
31852         whenever iconv is present.
31853         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
31854         (Makefile.am): Update iconv.h rule.
31855
31856         glob: Avoid #define replacements in C++ mode.
31857         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
31858         (_gl_glob_errfunc_fn): New type.
31859         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
31860         symbol.
31861         * modules/glob (Depends-on): Add c++defs, warn-on-use.
31862         (Makefile.am): Update glob.h rule.
31863
31864         fcntl-h: Avoid #define replacements in C++ mode.
31865         * lib/fcntl.in.h: Include c++defs.h.
31866         (fcntl, open, openat): In C++, define a namespaced alias symbol.
31867         * modules/fcntl-h (Depends-on): Add c++defs.
31868         (Makefile.am): Update fcntl.h rule.
31869
31870         dirent: Avoid #define replacements in C++ mode.
31871         * lib/dirent.in.h: Include c++defs.h.
31872         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
31873         namespaced alias symbol.
31874         (dirfd): Update declaration.
31875         * modules/dirent (Depends-on): Add c++defs.
31876         (Makefile.am): Update dirent.h rule.
31877
31878         ctype: Make it usable in C++ code.
31879         * lib/ctype.in.h: Include c++defs.h.
31880         (isblank): Declare as extern "C".
31881         * modules/ctype (Depends-on): Add c++defs.
31882         (Makefile.am): Update ctype.h rule.
31883
31884         New module 'c++defs'.
31885         * modules/c++defs: New file.
31886         * build-aux/c++defs.h: New file.
31887         Reported by John W. Eaton <jwe@gnu.org>.
31888
31889 2010-03-07  Bruno Haible  <bruno@clisp.org>
31890
31891         logb: Provide missing declaration for Cygwin.
31892         * lib/math.in.h (logb): New declaration.
31893         * m4/logb.m4: New file.
31894         * modules/logb (Files): Add m4/logb.m4.
31895         (Depends-on): Add math.
31896         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
31897         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
31898         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
31899         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
31900         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
31901
31902 2010-03-07  Bruno Haible  <bruno@clisp.org>
31903
31904         Fix test-cond link error.
31905         * tests/test-cond.c: Include <stdio.h>.
31906
31907 2010-03-07  Bruno Haible  <bruno@clisp.org>
31908
31909         Fix test-dirent-safer link error.
31910         * modules/dirent-safer-tests (Makefile.am): Define
31911         test_dirent_safer_LDADD.
31912
31913 2010-03-07  Bruno Haible  <bruno@clisp.org>
31914
31915         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
31916         among default module list.
31917
31918 2010-03-07  Bruno Haible  <bruno@clisp.org>
31919
31920         Fix link error on platforms with GNU libiconv.
31921         * modules/unistr/u8-strcoll-tests (Makefile): Define
31922         test_u8_strcoll_LDADD.
31923         * modules/unistr/u16-strcoll-tests (Makefile): Define
31924         test_u16_strcoll_LDADD.
31925         * modules/unistr/u32-strcoll-tests (Makefile): Define
31926         test_u32_strcoll_LDADD.
31927
31928 2010-03-07  Bruno Haible  <bruno@clisp.org>
31929
31930         Use POSIX declarations for socket functions.
31931         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
31932         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
31933         rpl_sendto): Change declaration to match POSIX.
31934         * lib/connect.c (rpl_connect): Likewise.
31935         * lib/accept.c (rpl_accept): Likewise.
31936         * lib/bind.c (rpl_bind): Likewise.
31937         * lib/getpeername.c (rpl_getpeername): Likewise.
31938         * lib/getsockname.c (rpl_getsockname): Likewise.
31939         * lib/recv.c (rpl_recv): Likewise.
31940         * lib/send.c (rpl_send): Likewise.
31941         * lib/recvfrom.c (rpl_recvfrom): Likewise.
31942         * lib/sendto.c (rpl_sendto): Likewise.
31943
31944 2010-03-06  Bruno Haible  <bruno@clisp.org>
31945
31946         Clarify access, euidaccess, faccessat.
31947         * doc/posix-functions/faccessat.texi: Mention security problem under
31948         "Other problems", not "Portability problems".
31949         * doc/posix-functions/access.texi: Likewise. Mention a related security
31950         problem.
31951         * doc/glibc-functions/euidaccess.texi: Mention security problems.
31952         * lib/euidaccess.c: Add comments about platforms.
31953         * lib/unistd.in.h (access, euidaccess): Add warnings.
31954
31955 2010-03-07  Bruno Haible  <bruno@clisp.org>
31956
31957         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
31958         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
31959         (POSIX_SPAWN_SETSCHEDULER): Likewise.
31960         (POSIX_SPAWN_USEVFORK): Define in a way that works when
31961         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
31962         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
31963         declare when POSIX_SPAWN_SETSCHEDULER is zero.
31964         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
31965         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
31966         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
31967         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
31968         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
31969         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
31970         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
31971         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
31972         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
31973         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
31974         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
31975         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
31976         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
31977         Likewise.
31978         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
31979         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
31980         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
31981         Likewise.
31982         * tests/test-spawn.c (main): Make it work when
31983         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
31984
31985 2010-03-07  Bruno Haible  <bruno@clisp.org>
31986
31987         Fix incorrect Makefile.am generation in German locale.
31988         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
31989         Execute sed command with character range in C locale.
31990
31991 2010-03-06  Bruno Haible  <bruno@clisp.org>
31992
31993         Tests for module 'iconv-h'.
31994         * modules/iconv-h-tests: New file.
31995         * tests/test-iconv-h.c: New file.
31996
31997         New module 'iconv-h'.
31998         * modules/iconv-h: New file.
31999         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
32000         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
32001         (configure.ac): Remove gl_ICONV_H.
32002         (Makefile.am): Remove rule for iconv.h.
32003
32004 2010-03-06  Bruno Haible  <bruno@clisp.org>
32005
32006         More consistent naming of *.m4 files.
32007         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
32008         * modules/wctype (Files): Update.
32009
32010         More consistent naming of *.m4 files.
32011         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
32012         * modules/wchar (Files): Update.
32013
32014 2010-03-06  Jim Meyering  <meyering@redhat.com>
32015
32016         euidaccess: relax license to LGPLv2+
32017         * modules/euidaccess (License): Relax to LGPLv2+.
32018
32019 2010-03-06  Bruno Haible  <bruno@clisp.org>
32020
32021         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
32022         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
32023         (Makefile.am): Augment lib_SOURCES instead.
32024
32025 2010-03-04  Jim Meyering  <meyering@redhat.com>
32026
32027         utime: remove obsolete module
32028         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
32029         unnecessary for years, and has been marked as obsolete for 10 months.
32030         * modules/utime: Remove file.
32031         * lib/utime.c: Remove file.
32032         * m4/utime.m4: Remove file.
32033         * m4/utimes-null.m4: Remove file.
32034         * doc/posix-functions/utime.texi (utime): Remove reference to
32035         the module.  Move the sole "fixed by gnulib" item into the
32036         "problems not fixed by Gnulib" list.
32037         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
32038
32039 2010-03-05  Simon Josefsson  <simon@josefsson.org>
32040
32041         * modules/exit (License): Relax license to LGPLv2+.
32042         (Status): Mark as obsolete.
32043         * NEWS: Mention deprecated 'exit' module.
32044         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
32045         of now obsolete 'exit'.
32046
32047 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32048
32049         fts-lgpl: remove unused module
32050         * modules/fts-lgpl: Remove.
32051         * MODULES.html.sh (func_all_modules): Adjust.
32052         * check-module (find_included_lib_files): Adjust.
32053         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
32054
32055 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
32056
32057         copy-acl: enhance Solaris ACL error handling
32058         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
32059         * lib/set-mode-acl.c (qset_acl): Likewise.
32060
32061 2010-03-02  Bruno Haible  <bruno@clisp.org>
32062
32063         spawn: Don't override the system defined values on FreeBSD 8.
32064         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
32065         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
32066         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
32067         if HAVE_POSIX_SPAWN is 1.
32068         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
32069
32070 2010-03-01  Bruno Haible  <bruno@clisp.org>
32071
32072         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
32073         regarding Automake.
32074
32075 2010-02-25  Bruno Haible  <bruno@clisp.org>
32076
32077         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
32078         * gnulib-tool: Define 'echo' as a function only before the ksh alias
32079         setting, not afterwards.
32080         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
32081
32082 2010-02-24  Eric Blake  <eblake@redhat.com>
32083
32084         bootstrap, git-version-gen: use timestamp
32085         * build-aux/git-version-gen (scriptversion): Force UTC.
32086         * build-aux/bootstrap (scriptversion): New variable.
32087
32088         bootstrap: allow older git
32089         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
32090         older than 1.6.4.  Requested by the libvirt project.
32091
32092 2010-02-23  Eric Blake  <eblake@redhat.com>
32093
32094         warn-on-use: work with old autoconf
32095         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
32096         AS_VAR semantics of autoconf 2.60.
32097         Reported by Bruno Haible.
32098
32099         bootstrap: improve some comments
32100         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
32101         clarification comments.
32102
32103         gettimeofday: provide correct function
32104         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
32105         when replacement is declared, otherwise provide gettimeofday.
32106         Reported by Michael Goffioul.
32107
32108 2010-02-23  Jim Meyering  <meyering@redhat.com>
32109
32110         lib-ignore: relax license to "unlimited", not LGPLv2+
32111         * modules/lib-ignore (License): Relax to "unlimited".
32112
32113 2010-02-23  Jim Meyering  <meyering@redhat.com>
32114
32115         lib-ignore: relax license to LGPLv2+
32116         * modules/lib-ignore (License): Relax to LGPLv2+.
32117
32118 2010-02-22  Eric Blake  <eblake@redhat.com>
32119
32120         lseek: avoid bash 3.2 broken pipe bug
32121         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
32122         warning from bash 3.2.
32123         Reported by Ben Pfaff, with analysis from Bruno Haible.
32124
32125         bootstrap: support non-FSF copyright holder
32126         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
32127         bootstrap.conf override of COPYRIGHT_HOLDER.
32128         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
32129
32130         bootstrap: interoperate with gettext 0.14.1
32131         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
32132
32133         bootstrap: allow for alternate submodule location
32134         * build-aux/bootstrap (gnulib_path): New variable; use instead of
32135         hardcoding submodule location.
32136         (gnulib_mk): Allow direct use of Makefile.am.
32137
32138         bootstrap: use GNULIB_SRCDIR to reduce disk usage
32139         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
32140         rather than reconfiguring where the submodule points.
32141
32142         gettimeofday: restore support for platforms that lack function
32143         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
32144         replacement if function is missing.
32145         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
32146         * modules/sys_time (Makefile.am): Substitute it.
32147         * lib/sys_time.in.h (gettimeofday): Check it.
32148         Reported by Michael Goffioul.
32149
32150 2010-02-21  Bruno Haible  <bruno@clisp.org>
32151
32152         * lib/stdio.in.h (obstack_printf): Fix typo.
32153
32154 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
32155
32156         vc-list-files: use bzr ls's -R option
32157         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
32158         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
32159
32160 2010-02-21  Jim Meyering  <meyering@redhat.com>
32161
32162         init.sh: fix EXEEXT shims to work also for names like test-prog
32163         * tests/init.sh: Re-exec a better shell, when needed.
32164         If the current shell lacks support for posix $(...), an init.sh-using
32165         test will now try to find a shell that supports that.  If EXEEXT is
32166         nonempty, we also require support for hyphen-in-alias-name and shell
32167         substitutions like ${var#glob}.  Failure to find such a shell results
32168         in a skipped test.
32169
32170 2010-02-21  Bruno Haible  <bruno@clisp.org>
32171
32172         Really work around around "broken pipe" error message from bash 3.2.
32173         * gnulib-tool (func_reset_sigpipe): Remove function.
32174         (echo): In bash 3.2, define to a function that uses printf.
32175         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
32176
32177 2010-02-20  Bruno Haible  <bruno@clisp.org>
32178
32179         Restore support for automake 1.9.6 with autoconf 2.61.
32180         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
32181         Reported by James Youngman <jay@gnu.org>.
32182
32183 2010-02-20  Bruno Haible  <bruno@clisp.org>
32184
32185         Improve *printf warning condition.
32186         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
32187         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
32188         and the function is overridden due to SIGPIPE emulation.
32189
32190 2010-02-20  Bruno Haible  <bruno@clisp.org>
32191
32192         * lib/stdio.in.h: Tweak comments.
32193
32194 2010-02-19  Bruno Haible  <bruno@clisp.org>
32195
32196         Make it easier to find modules. New gnulib-tool option '--find'.
32197         * gnulib-tool: New option --find.
32198         (func_usage): Document it.
32199         (func_sanitize_modulelist): New function, extracted from
32200         func_all_modules.
32201         (func_all_modules): Invoke it.
32202         * doc/gnulib-tool.texi (Which modules?): New node.
32203
32204 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
32205
32206         * lib/sys_select.in.h: Provide select replacement even if
32207         sys/select.h exists on a system, for Interix.
32208
32209 2010-02-18  Jim Meyering  <meyering@redhat.com>
32210
32211         init.sh: don't use $(...) just yet
32212         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
32213         to accommodate e.g., Solaris' /bin/sh.
32214
32215 2010-02-17  Bruno Haible  <bruno@clisp.org>
32216
32217         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
32218         Reported by Ludovic Courtès <ludo@gnu.org>.
32219
32220 2010-02-16  Simon Josefsson  <simon@josefsson.org>
32221
32222         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
32223         linking with -lintl.
32224
32225 2010-02-17  Simon Josefsson  <simon@josefsson.org>
32226
32227         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
32228         if not provided by the system's netdb.h.  Reported by
32229         ludo@gnu.org (Ludovic Courtès).
32230
32231 2010-02-15  Jim Meyering  <meyering@redhat.com>
32232
32233         init.sh: improve portability and efficiency
32234         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
32235         "dummy" in a for loop.
32236         Use '!', not '^' to select the complement of a character set used
32237         in a "case" statement.
32238         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
32239         Suggestions from Eric Blake.
32240
32241         init.sh: automatically accommodate programs with the .exe suffix
32242         Automatically arrange for an invocation of "prog" to execute the
32243         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
32244         may use the simpler "prog", yet still work when built on a system
32245         that requires specifying the added suffix.
32246         Do this by constructing a function named "prog" that invokes
32247         "prog.exe" for each .exe file in selected directories.
32248         * tests/init.sh (find_exe_basenames_): New function.
32249         (create_exe_shim_functions_): New function.
32250         (path_prepend_): Use it.
32251
32252         maint.mk: mark syntax-check sc_*.m rules as .PHONY
32253         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
32254         "make -t syntax-check" doesn't create a ton of sc_*.m files.
32255
32256 2010-02-14  Jim Meyering  <meyering@redhat.com>
32257
32258         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
32259         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
32260         (sc_prohibit_hash_pjw_without_use): New rule.
32261
32262         maint.mk: allow the default upload destination dir to be overridden
32263         * top/maint.mk (upload_dest_dir_): Define with a default that
32264         preserves the status quo.
32265         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
32266         Reported by Peter Simons.
32267
32268         maint.mk: prohibit inclusion of "hash.h" without_use
32269         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
32270
32271 2010-02-10  Jim Meyering  <meyering@redhat.com>
32272
32273         maint.mk: prohibit inclusion of "ignore-value.h" without_use
32274         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
32275
32276 2010-02-09  Eric Blake  <ebb9@byu.net>
32277         and Bruno Haible  <bruno@clisp.org>
32278
32279         obstack-printf-posix: ensure declaration
32280         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
32281         extracted from gl_FUNC_OBSTACK_PRINTF.
32282         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
32283         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
32284         Likewise.
32285         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
32286         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
32287         0.
32288
32289 2010-02-08  Bruno Haible  <bruno@clisp.org>
32290
32291         gnulib-tool: Fix typo in 2010-02-07 commit.
32292         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
32293         Reported by Eric Blake.
32294
32295 2010-02-07  Bruno Haible  <bruno@clisp.org>
32296
32297         gnulib-tool: Fix up caching patches.
32298         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
32299         option --no-cache. Use associative arrays when supported by the shell.
32300         (sed_comments): New variable.
32301         (modcache): Renamed from do_cache.
32302         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
32303         abbreviate unnecessarily.
32304         (have_associative): New variable.
32305         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
32306         way also for ksh and zsh.
32307         (func_init_sed_convert_to_cache_statements): New function, extracted
32308         from func_cache_lookup_module. Add support for associative arrays.
32309         Don't set the c_MODULE_cached variable here. Ignore all lines before
32310         the first field header. Remove only the final newline, not all trailing
32311         newlines. Support empty fields correctly. Limit the use of 'eval' to
32312         assignments.
32313         (func_get_description, func_get_status, func_get_notice,
32314         func_get_applicability, func_get_filelist, func_get_dependencies,
32315         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
32316         func_get_automake_snippet, func_get_include_directive,
32317         func_get_link_directive, func_get_license, func_get_maintainer):
32318         Update documentation. List the unoptimized code first. Add support for
32319         associative arrays. Limit the use of 'eval' to assignments.
32320         (func_get_applicability): Undo stylistic pessimisations.
32321         (func_get_automake_snippet, func_get_include_directive): Reduce code
32322         duplication.
32323         (func_modules_transitive_closure, func_modules_add_dummy,
32324         func_modules_notice, func_modules_to_filelist, func_add_file,
32325         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
32326         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
32327         func_create_testdir, func_create_megatestdir): Update documentation.
32328
32329 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32330
32331         * gnulib-tool (func_cache_lookup_module): Store the module name
32332         belonging to the cache variable; error out if two different
32333         module names map to the same cache variable name.
32334
32335 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32336
32337         gnulib-tool: Make caching optional.
32338         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
32339         Update matching short versions of --no-changelog.
32340         (func_usage): Update.
32341         (sed_extract_cache_prog): Renamed from ...
32342         (sed_extract_prog): ... this; revert to old extraction script.
32343         (func_get_description, func_get_status)
32344         (func_get_notice, func_get_applicability, func_get_filelist)
32345         (func_get_dependencies, func_get_autoconf_early_snippet)
32346         (func_get_autoconf_snippet, func_get_automake_snippet)
32347         (func_get_include_directive, func_get_link_directive)
32348         (func_get_license, func_get_maintainer): If $do_cache is false,
32349         use old, non-caching extraction scripts.
32350         Suggestion by Bruno Haible.
32351
32352 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32353
32354         gnulib-tool: cache module metainformation.
32355         * gnulib-tool (sed_extract_prog): Match newline before each
32356         header, and rewrite header to a shell variable suffix.
32357         (func_cache_var, func_cache_lookup_module): New functions,
32358         to turn a module name into a cache variable prefix, and to
32359         look up and cache module metainformation.
32360         (func_get_description, func_get_status)
32361         (func_get_notice, func_get_applicability, func_get_filelist)
32362         (func_get_dependencies, func_get_autoconf_early_snippet)
32363         (func_get_autoconf_snippet, func_get_automake_snippet)
32364         (func_get_include_directive, func_get_link_directive)
32365         (func_get_license, func_get_maintainer): Use
32366         func_cache_lookup_module.
32367
32368 2010-02-07  Bruno Haible  <bruno@clisp.org>
32369
32370         fnctl: Fix missing dependency.
32371         * modules/fcntl (Depends-on): Add getdtablesize.
32372         Reported by John W. Eaton <jwe@gnu.org>.
32373
32374 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
32375
32376         Argp: fix recognition of short alias options.
32377
32378         * lib/argp-parse.c (convert_options): Fix improper use of
32379         `|' between character values.
32380         * tests/test-argp.c (group1_option): New alias option
32381         --read (-r).
32382         (group1_parser): Special handling for 'r'.
32383         (test15): New test case.
32384         (test_fun): Add test15.
32385         * tests/test-argp-2.sh: Update expected --help and --usage
32386         outputs.
32387
32388 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
32389
32390         * tests/test-argp.c: Fix indentation.
32391
32392 2010-02-04  Eric Blake  <ebb9@byu.net>
32393
32394         gettimeofday: expose type of second argument
32395         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
32396         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
32397         * tests/test-gettimeofday.c: Use it to silence warning.
32398         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
32399         the issue.
32400
32401 2010-02-03  Jim Meyering  <meyering@redhat.com>
32402
32403         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
32404         * lib/regcomp.c (TYPE_SIGNED): Define.
32405         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
32406
32407         regcomp.c: avoid a new -Wshadow warning
32408         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
32409
32410 2010-02-01  Jim Meyering  <meyering@redhat.com>
32411
32412         removing useless parentheses in cpp #define directives
32413         For motivation, see commit c0221df4, "define STREQ(a,b)
32414         consistently, removing useless parentheses"
32415         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
32416         * lib/mountlist.c (MNT_IGNORE): Likewise.
32417         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
32418
32419 2010-02-01  Eric Blake  <ebb9@byu.net>
32420
32421         sys_time: use link-warning
32422         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
32423         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
32424         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
32425         * modules/sys_time (Depends-on): Add warn-on-use.
32426         (Makefile.am): Always build replacement.
32427         (configure.ac): Update substitutions.
32428         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
32429         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
32430         bother with SYS_TIME_H.
32431         * modules/gettimeofday (configure.ac): Declare indicator.
32432         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
32433         in use.
32434
32435         closein-tests: silence compiler warning
32436         * tests/test-closein.c (main): Ignore fread result.
32437         * modules/closein-tests (Depends-on): Add ignore-value.
32438
32439         tests: silence warning about system return
32440         * tests/test-areadlink-with-size.c (main): Ignore system result.
32441         * tests/test-areadlink.c (main): Likewise.
32442         * tests/test-areadlinkat-with-size.c (main): Likewise.
32443         * tests/test-areadlinkat.c (main): Likewise.
32444         * tests/test-canonicalize-lgpl.c (main): Likewise.
32445         * tests/test-canonicalize.c (main): Likewise.
32446         * tests/test-chown.c (main): Likewise.
32447         * tests/test-fchownat.c (main): Likewise.
32448         * tests/test-fdutimensat.c (main): Likewise.
32449         * tests/test-fstatat.c (main): Likewise.
32450         * tests/test-futimens.c (main): Likewise.
32451         * tests/test-lchown.c (main): Likewise.
32452         * tests/test-link.c (main): Likewise.
32453         * tests/test-linkat.c (main): Likewise.
32454         * tests/test-lstat.c (main): Likewise.
32455         * tests/test-mkdir.c (main): Likewise.
32456         * tests/test-mkdirat.c (main): Likewise.
32457         * tests/test-mkfifo.c (main): Likewise.
32458         * tests/test-mkfifoat.c (main): Likewise.
32459         * tests/test-mknod.c (main): Likewise.
32460         * tests/test-readlink.c (main): Likewise.
32461         * tests/test-remove.c (main): Likewise.
32462         * tests/test-rename.c (main): Likewise.
32463         * tests/test-renameat.c (main): Likewise.
32464         * tests/test-rmdir.c (main): Likewise.
32465         * tests/test-symlink.c (main): Likewise.
32466         * tests/test-symlinkat.c (main): Likewise.
32467         * tests/test-unlink.c (main): Likewise.
32468         * tests/test-unlinkat.c (main): Likewise.
32469         * tests/test-utimens.c (main): Likewise.
32470         * tests/test-utimensat.c (main): Likewise.
32471         * modules/areadlink-tests (Depends-on): Add ignore-value.
32472         * modules/areadlink-with-size-tests (Depends-on): Likewise.
32473         * modules/areadlinkat-tests (Depends-on): Likewise.
32474         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
32475         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
32476         * modules/canonicalize-tests (Depends-on): Likewise.
32477         * modules/chown-tests (Depends-on): Likewise.
32478         * modules/fdutimensat-tests (Depends-on): Likewise.
32479         * modules/futimens-tests (Depends-on): Likewise.
32480         * modules/lchown-tests (Depends-on): Likewise.
32481         * modules/link-tests (Depends-on): Likewise.
32482         * modules/linkat-tests (Depends-on): Likewise.
32483         * modules/lstat-tests (Depends-on): Likewise.
32484         * modules/mkdir-tests (Depends-on): Likewise.
32485         * modules/mkfifo-tests (Depends-on): Likewise.
32486         * modules/mkfifoat-tests (Depends-on): Likewise.
32487         * modules/mknod-tests (Depends-on): Likewise.
32488         * modules/openat-tests (Depends-on): Likewise.
32489         * modules/readlink-tests (Depends-on): Likewise.
32490         * modules/remove-tests (Depends-on): Likewise.
32491         * modules/rename-tests (Depends-on): Likewise.
32492         * modules/renameat-tests (Depends-on): Likewise.
32493         * modules/rmdir-tests (Depends-on): Likewise.
32494         * modules/symlink-tests (Depends-on): Likewise.
32495         * modules/symlinkat-tests (Depends-on): Likewise.
32496         * modules/unlink-tests (Depends-on): Likewise.
32497         * modules/utimens-tests (Depends-on): Likewise.
32498         * modules/utimensat-tests (Depends-on): Likewise.
32499
32500 2010-01-31  Bruno Haible  <bruno@clisp.org>
32501
32502         Perform the same test for many <math.h> functions.
32503         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
32504         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
32505         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
32506         of gl_MATHFUNC.
32507         * modules/acos (configure.ac): Likewise.
32508         * modules/asin (configure.ac): Likewise.
32509         * modules/atan (configure.ac): Likewise.
32510         * modules/atan2 (configure.ac): Likewise.
32511         * modules/cbrt (configure.ac): Likewise.
32512         * modules/copysign (configure.ac): Likewise.
32513         * modules/cos (configure.ac): Likewise.
32514         * modules/cosh (configure.ac): Likewise.
32515         * modules/erf (configure.ac): Likewise.
32516         * modules/erfc (configure.ac): Likewise.
32517         * modules/exp (configure.ac): Likewise.
32518         * modules/fmod (configure.ac): Likewise.
32519         * modules/hypot (configure.ac): Likewise.
32520         * modules/j0 (configure.ac): Likewise.
32521         * modules/j1 (configure.ac): Likewise.
32522         * modules/jn (configure.ac): Likewise.
32523         * modules/lgamma (configure.ac): Likewise.
32524         * modules/log (configure.ac): Likewise.
32525         * modules/log10 (configure.ac): Likewise.
32526         * modules/log1p (configure.ac): Likewise.
32527         * modules/pow (configure.ac): Likewise.
32528         * modules/remainder (configure.ac): Likewise.
32529         * modules/sin (configure.ac): Likewise.
32530         * modules/sinh (configure.ac): Likewise.
32531         * modules/tan (configure.ac): Likewise.
32532         * modules/tanh (configure.ac): Likewise.
32533         * modules/y0 (configure.ac): Likewise.
32534         * modules/y1 (configure.ac): Likewise.
32535         * modules/yn (configure.ac): Likewise.
32536         Suggested by Paolo Bonzini.
32537
32538 2010-01-31  Bruno Haible  <bruno@clisp.org>
32539
32540         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
32541
32542 2010-01-31  Bruno Haible  <bruno@clisp.org>
32543
32544         Work around getdelim() bug on FreeBSD 8.0.
32545         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
32546         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
32547         not work.
32548         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
32549         is 1.
32550         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
32551         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
32552         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
32553         a non-zero size.
32554         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
32555
32556 2010-01-31  Bruno Haible  <bruno@clisp.org>
32557
32558         Work around getline() bug on FreeBSD 8.0.
32559         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
32560         and a non-zero size.
32561         * tests/test-getline.c (main): Likewise.
32562         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
32563         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
32564
32565 2010-01-28  Eric Blake  <ebb9@byu.net>
32566
32567         regex: fix build failure
32568         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
32569         platforms.
32570
32571 2010-01-28  Jim Meyering  <meyering@redhat.com>
32572
32573         regex: do not ignore memory allocation failure
32574         * lib/regex_internal.c (create_cd_newstate): Detect
32575         re_node_set_init_copy failure.   Extracted from glibc commit
32576         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
32577
32578         regex: sync more white-space changes from libc
32579         * lib/regex_internal.c: White-space only changes.
32580         * lib/regexec.c: Likewise.
32581
32582         regex: add many uses of __attribute_warn_unused_result__
32583         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
32584         * lib/regexec.c: Likewise.
32585         Extracted from a messy glibc commit.
32586
32587         regcomp.c: spelling and merge-artifact from glibc
32588         * lib/regcomp.c: Merge remainder of glibc's
32589         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
32590
32591         regcomp.c: sync white-space changes from glibc
32592         * lib/regcomp.c: Merge to accommodate white space
32593         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
32594
32595         regcomp.c: do not ignore internal return values
32596         * lib/regcomp.c: Do not ignore internal return values.
32597         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
32598         but without its white-space changes and spelling fixes.
32599
32600         regex_internal.h: define __attribute_warn_unused_result__
32601         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
32602
32603         maint: add a syntax-check rule to check for vulnerable Makefile.in
32604         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
32605
32606 2010-01-27  Jim Meyering  <meyering@redhat.com>
32607
32608         ncftpput-ftp: clean up spaces
32609         * build-aux/ncftpput-ftp: Make Copyright line consistent.
32610         Remove trailing blanks.
32611
32612 2010-01-27  Simon Josefsson  <simon@josefsson.org>
32613
32614         * build-aux/git-version-gen: Fix copyright statement.
32615         * build-aux/gnupload: Likewise.
32616         * tests/test-arcfour.c: Likewise.
32617         * tests/test-arctwo.c: Likewise.
32618         * tests/test-count-one-bits.c: Likewise.
32619         * tests/test-crc.c: Likewise.
32620         * tests/test-des.c: Likewise.
32621         * tests/test-gc-arcfour.c: Likewise.
32622         * tests/test-gc-arctwo.c: Likewise.
32623         * tests/test-gc-des.c: Likewise.
32624         * tests/test-gc-hmac-md5.c: Likewise.
32625         * tests/test-gc-hmac-sha1.c: Likewise.
32626         * tests/test-gc-md2.c: Likewise.
32627         * tests/test-gc-md4.c: Likewise.
32628         * tests/test-gc-md5.c: Likewise.
32629         * tests/test-gc-pbkdf2-sha1.c: Likewise.
32630         * tests/test-gc-rijndael.c: Likewise.
32631         * tests/test-gc-sha1.c: Likewise.
32632         * tests/test-gc.c: Likewise.
32633         * tests/test-gethostname.c: Likewise.
32634         * tests/test-gettimeofday.c: Likewise.
32635         * tests/test-hash.c: Likewise.
32636         * tests/test-hmac-md5.c: Likewise.
32637         * tests/test-hmac-sha1.c: Likewise.
32638         * tests/test-md2.c: Likewise.
32639         * tests/test-md4.c: Likewise.
32640         * tests/test-md5.c: Likewise.
32641         * tests/test-memchr.c: Likewise.
32642         * tests/test-memchr2.c: Likewise.
32643         * tests/test-memcmp.c: Likewise.
32644         * tests/test-memmem.c: Likewise.
32645         * tests/test-memrchr.c: Likewise.
32646         * tests/test-rawmemchr.c: Likewise.
32647         * tests/test-read-file.c: Likewise.
32648         * tests/test-rijndael.c: Likewise.
32649         * tests/test-sockets.c: Likewise.
32650         * tests/test-strchrnul.c: Likewise.
32651         * tests/test-strstr.c: Likewise.
32652         * tests/test-strtod.c: Likewise.
32653         * build-aux/ncftpput-ftp: Likewise.
32654
32655 2010-01-26  Eric Blake  <ebb9@byu.net>
32656
32657         ignore-value: update recommended header name
32658         * modules/ignore-value (Include): Only use <> for headers that
32659         exist in glibc.
32660
32661 2010-01-26  Jim Meyering  <meyering@redhat.com>
32662
32663         test-userspec.c: avoid compiler warnings
32664         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
32665         and "initialization discards qualifiers..." warnings.
32666         Put the first "uid" in its own scope, and make char* members "const".
32667
32668 2010-01-25  Bruno Haible  <bruno@clisp.org>
32669
32670         gnulib-tool: Make warning diagnostics consistent.
32671         * gnulib-tool (func_warning): New function.
32672         Use it everywhere where gnulib-tool produces output to stderr and it is
32673         not a fatal error.
32674
32675 2010-01-25  Bruno Haible  <bruno@clisp.org>
32676
32677         Fix test dependencies.
32678         * modules/xstrtol-tests (Depends-on): Add inttypes.
32679         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
32680
32681 2010-01-25 Pádraig Brady <P@draigBrady.com>
32682
32683         syntax-check: detect incorrect boolean macro values in config.h
32684         * modules/maintainer-makefile (configure.ac): Parameterize the location
32685         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
32686         The logic is from Eric Blake and the location indicated by Jim Meyering.
32687         Note the more natural CONFIG_HEADER name is prohibited by automake
32688         for backwards compatibility reasons.
32689         * top/maint.mk (sc_Wundef_boolean): New rule.
32690
32691 2010-01-25  Jim Meyering  <meyering@redhat.com>
32692
32693         bootstrap: detect MacOS 10.6's shasum, too
32694         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
32695         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
32696
32697 2010-01-23  Jim Meyering  <meyering@redhat.com>
32698
32699         xstrtoll: new module
32700         * modules/xstrtoll: New file.
32701         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
32702         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
32703         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
32704         ./configure fails if you use this module and lack "long long".
32705         * modules/xstrtoll-tests: New module.
32706         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
32707         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
32708         new init.sh-based test framework.
32709
32710 2010-01-24  Bruno Haible  <bruno@clisp.org>
32711
32712         Tests for module 'yn'.
32713         * modules/yn-tests: New file.
32714         * tests/test-yn.c: New file.
32715
32716         Tests for module 'y1'.
32717         * modules/y1-tests: New file.
32718         * tests/test-y1.c: New file.
32719
32720         Tests for module 'y0'.
32721         * modules/y0-tests: New file.
32722         * tests/test-y0.c: New file.
32723
32724         Tests for module 'tanh'.
32725         * modules/tanh-tests: New file.
32726         * tests/test-tanh.c: New file.
32727
32728         Tests for module 'tan'.
32729         * modules/tan-tests: New file.
32730         * tests/test-tan.c: New file.
32731
32732         Tests for module 'sqrt'.
32733         * modules/sqrt-tests: New file.
32734         * tests/test-sqrt.c: New file.
32735
32736         Tests for module 'sinh'.
32737         * modules/sinh-tests: New file.
32738         * tests/test-sinh.c: New file.
32739
32740         Tests for module 'sin'.
32741         * modules/sin-tests: New file.
32742         * tests/test-sin.c: New file.
32743
32744         Tests for module 'rint'.
32745         * modules/rint-tests: New file.
32746         * tests/test-rint.c: New file.
32747
32748         Tests for module 'remainder'.
32749         * modules/remainder-tests: New file.
32750         * tests/test-remainder.c: New file.
32751
32752         Tests for module 'pow'.
32753         * modules/pow-tests: New file.
32754         * tests/test-pow.c: New file.
32755
32756         Tests for module 'nextafter'.
32757         * modules/nextafter-tests: New file.
32758         * tests/test-nextafter.c: New file.
32759
32760         Tests for module 'modf'.
32761         * modules/modf-tests: New file.
32762         * tests/test-modf.c: New file.
32763
32764         Tests for module 'logb'.
32765         * modules/logb-tests: New file.
32766         * tests/test-logb.c: New file.
32767
32768         Tests for module 'log1p'.
32769         * modules/log1p-tests: New file.
32770         * tests/test-log1p.c: New file.
32771
32772         Tests for module 'log10'.
32773         * modules/log10-tests: New file.
32774         * tests/test-log10.c: New file.
32775
32776         Tests for module 'log'.
32777         * modules/log-tests: New file.
32778         * tests/test-log.c: New file.
32779
32780         Tests for module 'lgamma'.
32781         * modules/lgamma-tests: New file.
32782         * tests/test-lgamma.c: New file.
32783
32784         Tests for module 'ldexp'.
32785         * modules/ldexp-tests: New file.
32786         * tests/test-ldexp.c: New file.
32787
32788         Tests for module 'jn'.
32789         * modules/jn-tests: New file.
32790         * tests/test-jn.c: New file.
32791
32792         Tests for module 'j1'.
32793         * modules/j1-tests: New file.
32794         * tests/test-j1.c: New file.
32795
32796         Tests for module 'j0'.
32797         * modules/j0-tests: New file.
32798         * tests/test-j0.c: New file.
32799
32800         Tests for module 'hypot'.
32801         * modules/hypot-tests: New file.
32802         * tests/test-hypot.c: New file.
32803
32804         Tests for module 'fmod'.
32805         * modules/fmod-tests: New file.
32806         * tests/test-fmod.c: New file.
32807
32808         Tests for module 'fabs'.
32809         * modules/fabs-tests: New file.
32810         * tests/test-fabs.c: New file.
32811
32812         Tests for module 'exp'.
32813         * modules/exp-tests: New file.
32814         * tests/test-exp.c: New file.
32815
32816         Tests for module 'erfc'.
32817         * modules/erfc-tests: New file.
32818         * tests/test-erfc.c: New file.
32819
32820         Tests for module 'erf'.
32821         * modules/erf-tests: New file.
32822         * tests/test-erf.c: New file.
32823
32824         Tests for module 'cosh'.
32825         * modules/cosh-tests: New file.
32826         * tests/test-cosh.c: New file.
32827
32828         Tests for module 'cos'.
32829         * modules/cos-tests: New file.
32830         * tests/test-cos.c: New file.
32831
32832         Tests for module 'copysign'.
32833         * modules/copysign-tests: New file.
32834         * tests/test-copysign.c: New file.
32835
32836         Tests for module 'cbrt'.
32837         * modules/cbrt-tests: New file.
32838         * tests/test-cbrt.c: New file.
32839
32840         Tests for module 'atan2'.
32841         * modules/atan2-tests: New file.
32842         * tests/test-atan2.c: New file.
32843
32844         Tests for module 'atan'.
32845         * modules/atan-tests: New file.
32846         * tests/test-atan.c: New file.
32847
32848         Tests for module 'asin'.
32849         * modules/asin-tests: New file.
32850         * tests/test-asin.c: New file.
32851
32852         Tests for module 'acos'.
32853         * modules/acos-tests: New file.
32854         * tests/test-acos.c: New file.
32855
32856 2010-01-24  Bruno Haible  <bruno@clisp.org>
32857
32858         Fix tests for common <math.h> functions.
32859         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
32860         code snippet that references the function pointer, rather than merely
32861         calling the function. Substitute the FUNC_LIBM variable.
32862         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
32863         * modules/acos (configure.ac): Likewise.
32864         * modules/asin (configure.ac): Likewise.
32865         * modules/atan (configure.ac): Likewise.
32866         * modules/atan2 (configure.ac): Likewise.
32867         * modules/cbrt (configure.ac): Likewise.
32868         * modules/copysign (configure.ac): Likewise.
32869         * modules/cos (configure.ac): Likewise.
32870         * modules/cosh (configure.ac): Likewise.
32871         * modules/erf (configure.ac): Likewise.
32872         * modules/erfc (configure.ac): Likewise.
32873         * modules/exp (configure.ac): Likewise.
32874         * modules/fabs (configure.ac): Likewise.
32875         * modules/fmod (configure.ac): Likewise.
32876         * modules/hypot (configure.ac): Likewise.
32877         * modules/j0 (configure.ac): Likewise.
32878         * modules/j1 (configure.ac): Likewise.
32879         * modules/jn (configure.ac): Likewise.
32880         * modules/ldexp (configure.ac): Likewise.
32881         * modules/lgamma (configure.ac): Likewise.
32882         * modules/log (configure.ac): Likewise.
32883         * modules/log10 (configure.ac): Likewise.
32884         * modules/log1p (configure.ac): Likewise.
32885         * modules/logb (configure.ac): Likewise.
32886         * modules/modf (configure.ac): Likewise.
32887         * modules/nextafter (configure.ac): Likewise.
32888         * modules/pow (configure.ac): Likewise.
32889         * modules/remainder (configure.ac): Likewise.
32890         * modules/rint (configure.ac): Likewise.
32891         * modules/sin (configure.ac): Likewise.
32892         * modules/sinh (configure.ac): Likewise.
32893         * modules/tan (configure.ac): Likewise.
32894         * modules/tanh (configure.ac): Likewise.
32895         * modules/y0 (configure.ac): Likewise.
32896         * modules/y1 (configure.ac): Likewise.
32897         * modules/yn (configure.ac): Likewise.
32898
32899 2010-01-24  Bruno Haible  <bruno@clisp.org>
32900
32901         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
32902         * tests/test-acosl.c (x): New variable.
32903         (main): Store argument in x and fetch it from x.
32904         * tests/test-asinl.c (x): New variable.
32905         (main): Store argument in x and fetch it from x.
32906         * tests/test-atanl.c (x): New variable.
32907         (main): Store argument in x and fetch it from x.
32908         * tests/test-cosl.c (x): New variable.
32909         (main): Store argument in x and fetch it from x.
32910         * tests/test-expl.c (x): New variable.
32911         (main): Store argument in x and fetch it from x.
32912         * tests/test-logl.c (x): New variable.
32913         (main): Store argument in x and fetch it from x.
32914         * tests/test-sinl.c (x): New variable.
32915         (main): Store argument in x and fetch it from x.
32916         * tests/test-sqrtl.c (x): New variable.
32917         (main): Store argument in x and fetch it from x.
32918         * tests/test-tanl.c (x): New variable.
32919         (main): Store argument in x and fetch it from x.
32920
32921 2010-01-24  Bruno Haible  <bruno@clisp.org>
32922
32923         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
32924         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
32925         assignments to the initial TESTS_ENVIRONMENT.
32926         * doc/gnulib.texi (Unit test modules): Document it.
32927         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
32928         TESTS_ENVIRONMENT.
32929         * modules/btowc-tests (Makefile.am): Likewise.
32930         * modules/c-stack-tests (Makefile.am): Likewise.
32931         * modules/c-strcase-tests (Makefile.am): Likewise.
32932         * modules/copy-file-tests (Makefile.am): Likewise.
32933         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
32934         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
32935         * modules/mbrtowc-tests (Makefile.am): Likewise.
32936         * modules/mbscasecmp-tests (Makefile.am): Likewise.
32937         * modules/mbscasestr-tests (Makefile.am): Likewise.
32938         * modules/mbschr-tests (Makefile.am): Likewise.
32939         * modules/mbscspn-tests (Makefile.am): Likewise.
32940         * modules/mbsinit-tests (Makefile.am): Likewise.
32941         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
32942         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
32943         * modules/mbspbrk-tests (Makefile.am): Likewise.
32944         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
32945         * modules/mbsrchr-tests (Makefile.am): Likewise.
32946         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
32947         * modules/mbsspn-tests (Makefile.am): Likewise.
32948         * modules/mbsstr-tests (Makefile.am): Likewise.
32949         * modules/nl_langinfo-tests (Makefile.am): Likewise.
32950         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
32951         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
32952         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
32953         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
32954         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
32955         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
32956         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
32957         * modules/wcrtomb-tests (Makefile.am): Likewise.
32958         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
32959         * modules/wcsrtombs-tests (Makefile.am): Likewise.
32960         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
32961         assignments from TESTS_ENVIRONMENT.
32962         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
32963         augmentation.
32964         * modules/argp-version-etc-tests (Makefile.am): Likewise.
32965         * modules/atexit-tests (Makefile.am): Likewise.
32966         * modules/binary-io-tests (Makefile.am): Likewise.
32967         * modules/closein-tests (Makefile.am): Likewise.
32968         * modules/dprintf-posix-tests (Makefile.am): Likewise.
32969         * modules/exclude-tests (Makefile.am): Likewise.
32970         * modules/fflush-tests (Makefile.am): Likewise.
32971         * modules/fpending-tests (Makefile.am): Likewise.
32972         * modules/fprintf-posix-tests (Makefile.am): Likewise.
32973         * modules/freadahead-tests (Makefile.am): Likewise.
32974         * modules/freadptr-tests (Makefile.am): Likewise.
32975         * modules/freadseek-tests (Makefile.am): Likewise.
32976         * modules/fseek-tests (Makefile.am): Likewise.
32977         * modules/fseeko-tests (Makefile.am): Likewise.
32978         * modules/ftell-tests (Makefile.am): Likewise.
32979         * modules/ftello-tests (Makefile.am): Likewise.
32980         * modules/idpriv-drop-tests (Makefile.am): Likewise.
32981         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
32982         * modules/lseek-tests (Makefile.am): Likewise.
32983         * modules/parse-duration-tests (Makefile.am): Likewise.
32984         * modules/perror-tests (Makefile.am): Likewise.
32985         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
32986         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
32987         * modules/pipe-tests (Makefile.am): Likewise.
32988         * modules/pread-tests (Makefile.am): Likewise.
32989         * modules/printf-posix-tests (Makefile.am): Likewise.
32990         * modules/select-tests (Makefile.am): Likewise.
32991         * modules/sigpipe-tests (Makefile.am): Likewise.
32992         * modules/tsearch-tests (Makefile.am): Likewise.
32993         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
32994         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
32995         * modules/uniname/uniname-tests (Makefile.am): Likewise.
32996         * modules/uniwidth/width-tests (Makefile.am): Likewise.
32997         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
32998         * modules/version-etc-tests (Makefile.am): Likewise.
32999         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
33000         * modules/vprintf-posix-tests (Makefile.am): Likewise.
33001         * modules/xalloc-die-tests (Makefile.am): Likewise.
33002         * modules/xprintf-posix-tests (Makefile.am): Likewise.
33003         * modules/xstrtoimax-tests (Makefile.am): Likewise.
33004         * modules/xstrtol-tests (Makefile.am): Likewise.
33005         * modules/xstrtoumax-tests (Makefile.am): Likewise.
33006         * modules/yesno-tests (Makefile.am): Likewise.
33007         Suggested by Jim Meyering.
33008
33009 2010-01-24  Bruno Haible  <bruno@clisp.org>
33010
33011         More documentation.
33012         * doc/gnulib.texi (Writing modules): New chapter.
33013         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
33014         the new chapter.
33015
33016 2010-01-24  Jim Meyering  <meyering@redhat.com>
33017
33018         maint.mk: do not prepend "./" after filtering
33019         * top/maint.mk (_prepend_srcdir_prefix): New variable
33020         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
33021         "./" when $(srcdir) is ".".
33022
33023         define STREQ(a,b) consistently, removing useless parentheses
33024         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
33025         since the only risk is that "a" or "b" contains an unparenthesized
33026         comma, but if either did that, STREQ would have 3 or more arguments.
33027         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
33028         * lib/fts.c (STREQ): Remove unnecessary parentheses.
33029         * lib/hash-triple.c (STREQ): Likewise.
33030         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
33031         * lib/getugroups.c (STREQ): Likewise.
33032
33033 2010-01-23  Jim Meyering  <meyering@redhat.com>
33034
33035         maint.mk: fix syntax-check in a non-srcdir build directory
33036         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
33037         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
33038
33039 2010-01-22  Jim Meyering  <meyering@redhat.com>
33040
33041         userspec: add unit tests
33042         * tests/test-userspec.c: New file.
33043         * modules/userspec-tests: Likewise.
33044
33045 2010-01-21  Jim Meyering  <meyering@redhat.com>
33046
33047         maint.mk: handle source file names containing "." robustly
33048         * top/maint.mk (_dot_escaped_srcdir): Define.
33049         (VC_LIST): Use it in LHS of sed substitution.
33050
33051 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
33052
33053         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
33054         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
33055         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
33056         from a non-srcdir build.
33057
33058 2010-01-20  Eric Blake  <ebb9@byu.net>
33059
33060         warn-on-use: use instead of link-warning
33061         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
33062         * modules/unistd (Depends-on, Makefile.am): Likewise.
33063         * modules/arpa_inet (Depends-on): Replace link-warning with
33064         warn-on-use.
33065         (Makefile.am): Update rules accordingly.
33066         * modules/ctype (Depends-on, Makefile.am): Likewise.
33067         * modules/dirent (Depends-on, Makefile.am): Likewise.
33068         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
33069         * modules/inttypes (Depends-on, Makefile.am): Likewise.
33070         * modules/langinfo (Depends-on, Makefile.am): Likewise.
33071         * modules/locale (Depends-on, Makefile.am): Likewise.
33072         * modules/math (Depends-on, Makefile.am): Likewise.
33073         * modules/search (Depends-on, Makefile.am): Likewise.
33074         * modules/signal (Depends-on, Makefile.am): Likewise.
33075         * modules/spawn (Depends-on, Makefile.am): Likewise.
33076         * modules/stdlib (Depends-on, Makefile.am): Likewise.
33077         * modules/string (Depends-on, Makefile.am): Likewise.
33078         * modules/strings (Depends-on, Makefile.am): Likewise.
33079         * modules/sys_file (Depends-on, Makefile.am): Likewise.
33080         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
33081         * modules/sys_select (Depends-on, Makefile.am): Likewise.
33082         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
33083         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
33084         * modules/sys_times (Depends-on, Makefile.am): Likewise.
33085         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
33086         * modules/wchar (Depends-on, Makefile.am): Likewise.
33087         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
33088         should be poisoned.
33089         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
33090         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
33091         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
33092         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
33093         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
33094         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
33095         * m4/math_h.m4 (gl_MATH_H): Likewise.
33096         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
33097         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
33098         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
33099         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
33100         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
33101         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
33102         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
33103         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
33104         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
33105         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
33106         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
33107         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
33108         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
33109         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
33110         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
33111         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
33112         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
33113         GL_LINK_WARNING.
33114         * lib/ctype.in.h: Likewise.
33115         * lib/dirent.in.h: Likewise.
33116         * lib/fcntl.in.h: Likewise.
33117         * lib/inttypes.in.h: Likewise.
33118         * lib/langinfo.in.h: Likewise.
33119         * lib/locale.in.h: Likewise.
33120         * lib/math.in.h: Likewise.
33121         * lib/search.in.h: Likewise.
33122         * lib/signal.in.h: Likewise.
33123         * lib/spawn.in.h: Likewise.
33124         * lib/stdio.in.h: Likewise.
33125         * lib/stdlib.in.h: Likewise.
33126         * lib/string.in.h: Likewise.
33127         * lib/strings.in.h: Likewise.
33128         * lib/sys_file.in.h: Likewise.
33129         * lib/sys_ioctl.in.h: Likewise.
33130         * lib/sys_select.in.h: Likewise.
33131         * lib/sys_socket.in.h: Likewise.
33132         * lib/sys_stat.in.h: Likewise.
33133         * lib/sys_times.in.h: Likewise.
33134         * lib/sys_utsname.in.h: Likewise.
33135         * lib/unistd.in.h: Likewise.
33136         * lib/wchar.in.h: Likewise.
33137
33138 2010-01-20  Bruno Haible  <bruno@clisp.org>
33139
33140         Avoid duplicate -lm.
33141         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
33142         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
33143         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
33144         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
33145         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
33146         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
33147         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
33148         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
33149         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
33150         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
33151         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
33152         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
33153         Reported by Paolo Bonzini.
33154
33155 2010-01-19  Bruno Haible  <bruno@clisp.org>
33156
33157         langinfo, nl_langinfo: Relicense under LGPLv2+.
33158         * modules/langinfo (License): Change to LGPLv2+.
33159         * modules/nl_langinfo (License): Likewise.
33160         Patch by David Lutterkort <lutter@redhat.com>.
33161
33162 2010-01-19  Bruno Haible  <bruno@clisp.org>
33163
33164         Avoid compilation error with cc on OSF/1 5.1.
33165         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
33166         statement, not before.
33167         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
33168
33169 2010-01-18  Bruno Haible  <bruno@clisp.org>
33170
33171         Avoid a link error due to the __printf__ symbol.
33172         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
33173         and 2.6.x.
33174         (__format__, __printf__): Remove definitions.
33175         * lib/argp-fmtstream.h: Likewise.
33176         * lib/argp.h: Likewise.
33177         * lib/error.h: Likewise.
33178         * lib/vasnprintf.h: Likewise.
33179         * lib/xprintf.h: Likewise.
33180         * lib/xvasprintf.h: Likewise.
33181         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
33182
33183 2010-01-18  Bruno Haible  <bruno@clisp.org>
33184
33185         Tests for module 'tanl'.
33186         * modules/tanl-tests: New file.
33187         * tests/test-tanl.c: New file.
33188
33189         Tests for module 'sqrtl'.
33190         * modules/sqrtl-tests: New file.
33191         * tests/test-sqrtl.c: New file.
33192
33193         Tests for module 'sinl'.
33194         * modules/sinl-tests: New file.
33195         * tests/test-sinl.c: New file.
33196
33197         Tests for module 'logl'.
33198         * modules/logl-tests: New file.
33199         * tests/test-logl.c: New file.
33200
33201         Tests for module 'expl'.
33202         * modules/expl-tests: New file.
33203         * tests/test-expl.c: New file.
33204
33205         Tests for module 'cosl'.
33206         * modules/cosl-tests: New file.
33207         * tests/test-cosl.c: New file.
33208
33209         Tests for module 'atanl'.
33210         * modules/atanl-tests: New file.
33211         * tests/test-atanl.c: New file.
33212
33213         Tests for module 'asinl'.
33214         * modules/asinl-tests: New file.
33215         * tests/test-asinl.c: New file.
33216
33217         Tests for module 'acosl'.
33218         * modules/acosl-tests: New file.
33219         * tests/test-acosl.c: New file.
33220
33221         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
33222         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
33223         tanl): Use the standard gnulib idiom.
33224         * lib/cosl.c: Don't include trigl.c and sincosl.c.
33225         * lib/sinl.c: Likewise.
33226         * lib/tanl.c: Don't include trigl.c.
33227         (kernel_tanl): Make static.
33228         * lib/sincosl.c: Include trigl.h first.
33229         * lib/trigl.c: Likewise.
33230         * m4/acosl.m4: New file.
33231         * m4/asinl.m4: New file.
33232         * m4/atanl.m4: New file.
33233         * m4/cosl.m4: New file.
33234         * m4/expl.m4: New file.
33235         * m4/logl.m4: New file.
33236         * m4/sinl.m4: New file.
33237         * m4/sqrtl.m4: New file.
33238         * m4/tanl.m4: New file.
33239         * m4/mathl.m4: Remove file.
33240         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
33241         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
33242         Don't initialize GNULIB_MATHL.
33243         * modules/acosl: New file.
33244         * modules/asinl: New file.
33245         * modules/atanl: New file.
33246         * modules/cosl: New file.
33247         * modules/expl: New file.
33248         * modules/logl: New file.
33249         * modules/sinl: New file.
33250         * modules/sqrtl: New file.
33251         * modules/tanl: New file.
33252         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
33253         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
33254         substitute GNULIB_MATHL.
33255         * modules/mathl: Rewritten.
33256         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
33257         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
33258         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
33259         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
33260         * doc/posix-functions/expl.texi: Mention the 'expl' module.
33261         * doc/posix-functions/logl.texi: Mention the 'logl' module.
33262         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
33263         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
33264         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
33265
33266 2010-01-18  Bruno Haible  <bruno@clisp.org>
33267
33268         sqrt: Make gl_FUNC_SQRT requirable.
33269         * m4/sqrt.m4: New file.
33270         * modules/sqrt (Files): Add it.
33271         (configure.ac): Invoke gl_FUNC_SQRT.
33272
33273 2010-01-18  Bruno Haible  <bruno@clisp.org>
33274
33275         New modules for common <math.h> functions.
33276         * m4/mathfunc.m4: New file.
33277         * modules/acos: New file.
33278         * modules/asin: New file.
33279         * modules/atan: New file.
33280         * modules/atan2: New file.
33281         * modules/cbrt: New file.
33282         * modules/copysign: New file.
33283         * modules/cos: New file.
33284         * modules/cosh: New file.
33285         * modules/erf: New file.
33286         * modules/erfc: New file.
33287         * modules/exp: New file.
33288         * modules/fabs: New file.
33289         * modules/fmod: New file.
33290         * modules/hypot: New file.
33291         * modules/j0: New file.
33292         * modules/j1: New file.
33293         * modules/jn: New file.
33294         * modules/ldexp: New file.
33295         * modules/lgamma: New file.
33296         * modules/log: New file.
33297         * modules/log10: New file.
33298         * modules/log1p: New file.
33299         * modules/logb: New file.
33300         * modules/modf: New file.
33301         * modules/nextafter: New file.
33302         * modules/pow: New file.
33303         * modules/remainder: New file.
33304         * modules/rint: New file.
33305         * modules/sin: New file.
33306         * modules/sinh: New file.
33307         * modules/sqrt: New file.
33308         * modules/tan: New file.
33309         * modules/tanh: New file.
33310         * modules/y0: New file.
33311         * modules/y1: New file.
33312         * modules/yn: New file.
33313         * doc/posix-functions/acos.texi: Mention the 'acos' module.
33314         * doc/posix-functions/asin.texi: Mention the 'asin' module.
33315         * doc/posix-functions/atan.texi: Mention the 'atan' module.
33316         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
33317         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
33318         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
33319         * doc/posix-functions/cos.texi: Mention the 'cos' module.
33320         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
33321         * doc/posix-functions/erf.texi: Mention the 'erf' module.
33322         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
33323         * doc/posix-functions/exp.texi: Mention the 'exp' module.
33324         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
33325         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
33326         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
33327         * doc/posix-functions/j0.texi: Mention the 'j0' module.
33328         * doc/posix-functions/j1.texi: Mention the 'j1' module.
33329         * doc/posix-functions/jn.texi: Mention the 'jn' module.
33330         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
33331         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
33332         * doc/posix-functions/log.texi: Mention the 'log' module.
33333         * doc/posix-functions/log10.texi: Mention the 'log10' module.
33334         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
33335         * doc/posix-functions/logb.texi: Mention the 'logb' module.
33336         * doc/posix-functions/modf.texi: Mention the 'modf' module.
33337         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
33338         * doc/posix-functions/pow.texi: Mention the 'pow' module.
33339         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
33340         * doc/posix-functions/rint.texi: Mention the 'rint' module.
33341         * doc/posix-functions/sin.texi: Mention the 'sin' module.
33342         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
33343         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
33344         * doc/posix-functions/tan.texi: Mention the 'tan' module.
33345         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
33346         * doc/posix-functions/y0.texi: Mention the 'y0' module.
33347         * doc/posix-functions/y1.texi: Mention the 'y1' module.
33348         * doc/posix-functions/yn.texi: Mention the 'yn' module.
33349
33350 2010-01-18  Jim Meyering  <meyering@redhat.com>
33351
33352         ignore-value: relax license to LGPLv2+
33353         * modules/ignore-value (License): Relax to LGPLv2+.
33354
33355         getdate: don't leak when TZ contains two or more '"'s
33356         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
33357         double quote in TZ after the first one.
33358
33359         readtokens: do not leak internal token_lengths buffer
33360         * lib/readtokens.c (readtokens): Free the local, lengths,
33361         when the supplied "token_lengths" parameter is NULL.
33362
33363 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33364
33365         Fix a couple of missing LIBTHREAD link failures on AIX.
33366         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
33367         $(LIBTHREAD).
33368         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
33369
33370         Link test-poll against INET_PTON_LIB.
33371         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
33372         for inet_pton on Solaris 10.
33373
33374 2010-01-17  Bruno Haible  <bruno@clisp.org>
33375
33376         unistdio/*-sprintf: Fix typo in module description.
33377         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
33378         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
33379         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
33380         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
33381         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
33382         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
33383         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
33384         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
33385
33386 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33387
33388         gnulib-tool: fix filelist for AIX, HP-UX ksh.
33389         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
33390         variables in shell case patterns, for AIX and HP-UX ksh.
33391
33392         Split large sed scripts, for HP-UX sed.
33393         * modules/stdio: Split sed scripts around 50 sed commands,
33394         to avoid HP-UX limit of 99 commands, in the near future.
33395         * modules/string: Likewise.
33396         * modules/unistd: Likewise.
33397
33398         gnulib-tool: avoid writing in the current directory.
33399         * gnulib-tool (func_emit_lib_Makefile_am)
33400         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
33401         not in the current directory, so concurrent gnulib-tool
33402         instances do not interfere.
33403
33404 2010-01-16  Jim Meyering  <meyering@redhat.com>
33405
33406         doc: update users.txt
33407         * users.txt: Add grep.
33408         (diffutils, gzip): Update URLs.
33409
33410 2010-01-12  Bruno Haible  <bruno@clisp.org>
33411
33412         posix_spawn: Avoid test failure on Cygwin.
33413         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
33414         characters.
33415         Reported by Simon Josefsson.
33416
33417 2010-01-12  Bruno Haible  <bruno@clisp.org>
33418
33419         * tests/test-cond.c (main): When skipping the test, show the reason.
33420
33421 2010-01-12  Simon Josefsson  <simon@josefsson.org>
33422
33423         * lib/striconv.c (str_cd_iconv): Avoid if before free.
33424
33425 2010-01-12  Simon Josefsson  <simon@josefsson.org>
33426
33427         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
33428         VC_LIST_ALWAYS_EXCLUDE_REGEX.
33429
33430 2010-01-12  Eric Blake  <ebb9@byu.net>
33431
33432         build: guarantee AS_VAR_IF
33433         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
33434         (gl_AS_VAR_IF): Move...
33435         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
33436         Reported by Simon Josefsson.
33437
33438 2010-01-12  Simon Josefsson  <simon@josefsson.org>
33439
33440         * lib/stdio.in.h: Fix typo.
33441
33442 2010-01-12  Simon Josefsson  <simon@josefsson.org>
33443
33444         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
33445         libgpg-error.
33446
33447 2010-01-12  Simon Josefsson  <simon@josefsson.org>
33448
33449         * tests/test-xalloc-die.sh: Use $EXEEXT.
33450
33451 2010-01-12  Simon Josefsson  <simon@josefsson.org>
33452             Bruno Haible  <bruno@clisp.org>
33453
33454         getlogin, getlogin_r: Avoid test failure.
33455         * tests/test-getlogin.c: Include <stdio.h>.
33456         (main): Skip the test when the function fails because stdin is not a
33457         tty.
33458         * tests/test-getlogin_r.c: Include <stdio.h>.
33459         (main): Skip the test when the function fails because stdin is not a
33460         tty.
33461
33462 2010-01-11  Eric Blake  <ebb9@byu.net>
33463
33464         tests: avoid more large file warnings
33465         * tests/test-fflush.c: Avoid warning about ftell use.
33466         * tests/test-fseek.c: Avoid warning about fseek use.
33467
33468 2010-01-10  Bruno Haible  <bruno@clisp.org>
33469
33470         nproc: Work better on Linux when /proc and /sys are not mounted.
33471         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
33472         as lower bound when, on glibc/Linux systems,
33473         sysconf (_SC_NPROCESSORS_CONF) returns 1.
33474         Suggested by Pádraig Brady <P@draigbrady.com>.
33475         Reported by Dmitry V. Levin <ldv@altlinux.org>.
33476
33477         nproc: Refactor.
33478         * lib/nproc.c (num_processors_via_affinity_mask): New function,
33479         extracted from num_processors.
33480         (num_processors): Call it.
33481
33482 2010-01-11  Jim Meyering  <meyering@redhat.com>
33483
33484         utimecmp: avoid new warning from upcoming gcc-4.5.0
33485         * lib/utimecmp.c (BILLION): Define using #define rather than an
33486         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
33487
33488 2010-01-11  Eric Blake  <ebb9@byu.net>
33489
33490         math: add portability warnings for classification macros
33491         * modules/math (Depends-on): Add warn-on-use.
33492         (Makefile.am): Provide new substitutions.
33493         * m4/math_h.m4 (gl_MATH_H): Require inline.
33494         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
33495         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
33496         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
33497         implement warnings.
33498
33499         unistd: warn on use of environ without module
33500         * modules/unistd (Depends-on): Add warn-on-use.
33501         (Makefile.am): Provide new substitutions.
33502         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
33503         * lib/unistd.in.h (environ): Wrap with a warning helper function.
33504
33505         stdio: warn on suspicious uses
33506         * modules/stdio (Depends-on): Add warn-on-use.
33507         (Makefile.am): Provide new substitutions.
33508         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
33509         fseeko.
33510         * lib/stdio.in.h (gets): Always warn on use.
33511         (fseek, ftell): Adjust when warnings are issued, and honor
33512         _GL_NO_LARGE_FILES as a way to silence the warning.
33513         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
33514         any warning about large file offsets.
33515         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
33516         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
33517         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
33518         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
33519         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
33520         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
33521         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
33522         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
33523
33524         warn-on-use: new module
33525         * modules/warn-on-use: New file.
33526         * build-aux/warn-on-use.h: Likewise.
33527         * m4/warn-on-use.m4: Likewise.
33528         * MODULES.html.sh (Support for building): Mention it.
33529
33530 2010-01-10  Bruno Haible  <bruno@clisp.org>
33531
33532         Tests for module 'unistr/u32-strdup'.
33533         * modules/unistr/u32-strdup-tests: New file.
33534         * tests/unistr/test-u32-strdup.c: New file.
33535
33536         Tests for module 'unistr/u16-strdup'.
33537         * modules/unistr/u16-strdup-tests: New file.
33538         * tests/unistr/test-u16-strdup.c: New file.
33539
33540         Tests for module 'unistr/u8-strdup'.
33541         * modules/unistr/u8-strdup-tests: New file.
33542         * tests/unistr/test-u8-strdup.c: New file.
33543         * tests/unistr/test-strdup.h: New file.
33544
33545         Tests for module 'unistr/u32-strncmp'.
33546         * modules/unistr/u32-strncmp-tests: New file.
33547         * tests/unistr/test-u32-strncmp.c: New file.
33548
33549         Tests for module 'unistr/u16-strncmp'.
33550         * modules/unistr/u16-strncmp-tests: New file.
33551         * tests/unistr/test-u16-strncmp.c: New file.
33552
33553         Tests for module 'unistr/u8-strncmp'.
33554         * modules/unistr/u8-strncmp-tests: New file.
33555         * tests/unistr/test-u8-strncmp.c: New file.
33556         * tests/unistr/test-strncmp.h: New file.
33557
33558         Tests for module 'unistr/u32-strcoll'.
33559         * modules/unistr/u32-strcoll-tests: New file.
33560         * tests/unistr/test-u32-strcoll.c: New file.
33561
33562         Tests for module 'unistr/u16-strcoll'.
33563         * modules/unistr/u16-strcoll-tests: New file.
33564         * tests/unistr/test-u16-strcoll.c: New file.
33565
33566         Tests for module 'unistr/u8-strcoll'.
33567         * modules/unistr/u8-strcoll-tests: New file.
33568         * tests/unistr/test-u8-strcoll.c: New file.
33569
33570         Tests for module 'unistr/u32-strcmp'.
33571         * modules/unistr/u32-strcmp-tests: New file.
33572         * tests/unistr/test-u32-strcmp.c: New file.
33573         * tests/unistr/test-u32-strcmp.h: New file.
33574
33575         Tests for module 'unistr/u16-strcmp'.
33576         * modules/unistr/u16-strcmp-tests: New file.
33577         * tests/unistr/test-u16-strcmp.c: New file.
33578         * tests/unistr/test-u16-strcmp.h: New file.
33579
33580         Tests for module 'unistr/u8-strcmp'.
33581         * modules/unistr/u8-strcmp-tests: New file.
33582         * tests/unistr/test-u8-strcmp.c: New file.
33583         * tests/unistr/test-u8-strcmp.h: New file.
33584         * tests/unistr/test-strcmp.h: New file.
33585
33586         Tests for module 'unistr/u32-strncat'.
33587         * modules/unistr/u32-strncat-tests: New file.
33588         * tests/unistr/test-u32-strncat.c: New file.
33589
33590         Tests for module 'unistr/u16-strncat'.
33591         * modules/unistr/u16-strncat-tests: New file.
33592         * tests/unistr/test-u16-strncat.c: New file.
33593
33594         Tests for module 'unistr/u8-strncat'.
33595         * modules/unistr/u8-strncat-tests: New file.
33596         * tests/unistr/test-u8-strncat.c: New file.
33597         * tests/unistr/test-strncat.h: New file.
33598
33599         Tests for module 'unistr/u32-strcat'.
33600         * modules/unistr/u32-strcat-tests: New file.
33601         * tests/unistr/test-u32-strcat.c: New file.
33602
33603         Tests for module 'unistr/u16-strcat'.
33604         * modules/unistr/u16-strcat-tests: New file.
33605         * tests/unistr/test-u16-strcat.c: New file.
33606
33607         Tests for module 'unistr/u8-strcat'.
33608         * modules/unistr/u8-strcat-tests: New file.
33609         * tests/unistr/test-u8-strcat.c: New file.
33610         * tests/unistr/test-strcat.h: New file.
33611
33612         Tests for module 'unistr/u32-stpncpy'.
33613         * modules/unistr/u32-stpncpy-tests: New file.
33614         * tests/unistr/test-u32-stpncpy.c: New file.
33615
33616         Tests for module 'unistr/u16-stpncpy'.
33617         * modules/unistr/u16-stpncpy-tests: New file.
33618         * tests/unistr/test-u16-stpncpy.c: New file.
33619
33620         Tests for module 'unistr/u8-stpncpy'.
33621         * modules/unistr/u8-stpncpy-tests: New file.
33622         * tests/unistr/test-u8-stpncpy.c: New file.
33623         * tests/unistr/test-stpncpy.h: New file.
33624
33625         Tests for module 'unistr/u32-strncpy'.
33626         * modules/unistr/u32-strncpy-tests: New file.
33627         * tests/unistr/test-u32-strncpy.c: New file.
33628
33629         Tests for module 'unistr/u16-strncpy'.
33630         * modules/unistr/u16-strncpy-tests: New file.
33631         * tests/unistr/test-u16-strncpy.c: New file.
33632
33633         Tests for module 'unistr/u8-strncpy'.
33634         * modules/unistr/u8-strncpy-tests: New file.
33635         * tests/unistr/test-u8-strncpy.c: New file.
33636         * tests/unistr/test-strncpy.h: New file.
33637
33638         Tests for module 'unistr/u32-stpcpy'.
33639         * modules/unistr/u32-stpcpy-tests: New file.
33640         * tests/unistr/test-u32-stpcpy.c: New file.
33641
33642         Tests for module 'unistr/u16-stpcpy'.
33643         * modules/unistr/u16-stpcpy-tests: New file.
33644         * tests/unistr/test-u16-stpcpy.c: New file.
33645
33646         Tests for module 'unistr/u8-stpcpy'.
33647         * modules/unistr/u8-stpcpy-tests: New file.
33648         * tests/unistr/test-u8-stpcpy.c: New file.
33649         * tests/unistr/test-stpcpy.h: New file.
33650
33651         Tests for module 'unistr/u32-strcpy'.
33652         * modules/unistr/u32-strcpy-tests: New file.
33653         * tests/unistr/test-u32-strcpy.c: New file.
33654
33655         Tests for module 'unistr/u16-strcpy'.
33656         * modules/unistr/u16-strcpy-tests: New file.
33657         * tests/unistr/test-u16-strcpy.c: New file.
33658
33659         Tests for module 'unistr/u8-strcpy'.
33660         * modules/unistr/u8-strcpy-tests: New file.
33661         * tests/unistr/test-u8-strcpy.c: New file.
33662         * tests/unistr/test-strcpy.h: New file.
33663
33664         Tests for module 'unistr/u32-strnlen'.
33665         * modules/unistr/u32-strnlen-tests: New file.
33666         * tests/unistr/test-u32-strnlen.c: New file.
33667
33668         Tests for module 'unistr/u16-strnlen'.
33669         * modules/unistr/u16-strnlen-tests: New file.
33670         * tests/unistr/test-u16-strnlen.c: New file.
33671
33672         Tests for module 'unistr/u8-strnlen'.
33673         * modules/unistr/u8-strnlen-tests: New file.
33674         * tests/unistr/test-u8-strnlen.c: New file.
33675         * tests/unistr/test-strnlen.h: New file.
33676
33677         Tests for module 'unistr/u32-strlen'.
33678         * modules/unistr/u32-strlen-tests: New file.
33679         * tests/unistr/test-u32-strlen.c: New file.
33680
33681         Tests for module 'unistr/u16-strlen'.
33682         * modules/unistr/u16-strlen-tests: New file.
33683         * tests/unistr/test-u16-strlen.c: New file.
33684
33685         Tests for module 'unistr/u8-strlen'.
33686         * modules/unistr/u8-strlen-tests: New file.
33687         * tests/unistr/test-u8-strlen.c: New file.
33688
33689         Tests for module 'unistr/u32-prev'.
33690         * modules/unistr/u32-prev-tests: New file.
33691         * tests/unistr/test-u32-prev.c: New file.
33692
33693         Tests for module 'unistr/u16-prev'.
33694         * modules/unistr/u16-prev-tests: New file.
33695         * tests/unistr/test-u16-prev.c: New file.
33696
33697         Tests for module 'unistr/u8-prev'.
33698         * modules/unistr/u8-prev-tests: New file.
33699         * tests/unistr/test-u8-prev.c: New file.
33700
33701         Tests for module 'unistr/u32-next'.
33702         * modules/unistr/u32-next-tests: New file.
33703         * tests/unistr/test-u32-next.c: New file.
33704
33705         Tests for module 'unistr/u16-next'.
33706         * modules/unistr/u16-next-tests: New file.
33707         * tests/unistr/test-u16-next.c: New file.
33708
33709         Tests for module 'unistr/u8-next'.
33710         * modules/unistr/u8-next-tests: New file.
33711         * tests/unistr/test-u8-next.c: New file.
33712
33713         Tests for module 'unistr/u32-strmbtouc'.
33714         * modules/unistr/u32-strmbtouc-tests: New file.
33715         * tests/unistr/test-u32-strmbtouc.c: New file.
33716
33717         Tests for module 'unistr/u16-strmbtouc'.
33718         * modules/unistr/u16-strmbtouc-tests: New file.
33719         * tests/unistr/test-u16-strmbtouc.c: New file.
33720
33721         Tests for module 'unistr/u8-strmbtouc'.
33722         * modules/unistr/u8-strmbtouc-tests: New file.
33723         * tests/unistr/test-u8-strmbtouc.c: New file.
33724
33725         Tests for module 'unistr/u32-strmblen'.
33726         * modules/unistr/u32-strmblen-tests: New file.
33727         * tests/unistr/test-u32-strmblen.c: New file.
33728
33729         Tests for module 'unistr/u16-strmblen'.
33730         * modules/unistr/u16-strmblen-tests: New file.
33731         * tests/unistr/test-u16-strmblen.c: New file.
33732
33733         Tests for module 'unistr/u8-strmblen'.
33734         * modules/unistr/u8-strmblen-tests: New file.
33735         * tests/unistr/test-u8-strmblen.c: New file.
33736
33737         Tests for module 'unistr/u32-cpy-alloc'.
33738         * modules/unistr/u32-cpy-alloc-tests: New file.
33739         * tests/unistr/test-u32-cpy-alloc.c: New file.
33740
33741         Tests for module 'unistr/u16-cpy-alloc'.
33742         * modules/unistr/u16-cpy-alloc-tests: New file.
33743         * tests/unistr/test-u16-cpy-alloc.c: New file.
33744
33745         Tests for module 'unistr/u8-cpy-alloc'.
33746         * modules/unistr/u8-cpy-alloc-tests: New file.
33747         * tests/unistr/test-u8-cpy-alloc.c: New file.
33748         * tests/unistr/test-cpy-alloc.h: New file.
33749
33750         Tests for module 'unistr/u32-mbsnlen'.
33751         * modules/unistr/u32-mbsnlen-tests: New file.
33752         * tests/unistr/test-u32-mbsnlen.c: New file.
33753
33754         Tests for module 'unistr/u16-mbsnlen'.
33755         * modules/unistr/u16-mbsnlen-tests: New file.
33756         * tests/unistr/test-u16-mbsnlen.c: New file.
33757
33758         Tests for module 'unistr/u8-mbsnlen'.
33759         * modules/unistr/u8-mbsnlen-tests: New file.
33760         * tests/unistr/test-u8-mbsnlen.c: New file.
33761
33762         Tests for module 'unistr/u32-chr'.
33763         * modules/unistr/u32-chr-tests: New file.
33764         * tests/unistr/test-u32-chr.c: New file.
33765
33766         Tests for module 'unistr/u16-chr'.
33767         * modules/unistr/u16-chr-tests: New file.
33768         * tests/unistr/test-u16-chr.c: New file.
33769
33770         Tests for module 'unistr/u8-chr'.
33771         * modules/unistr/u8-chr-tests: New file.
33772         * tests/unistr/test-u8-chr.c: New file.
33773         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
33774
33775         Tests for module 'unistr/u32-cmp2'.
33776         * modules/unistr/u32-cmp2-tests: New file.
33777         * tests/unistr/test-u32-cmp2.c: New file.
33778
33779         Tests for module 'unistr/u16-cmp2'.
33780         * modules/unistr/u16-cmp2-tests: New file.
33781         * tests/unistr/test-u16-cmp2.c: New file.
33782
33783         Tests for module 'unistr/u8-cmp2'.
33784         * modules/unistr/u8-cmp2-tests: New file.
33785         * tests/unistr/test-u8-cmp2.c: New file.
33786         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
33787
33788         Tests for module 'unistr/u32-cmp'.
33789         * modules/unistr/u32-cmp-tests: New file.
33790         * tests/unistr/test-u32-cmp.c: New file.
33791
33792         Tests for module 'unistr/u16-cmp'.
33793         * modules/unistr/u16-cmp-tests: New file.
33794         * tests/unistr/test-u16-cmp.c: New file.
33795
33796         Tests for module 'unistr/u8-cmp'.
33797         * modules/unistr/u8-cmp-tests: New file.
33798         * tests/unistr/test-u8-cmp.c: New file.
33799         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
33800
33801         Tests for module 'unistr/u32-set'.
33802         * modules/unistr/u32-set-tests: New file.
33803         * tests/unistr/test-u32-set.c: New file.
33804
33805         Tests for module 'unistr/u16-set'.
33806         * modules/unistr/u16-set-tests: New file.
33807         * tests/unistr/test-u16-set.c: New file.
33808
33809         Tests for module 'unistr/u8-set'.
33810         * modules/unistr/u8-set-tests: New file.
33811         * tests/unistr/test-u8-set.c: New file.
33812         * tests/unistr/test-set.h: New file.
33813
33814         Tests for module 'unistr/u32-move'.
33815         * modules/unistr/u32-move-tests: New file.
33816         * tests/unistr/test-u32-move.c: New file.
33817
33818         Tests for module 'unistr/u16-move'.
33819         * modules/unistr/u16-move-tests: New file.
33820         * tests/unistr/test-u16-move.c: New file.
33821
33822         Tests for module 'unistr/u8-move'.
33823         * modules/unistr/u8-move-tests: New file.
33824         * tests/unistr/test-u8-move.c: New file.
33825         * tests/unistr/test-move.h: New file.
33826
33827         Tests for module 'unistr/u32-cpy'.
33828         * modules/unistr/u32-cpy-tests: New file.
33829         * tests/unistr/test-u32-cpy.c: New file.
33830
33831         Tests for module 'unistr/u16-cpy'.
33832         * modules/unistr/u16-cpy-tests: New file.
33833         * tests/unistr/test-u16-cpy.c: New file.
33834
33835         Tests for module 'unistr/u8-cpy'.
33836         * modules/unistr/u8-cpy-tests: New file.
33837         * tests/unistr/test-u8-cpy.c: New file.
33838         * tests/unistr/test-cpy.h: New file.
33839
33840 2010-01-09  Bruno Haible  <bruno@clisp.org>
33841
33842         Tests for module 'unistr/u32-uctomb'.
33843         * modules/unistr/u32-uctomb-tests: New file.
33844         * tests/unistr/test-u32-uctomb.c: New file.
33845
33846         Tests for module 'unistr/u16-uctomb'.
33847         * modules/unistr/u16-uctomb-tests: New file.
33848         * tests/unistr/test-u16-uctomb.c: New file.
33849
33850         Tests for module 'unistr/u8-uctomb'.
33851         * modules/unistr/u8-uctomb-tests: New file.
33852         * tests/unistr/test-u8-uctomb.c: New file.
33853
33854         Tests for module 'unistr/u32-mbtoucr'.
33855         * modules/unistr/u32-mbtoucr-tests: New file.
33856         * tests/unistr/test-u32-mbtoucr.c: New file.
33857
33858         Tests for module 'unistr/u16-mbtoucr'.
33859         * modules/unistr/u16-mbtoucr-tests: New file.
33860         * tests/unistr/test-u16-mbtoucr.c: New file.
33861
33862         Tests for module 'unistr/u8-mbtoucr'.
33863         * modules/unistr/u8-mbtoucr-tests: New file.
33864         * tests/unistr/test-u8-mbtoucr.c: New file.
33865
33866         Tests for module 'unistr/u32-mbtouc'.
33867         * modules/unistr/u32-mbtouc-tests: New file.
33868         * tests/unistr/test-u32-mbtouc.c: New file.
33869
33870         Tests for module 'unistr/u16-mbtouc'.
33871         * modules/unistr/u16-mbtouc-tests: New file.
33872         * tests/unistr/test-u16-mbtouc.c: New file.
33873
33874         Tests for module 'unistr/u8-mbtouc'.
33875         * modules/unistr/u8-mbtouc-tests: New file.
33876         * tests/unistr/test-u8-mbtouc.c: New file.
33877
33878         Tests for module 'unistr/u32-mbtouc-unsafe'.
33879         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
33880         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
33881         * tests/unistr/test-u32-mbtouc.h: New file.
33882
33883         Tests for module 'unistr/u16-mbtouc-unsafe'.
33884         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
33885         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
33886         * tests/unistr/test-u16-mbtouc.h: New file.
33887
33888         Tests for module 'unistr/u8-mbtouc-unsafe'.
33889         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
33890         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
33891         * tests/unistr/test-u8-mbtouc.h: New file.
33892
33893         Tests for module 'unistr/u32-mblen'.
33894         * modules/unistr/u32-mblen-tests: New file.
33895         * tests/unistr/test-u32-mblen.c: New file.
33896
33897         Tests for module 'unistr/u16-mblen'.
33898         * modules/unistr/u16-mblen-tests: New file.
33899         * tests/unistr/test-u16-mblen.c: New file.
33900
33901         Tests for module 'unistr/u8-mblen'.
33902         * modules/unistr/u8-mblen-tests: New file.
33903         * tests/unistr/test-u8-mblen.c: New file.
33904
33905         Tests for module 'unistr/u32-to-u16'.
33906         * modules/unistr/u32-to-u16-tests: New file.
33907         * tests/unistr/test-u32-to-u16.c: New file.
33908
33909         Tests for module 'unistr/u32-to-u8'.
33910         * modules/unistr/u32-to-u8-tests: New file.
33911         * tests/unistr/test-u32-to-u8.c: New file.
33912
33913         Tests for module 'unistr/u16-to-u32'.
33914         * modules/unistr/u16-to-u32-tests: New file.
33915         * tests/unistr/test-u16-to-u32.c: New file.
33916
33917         Tests for module 'unistr/u16-to-u8'.
33918         * modules/unistr/u16-to-u8-tests: New file.
33919         * tests/unistr/test-u16-to-u8.c: New file.
33920
33921         Tests for module 'unistr/u8-to-u32'.
33922         * modules/unistr/u8-to-u32-tests: New file.
33923         * tests/unistr/test-u8-to-u32.c: New file.
33924
33925         Tests for module 'unistr/u8-to-u16'.
33926         * modules/unistr/u8-to-u16-tests: New file.
33927         * tests/unistr/test-u8-to-u16.c: New file.
33928
33929         Tests for module 'unistr/u32-check'.
33930         * modules/unistr/u32-check-tests: New file.
33931         * tests/unistr/test-u32-check.c: New file.
33932
33933         Tests for module 'unistr/u16-check'.
33934         * modules/unistr/u16-check-tests: New file.
33935         * tests/unistr/test-u16-check.c: New file.
33936
33937         Tests for module 'unistr/u8-check'.
33938         * modules/unistr/u8-check-tests: New file.
33939         * tests/unistr/test-u8-check.c: New file.
33940
33941         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
33942         (category_equals): New function.
33943         (main): Add more tests.
33944         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
33945
33946         * tests/unictype/test-bidi_byname.c (main): Add more tests.
33947
33948 2010-01-10  Bruno Haible  <bruno@clisp.org>
33949
33950         unistr/u*-strcoll: Try harder to distinguish different strings.
33951         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
33952         compare s1 and s2 to see if they are different.
33953
33954 2010-01-10  Bruno Haible  <bruno@clisp.org>
33955
33956         unistr/u*-stpncpy: Fix the return value.
33957         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
33958         description of the return value consistent with stpncpy in glibc.
33959         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
33960         written non-NUL unit.
33961
33962 2010-01-10  Bruno Haible  <bruno@clisp.org>
33963
33964         unistr/u*-next: Add missing dependencies.
33965         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
33966         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
33967         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
33968
33969 2010-01-10  Bruno Haible  <bruno@clisp.org>
33970
33971         unistr/u8-mbsnlen: Fix return value for incomplete character.
33972         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
33973         u8_mblen.
33974         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
33975         Remove unistr/u8-mblen.
33976         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
33977         u16_mblen.
33978         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
33979         Remove unistr/u16-mblen.
33980
33981 2010-01-10  Bruno Haible  <bruno@clisp.org>
33982
33983         wchar: Fix compilation error when <wchar.h> is used from coreutils.
33984         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
33985         Reported by Brian Gough <bjg@gnu.org> and
33986         Chris Clayton <chris2553@googlemail.com> via
33987         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
33988
33989 2010-01-09  Bruno Haible  <bruno@clisp.org>
33990
33991         unistr/u16-to-u32: Reject invalid input.
33992         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
33993         u16_mbtouc.
33994         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
33995         Remove unistr/u16-mbtouc.
33996
33997         unistr/u16-to-u8: Reject invalid input.
33998         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
33999         u16_mbtouc.
34000         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
34001         Remove unistr/u16-mbtouc.
34002
34003         unistr/u8-to-u32: Reject invalid input.
34004         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
34005         u8_mbtouc.
34006         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
34007         Remove unistr/u8-mbtouc.
34008
34009         unistr/u8-to-u16: Reject invalid input.
34010         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
34011         u8_mbtouc.
34012         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
34013         Remove unistr/u8-mbtouc.
34014
34015 2010-01-09  Bruno Haible  <bruno@clisp.org>
34016
34017         Tests for module 'getlogin'.
34018         * modules/getlogin-tests: New file.
34019         * tests/test-getlogin.c: New file.
34020
34021         New module 'getlogin'.
34022         * lib/unistd.in.h (getlogin): New declaration.
34023         * lib/getlogin.c: New file.
34024         * m4/getlogin.m4: New file.
34025         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
34026         HAVE_GETLOGIN.
34027         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
34028         HAVE_GETLOGIN.
34029         * modules/getlogin: New file.
34030         * doc/posix-functions/getlogin.texi: Mention the new module.
34031         Reported by John W. Eaton <jwe@gnu.org>.
34032
34033 2010-01-09  Bruno Haible  <bruno@clisp.org>
34034
34035         getlogin_r: Support for native Windows.
34036         * lib/getlogin_r.c: Include <windows.h>
34037         (getlogin_r): Implement for native Windows.
34038         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
34039         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
34040         via John W. Eaton <jwe@gnu.org>.
34041
34042 2010-01-09  Bruno Haible  <bruno@clisp.org>
34043
34044         getlogin_r: Small fixes.
34045         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
34046         succeeds.
34047         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
34048         before testing whether getlogin_r is declared. No need to set
34049         HAVE_DECL_GETLOGIN_R to 1.
34050         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
34051
34052 2010-01-09  Bruno Haible  <bruno@clisp.org>
34053
34054         * lib/unistd.in.h (getlogin_r): Add comment.
34055
34056 2010-01-09  Bruno Haible  <bruno@clisp.org>
34057
34058         Tests for module 'getlogin_r'.
34059         * modules/getlogin_r-tests: New file.
34060         * tests/test-getlogin_r.c: New file.
34061
34062 2010-01-09  Jim Meyering  <meyering@redhat.com>
34063
34064         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
34065         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
34066         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
34067
34068 2010-01-08  Simon Josefsson  <simon@josefsson.org>
34069
34070         * lib/dup2.c (rpl_dup2): Improve comment.
34071
34072 2010-01-08  Eric Blake  <ebb9@byu.net>
34073
34074         maint.mk: allow packages to add makefile @@ exceptions
34075         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
34076         (sc_makefile_check): Rename...
34077         (sc_makefile_at_at_check): ...to this, and use hook.
34078
34079         dup2: work around mingw bug
34080         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
34081         Reported by Simon Josefsson.
34082
34083 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
34084
34085         glob: Fix C++ compilation.
34086         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
34087         C++.
34088
34089 2010-01-07  Bruno Haible  <bruno@clisp.org>
34090
34091         Fix indentation of wctype.in.h, broken since 2007-01-06.
34092         * lib/wctype.in.h: Fix indentation of preprocessor directives.
34093
34094 2010-01-07  Bruno Haible  <bruno@clisp.org>
34095
34096         mbslen: Avoid collision with system function.
34097         * lib/string.in.h [MirBSD]: Include <wchar.h>.
34098         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
34099         * m4/mbslen.m4: New file.
34100         * modules/mbslen (Files): Add it.
34101         (configure.ac): Invoke gl_MBSLEN.
34102         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
34103         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
34104         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
34105         via Ian Beckwith <ianb@erislabs.net>.
34106
34107 2010-01-07  Bruno Haible  <bruno@clisp.org>
34108
34109         dirent: Document the last fix.
34110         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
34111
34112 2010-01-07  Bruno Haible  <bruno@clisp.org>
34113
34114         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
34115         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
34116         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
34117         va_list are defined.
34118         * doc/posix-headers/stdio.texi: Document the bug of missing types.
34119         Reported by Eric Blake.
34120
34121 2010-01-07  Bruno Haible  <bruno@clisp.org>
34122
34123         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
34124         * modules/xlist (Depends-on): Add 'list',
34125         * modules/xoset (Depends-on): Add 'oset'.
34126         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
34127
34128 2010-01-07  Bruno Haible  <bruno@clisp.org>
34129
34130         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
34131         * doc/posix-functions/strncasecmp.texi: Likewise.
34132
34133 2010-01-07  Bruno Haible  <bruno@clisp.org>
34134
34135         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
34136
34137 2010-01-07  John W. Eaton  <jwe@octave.org>
34138
34139         wctype: allow C++ use
34140         * lib/wctype.in.h: Add extern "C" block for C++.
34141
34142 2010-01-06  Eric Blake  <ebb9@byu.net>
34143
34144         maint.mk: detect incorrect GFDL usage
34145         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
34146
34147 2010-01-06  Jim Meyering  <meyering@redhat.com>
34148         and Eric Blake  <ebb9@byu.net>
34149
34150         maint.mk: ignore multi-line copyright in NEWS
34151         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
34152
34153 2010-01-06  Eric Blake  <ebb9@byu.net>
34154
34155         select: add missing dependency
34156         * modules/select-tests (Depends-on): Move sockets dependency...
34157         * modules/select (Depends-on): ...here.
34158         Reported by Ian Beckwith.
34159
34160         doc: regenerate INSTALL
34161         * doc/INSTALL: Reflect recent autoconf update.
34162         * doc/INSTALL.ISO: Likewise.
34163         * doc/INSTALL.UTF-8: Likewise.
34164
34165         pread: fix compilation on glibc
34166         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
34167         Reported by Ralf Wildenhues.
34168
34169         dirent: fix test failure
34170         * lib/dirent.in.h (includes): Guarantee ino_t.
34171         Reported by Ralf Wildenhues.
34172
34173 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
34174
34175         linkat, renameat: avoid bad free
34176         * lib/at-func2.c (at_func2): Fix typo.
34177         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
34178
34179 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34180
34181         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
34182         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
34183         to avoid failure of symlink test later.
34184
34185 2010-01-06  Eric Blake  <ebb9@byu.net>
34186
34187         stdio, unistd: guarantee ssize_t
34188         * lib/unistd.in.h (includes): Ensure that types required by POSIX
34189         2008 are exposed when needed.
34190         * lib/stdio.in.h (includes): Likewise.
34191         Reported by Ralf Wildenhues.
34192
34193 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
34194
34195         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
34196         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
34197         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
34198
34199 2010-01-06  Jim Meyering  <meyering@redhat.com>
34200
34201         readtokens: this module *does* require xalloc.h
34202         It uses only functions that were omitted by the old syntax-check rule.
34203         * lib/readtokens.c: Include "xalloc.h" once again.
34204         * modules/readtokens (Depends-on): Add xalloc.
34205         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
34206
34207 2010-01-05  Eric Blake  <ebb9@byu.net>
34208
34209         maint: support 'make announcement' from a VPATH build
34210         * top/maint.mk (announcement): Look for correct NEWS file.
34211
34212 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
34213
34214         utimens (fdutimens): ignore a negative FD, per contract
34215         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
34216         when we have a valid file descriptor.  Otherwise, using a brand
34217         new glibc (with just-patched futimens that now fails with EBADF)
34218         would cause this function to fail with ENOSYS.
34219         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
34220         See also http://bugzilla.redhat.com/552320.
34221
34222 2010-01-05  Eric Blake  <ebb9@byu.net>
34223
34224         strcase: document what it provides
34225         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
34226         gnulib module.
34227         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
34228         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
34229
34230 2010-01-05  Jim Meyering  <meyering@redhat.com>
34231
34232         maint: remove useless inclusions of "xalloc.h"
34233         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
34234         * lib/readtokens.c: Likewise.
34235         * lib/same.c: Likewise.
34236         * modules/getloadavg (Depends-on): Remove xalloc.
34237         * modules/readtokens: Likewise.
34238         * modules/same: Likewise.
34239
34240         maint.mk: include 4 more function names in alloca.h-checking regexp
34241         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
34242         regexp.  Before, we would give a false-positive (saying alloca.h
34243         is included unnecessarily) when the only uses involved omitted symbols.
34244
34245         xalloc.h: use consistent formatting
34246         * lib/xalloc.h: Move declarations to start in the first column.
34247
34248 2010-01-05  Eric Blake  <ebb9@byu.net>
34249
34250         mkdir: avoid xalloc
34251         * lib/mkdir.c (includes): Drop unused header.
34252         Reported by John W. Eaton.
34253
34254 2010-01-04  Jim Meyering  <meyering@redhat.com>
34255
34256         nl_langinfo: avoid configure-time syntax error
34257         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
34258         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
34259         the empty string.  Don't let that provoke a shell syntax error.
34260
34261         regcomp, regexec, fnmatch: avoid array bounds read error
34262         * lib/regcomp.c (build_equiv_class): From glibc:
34263         Use only the low 24 bits of a findidx return value as an index
34264         into the weights array.  Patch by Ulrich Drepper:
34265         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
34266         * lib/regexec.c (check_node_accept_bytes): Likewise.
34267         * lib/fnmatch_loop.c (FCT): Likewise.
34268
34269         regcomp: skip collseq lookup when there are no rules
34270         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
34271         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
34272
34273         regcomp: recognize ill-formed { } expressions
34274         * lib/regcomp.c (parse_dup_op): From glibc:
34275         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
34276
34277         regcomp: fix typo in comment
34278         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
34279         s/satisfy/satisfies/.
34280
34281         regcomp: sync from glibc: remove dead store
34282         * lib/regcomp.c (duplicate_node_closure): Remove useless
34283         search_duplicated_node call and dead store.
34284
34285         regcomp: sync from glibc; always use nl_langinfo
34286         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
34287         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
34288         * modules/regex (Depends-on): Add nl_langinfo.
34289
34290 2010-01-04  Eric Blake  <ebb9@byu.net>
34291
34292         fdopendir: fix configure test
34293         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
34294
34295 2010-01-01  Bruno Haible  <bruno@clisp.org>
34296
34297         wchar: Remove unused configure check.
34298         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
34299
34300 2010-01-01  Eric Blake  <ebb9@byu.net>
34301
34302         headers: make check of system header explicit
34303         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
34304         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
34305         ourselves.
34306         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
34307         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
34308         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
34309         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
34310         internals.
34311         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
34312         missing.
34313         Suggested by Bruno Haible.
34314
34315 2010-01-01  Jim Meyering  <meyering@redhat.com>
34316
34317         ChangeLog: tweak to eliminate unnecessary copyright line
34318         * ChangeLog: Remove a copyright line that was mistakenly updated
34319         by today's update-copyright run.  Reported by Eric Blake.
34320
34321         test-update-copyright: don't let envvar setting cause test failure
34322         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
34323
34324 2010-01-01  Bruno Haible  <bruno@clisp.org>
34325
34326         localename: Avoid gcc warning.
34327         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
34328         function if it is not used.
34329
34330 2010-01-01  Jim Meyering  <meyering@redhat.com>
34331
34332         update nearly all FSF copyright year lists to include 2010
34333         Use the same procedure as for 2009, outlined in
34334         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
34335
34336         version-etc: set COPYRIGHT_YEAR to 2010
34337         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
34338
34339 2009-12-31  Eric Blake  <ebb9@byu.net>
34340
34341         doc: correct availability of cygwin 1.5.x getopt
34342         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
34343         variables.
34344         * doc/posix-functions/opterr.texi (opterr): Likewise.
34345         * doc/posix-functions/optind.texi (optind): Likewise.
34346         * doc/posix-functions/optopt.texi (optopt): Likewise.
34347         * doc/posix-functions/tzname.texi (tzname): Likewise.
34348
34349         openat: update maintainer
34350         * modules/openat (Maintainer): Add myself.
34351
34352         utimens: avoid shadowing warning
34353         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
34354         buffers into one, to avoid shadowing, as well as avoiding a
34355         redundant stat.
34356         Reported by Jim Meyering.
34357
34358         test-dup2: avoid compiler warning
34359         * tests/test-dup2.c (is_inheritable): Only define if used.
34360
34361 2010-01-01  Bruno Haible  <bruno@clisp.org>
34362
34363         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
34364         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
34365         defined, use wctomb instead of wcrtomb.
34366
34367 2010-01-01  Bruno Haible  <bruno@clisp.org>
34368
34369         iconv: Reject native Solaris iconv.
34370         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
34371         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
34372
34373 2009-12-31  Bruno Haible  <bruno@clisp.org>
34374
34375         * tests/test-signal.c (main): Remove test of 'SIG'.
34376
34377 2009-12-31  Bruno Haible  <bruno@clisp.org>
34378
34379         spawn: Fix incomplete fix.
34380         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
34381         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
34382         warnings for GNULIB_POSIXCHECK again.
34383         Reported by Eric Blake.
34384
34385 2009-12-31  Bruno Haible  <bruno@clisp.org>
34386
34387         Avoid namespace pollution on glibc systems.
34388         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
34389         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
34390         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
34391         glibc systems.
34392
34393 2009-12-31  Bruno Haible  <bruno@clisp.org>
34394
34395         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
34396         (gl_REPLACE_WCHAR_H): Turn into a no-op.
34397         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
34398         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
34399         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
34400         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
34401         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
34402
34403 2009-12-31  Bruno Haible  <bruno@clisp.org>
34404
34405         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
34406         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
34407         afterwards.
34408
34409 2009-12-31  Bruno Haible  <bruno@clisp.org>
34410
34411         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
34412         SYS_UTSNAME_H.
34413
34414 2009-12-31  Bruno Haible  <bruno@clisp.org>
34415
34416         spawn: Fix misapplied patch.
34417         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
34418         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
34419         warnings for GNULIB_POSIXCHECK.
34420
34421 2009-12-31  Bruno Haible  <bruno@clisp.org>
34422
34423         times: Update after sys_times changed.
34424         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
34425         * modules/times (Files): Add it.
34426         (configure.ac): Invoke gl_FUNC_TIMES.
34427
34428 2009-12-31  Bruno Haible  <bruno@clisp.org>
34429
34430         Use AC_C_INLINE where necessary.
34431         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
34432         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
34433         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
34434         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
34435         * m4/mbfile.m4 (gl_MBFILE): Likewise.
34436         * m4/mbiter.m4 (gl_MBITER): Likewise.
34437         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
34438         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
34439         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
34440         * modules/u64 (configure.ac): Likewise.
34441
34442 2009-12-31  Bruno Haible  <bruno@clisp.org>
34443
34444         Use AC_C_INLINE instead of module 'inline' where possible.
34445         * modules/inline (Description): Clarify purpose.
34446         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
34447         * modules/count-one-bits (Depends-on): Remove inline.
34448         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
34449         * modules/openat (Depends-on): Remove inline.
34450         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
34451         instead of depending on module 'inline'.
34452         * modules/filevercmp (Depends-on, configure.ac): Likewise.
34453         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
34454         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
34455         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
34456         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
34457         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
34458         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
34459         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
34460         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
34461         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
34462         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
34463         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
34464         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
34465         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
34466         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
34467         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
34468         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
34469         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
34470         Likewise.
34471         * modules/unictype/property-ascii-hex-digit (Depends-on,
34472         configure.ac): Likewise.
34473         * modules/unictype/property-bidi-arabic-digit (Depends-on,
34474         configure.ac): Likewise.
34475         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
34476         configure.ac): Likewise.
34477         * modules/unictype/property-bidi-block-separator (Depends-on,
34478         configure.ac): Likewise.
34479         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
34480         configure.ac): Likewise.
34481         * modules/unictype/property-bidi-common-separator (Depends-on,
34482         configure.ac): Likewise.
34483         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
34484         Likewise.
34485         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
34486         configure.ac): Likewise.
34487         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
34488         configure.ac): Likewise.
34489         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
34490         configure.ac): Likewise.
34491         * modules/unictype/property-bidi-european-digit (Depends-on,
34492         configure.ac): Likewise.
34493         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
34494         configure.ac): Likewise.
34495         * modules/unictype/property-bidi-left-to-right (Depends-on,
34496         configure.ac): Likewise.
34497         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
34498         configure.ac): Likewise.
34499         * modules/unictype/property-bidi-other-neutral (Depends-on,
34500         configure.ac): Likewise.
34501         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
34502         Likewise.
34503         * modules/unictype/property-bidi-segment-separator (Depends-on,
34504         configure.ac): Likewise.
34505         * modules/unictype/property-bidi-whitespace (Depends-on,
34506         configure.ac): Likewise.
34507         * modules/unictype/property-combining (Depends-on, configure.ac):
34508         Likewise.
34509         * modules/unictype/property-composite (Depends-on, configure.ac):
34510         Likewise.
34511         * modules/unictype/property-currency-symbol (Depends-on,
34512         configure.ac): Likewise.
34513         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
34514         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
34515         Likewise.
34516         * modules/unictype/property-default-ignorable-code-point (Depends-on,
34517         configure.ac): Likewise.
34518         * modules/unictype/property-deprecated (Depends-on, configure.ac):
34519         Likewise.
34520         * modules/unictype/property-diacritic (Depends-on, configure.ac):
34521         Likewise.
34522         * modules/unictype/property-extender (Depends-on, configure.ac):
34523         Likewise.
34524         * modules/unictype/property-format-control (Depends-on, configure.ac):
34525         Likewise.
34526         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
34527         Likewise.
34528         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
34529         Likewise.
34530         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
34531         Likewise.
34532         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
34533         Likewise.
34534         * modules/unictype/property-hyphen (Depends-on, configure.ac):
34535         Likewise.
34536         * modules/unictype/property-id-continue (Depends-on, configure.ac):
34537         Likewise.
34538         * modules/unictype/property-id-start (Depends-on, configure.ac):
34539         Likewise.
34540         * modules/unictype/property-ideographic (Depends-on, configure.ac):
34541         Likewise.
34542         * modules/unictype/property-ids-binary-operator (Depends-on,
34543         configure.ac): Likewise.
34544         * modules/unictype/property-ids-trinary-operator (Depends-on,
34545         configure.ac): Likewise.
34546         * modules/unictype/property-ignorable-control (Depends-on,
34547         configure.ac): Likewise.
34548         * modules/unictype/property-iso-control (Depends-on, configure.ac):
34549         Likewise.
34550         * modules/unictype/property-join-control (Depends-on, configure.ac):
34551         Likewise.
34552         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
34553         Likewise.
34554         * modules/unictype/property-line-separator (Depends-on, configure.ac):
34555         Likewise.
34556         * modules/unictype/property-logical-order-exception (Depends-on,
34557         configure.ac): Likewise.
34558         * modules/unictype/property-lowercase (Depends-on, configure.ac):
34559         Likewise.
34560         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
34561         * modules/unictype/property-non-break (Depends-on, configure.ac):
34562         Likewise.
34563         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
34564         Likewise.
34565         * modules/unictype/property-numeric (Depends-on, configure.ac):
34566         Likewise.
34567         * modules/unictype/property-other-alphabetic (Depends-on,
34568         configure.ac): Likewise.
34569         * modules/unictype/property-other-default-ignorable-code-point
34570         (Depends-on, configure.ac): Likewise.
34571         * modules/unictype/property-other-grapheme-extend (Depends-on,
34572         configure.ac): Likewise.
34573         * modules/unictype/property-other-id-continue (Depends-on,
34574         configure.ac): Likewise.
34575         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
34576         Likewise.
34577         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
34578         Likewise.
34579         * modules/unictype/property-other-math (Depends-on, configure.ac):
34580         Likewise.
34581         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
34582         Likewise.
34583         * modules/unictype/property-paired-punctuation (Depends-on,
34584         configure.ac): Likewise.
34585         * modules/unictype/property-paragraph-separator (Depends-on,
34586         configure.ac): Likewise.
34587         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
34588         Likewise.
34589         * modules/unictype/property-pattern-white-space (Depends-on,
34590         configure.ac): Likewise.
34591         * modules/unictype/property-private-use (Depends-on, configure.ac):
34592         Likewise.
34593         * modules/unictype/property-punctuation (Depends-on, configure.ac):
34594         Likewise.
34595         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
34596         Likewise.
34597         * modules/unictype/property-radical (Depends-on, configure.ac):
34598         Likewise.
34599         * modules/unictype/property-sentence-terminal (Depends-on,
34600         configure.ac): Likewise.
34601         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
34602         Likewise.
34603         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
34604         * modules/unictype/property-terminal-punctuation (Depends-on,
34605         configure.ac): Likewise.
34606         * modules/unictype/property-titlecase (Depends-on, configure.ac):
34607         Likewise.
34608         * modules/unictype/property-unassigned-code-value (Depends-on,
34609         configure.ac): Likewise.
34610         * modules/unictype/property-unified-ideograph (Depends-on,
34611         configure.ac): Likewise.
34612         * modules/unictype/property-uppercase (Depends-on, configure.ac):
34613         Likewise.
34614         * modules/unictype/property-variation-selector (Depends-on,
34615         configure.ac): Likewise.
34616         * modules/unictype/property-white-space (Depends-on, configure.ac):
34617         Likewise.
34618         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
34619         Likewise.
34620         * modules/unictype/property-xid-start (Depends-on, configure.ac):
34621         Likewise.
34622         * modules/unictype/property-zero-width (Depends-on, configure.ac):
34623         Likewise.
34624         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
34625         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
34626         Likewise.
34627
34628 2009-12-31  Bruno Haible  <bruno@clisp.org>
34629
34630         Remove unnecessary AC_C_INLINE invocation.
34631         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
34632         since 2009-08-21.
34633
34634 2009-12-31  Jim Meyering  <meyering@redhat.com>
34635
34636         maint.mk: don't require explicit gpg_key_ID in cfg.mk
34637         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
34638         With this change, we can all remove the gpg_key_ID = ... definition
34639         from our respective cfg.mk files.
34640
34641         maint.mk: create announcement template in ~/, not in /tmp
34642         * top/maint.mk (emit_upload_commands): Adjust.
34643         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
34644         Remove temporary file, .ci-msg.
34645
34646 2009-12-31  Eric Blake  <ebb9@byu.net>
34647
34648         link-warning: always build headers with link warnings
34649         * modules/arpa_inet (Makefile.am): Always build replacement
34650         header.
34651         * modules/ctype (Makefile.am): Likewise.
34652         * modules/dirent (Makefile.am): Likewise.
34653         * modules/inttypes (Makefile.am): Likewise.
34654         * modules/langinfo (Makefile.am): Likewise.
34655         * modules/locale (Makefile.am): Likewise.
34656         * modules/spawn (Makefile.am): Likewise.
34657         * modules/sys_file (Makefile.am): Likewise.
34658         * modules/sys_ioctl (Makefile.am): Likewise.
34659         * modules/sys_select (Makefile.am): Likewise.
34660         * modules/sys_socket (Makefile.am): Likewise.
34661         * modules/sys_times (Makefile.am): Likewise.
34662         * modules/sys_utsname (Makefile.am): Likewise.
34663         * modules/sys_wait (Makefile.am): Likewise.
34664         * modules/wchar (Makefile.am): Likewise.
34665         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
34666         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
34667         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
34668         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
34669         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
34670         Likewise.
34671         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
34672         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
34673         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
34674         Likewise.
34675         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
34676         Likewise.
34677         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
34678         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
34679         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
34680         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
34681         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
34682         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
34683         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
34684         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
34685         (gl_WCHAR_H_DEFAULTS): Likewise.
34686
34687 2009-12-31  Eric Blake  <ebb9@byu.net>
34688
34689         signal, spawn: use link warnings
34690         * lib/signal.in.h (sigset_t): Make unconditional.
34691         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
34692         (sigpending, sigprocmask, sigaction): Add link warnings.
34693         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
34694         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
34695         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
34696         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
34697         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
34698         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
34699         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
34700         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
34701         (posix_spawn_file_actions_destroy)
34702         (posix_spawn_file_actions_addopen)
34703         (posix_spawn_file_actions_addclose)
34704         (posix_spawn_file_actions_adddup2): Likewise.
34705         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
34706         * tests/test-signal.c (main): Enhance test.
34707
34708         spawn: improve wrapper support
34709         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
34710         (gl_SPAWN_H_DEFAULTS): New defaults.
34711         * modules/spawn (Makefile.am): Substitute them.
34712         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
34713         Only declare if missing or broken.
34714
34715         sys_times, sys_utsname: use include_next
34716         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
34717         header.
34718         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
34719         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
34720         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
34721         * modules/sys_times (Depends-on): Add include_next.
34722         (Makefile.am): Substitute additional values.
34723         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
34724         * lib/sys_times.in.h (includes): Include native header, if
34725         available.
34726         * lib/sys_utsname.in.h (includes): Likewise.
34727         * tests/test-sys_times.c (main): Enhance test.
34728
34729         fdutimensat: revert prior patch
34730         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
34731         utimens.h.
34732         Reported by Bruno Haible.
34733
34734 2009-12-30  Eric Blake  <ebb9@byu.net>
34735
34736         sys_wait: drop link-warning dependency
34737         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
34738         link-warning efforts.
34739         * lib/sys_wait.in.h: Likewise.
34740
34741         fdutimensat: remove bogus dependency
34742         * modules/fdutimensat (Depends-on): Drop inline.
34743
34744         unistd: fix typo
34745         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
34746
34747 2009-12-30  Bruno Haible  <bruno@clisp.org>
34748
34749         Fix compilation error with Solaris cc.
34750         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
34751         * lib/unicase/u16-is-invariant.c: Likewise.
34752         * lib/unicase/u32-is-invariant.c: Likewise.
34753         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
34754
34755 2009-12-30  Bruno Haible  <bruno@clisp.org>
34756
34757         Fix test crash.
34758         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
34759         locales.
34760         Reported by Simon Josefsson <simon@josefsson.org>.
34761
34762 2009-12-30  Bruno Haible  <bruno@clisp.org>
34763
34764         Fix compilation error on most platforms.
34765         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
34766         Reported by Simon Josefsson <simon@josefsson.org>
34767         and Nelson H. F. Beebe <beebe@math.utah.edu>.
34768
34769 2009-12-30  Eric Blake  <ebb9@byu.net>
34770
34771         futimens, utimensat: work around ntfs-3g bug
34772         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
34773         a ctime bug is present, and expand workaround to cover ntfs-3g.
34774         * lib/utimens.c (fdutimens, lutimens): Likewise.
34775         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
34776         (validate_timespec): Adjust return value.
34777         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
34778         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
34779         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
34780
34781 2009-12-29  Eric Blake  <ebb9@byu.net>
34782
34783         link-warning: make usage consistent
34784         * modules/ctype (Depends-on): Add link-warning.
34785         (Makefile.am): Update rules accordingly.
34786         * modules/langinfo (Depends-on, Makefile.am): Likewise.
34787         * modules/locale (Depends-on, Makefile.am): Likewise.
34788         * modules/sys_file (Makefile.am): Likewise.
34789         * modules/getopt-posix (Makefile.am): Delete unused link warning
34790         efforts.
34791         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
34792         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
34793         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
34794         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
34795
34796         stdio: remove unused variables
34797         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
34798         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
34799         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
34800
34801         tests: test more substitute headers
34802         * modules/ctype-tests: New file.
34803         * modules/dirent-tests: Likewise.
34804         * modules/spawn-tests: Likewise.
34805         * modules/sys_file-tests: Likewise.
34806         * modules/sys_ioctl-tests: Likewise.
34807         * modules/sys_wait-tests: Likewise.
34808         * tests/test-ctype.c: Likewise.
34809         * tests/test-dirent.c: Likewise.
34810         * tests/test-spawn.c: Likewise.
34811         * tests/test-sys_file.c: Likewise.
34812         * tests/test-sys_ioctl.c: Likewise.
34813         * tests/test-sys_wait.c: Likewise.
34814         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
34815         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
34816         whether or not flock is in use.
34817
34818         tests: remove License section from module
34819         * modules/arpa_inet-tests: Remove unneeded section.
34820         * modules/byteswap-tests: Likewise.
34821         * modules/ceilf-tests: Likewise.
34822         * modules/ceill-tests: Likewise.
34823         * modules/crypto/des-tests: Likewise.
34824         * modules/crypto/gc-arcfour-tests: Likewise.
34825         * modules/crypto/gc-arctwo-tests: Likewise.
34826         * modules/crypto/gc-des-tests: Likewise.
34827         * modules/crypto/gc-hmac-md5-tests: Likewise.
34828         * modules/crypto/gc-hmac-sha1-tests: Likewise.
34829         * modules/crypto/gc-md2-tests: Likewise.
34830         * modules/crypto/gc-md4-tests: Likewise.
34831         * modules/crypto/gc-md5-tests: Likewise.
34832         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
34833         * modules/crypto/gc-rijndael-tests: Likewise.
34834         * modules/crypto/gc-sha1-tests: Likewise.
34835         * modules/crypto/gc-tests: Likewise.
34836         * modules/crypto/md2-tests: Likewise.
34837         * modules/crypto/md4-tests: Likewise.
34838         * modules/fcntl-h-tests: Likewise.
34839         * modules/floorf-tests: Likewise.
34840         * modules/floorl-tests: Likewise.
34841         * modules/frexp-nolibm-tests: Likewise.
34842         * modules/frexp-tests: Likewise.
34843         * modules/frexpl-nolibm-tests: Likewise.
34844         * modules/frexpl-tests: Likewise.
34845         * modules/getaddrinfo-tests: Likewise.
34846         * modules/inttypes-tests: Likewise.
34847         * modules/isfinite-tests: Likewise.
34848         * modules/isinf-tests: Likewise.
34849         * modules/ldexpl-tests: Likewise.
34850         * modules/locale-tests: Likewise.
34851         * modules/math-tests: Likewise.
34852         * modules/netdb-tests: Likewise.
34853         * modules/netinet_in-tests: Likewise.
34854         * modules/printf-frexp-tests: Likewise.
34855         * modules/printf-frexpl-tests: Likewise.
34856         * modules/priv-set-tests: Likewise.
34857         * modules/random_r-tests: Likewise.
34858         * modules/round-tests: Likewise.
34859         * modules/roundf-tests: Likewise.
34860         * modules/roundl-tests: Likewise.
34861         * modules/search-tests: Likewise.
34862         * modules/select-tests: Likewise.
34863         * modules/signal-tests: Likewise.
34864         * modules/stdbool-tests: Likewise.
34865         * modules/stddef-tests: Likewise.
34866         * modules/stdint-tests: Likewise.
34867         * modules/stdio-tests: Likewise.
34868         * modules/stdlib-tests: Likewise.
34869         * modules/string-tests: Likewise.
34870         * modules/strings-tests: Likewise.
34871         * modules/sys_select-tests: Likewise.
34872         * modules/sys_socket-tests: Likewise.
34873         * modules/sys_stat-tests: Likewise.
34874         * modules/sys_time-tests: Likewise.
34875         * modules/sys_utsname-tests: Likewise.
34876         * modules/sysexits-tests: Likewise.
34877         * modules/time-tests: Likewise.
34878         * modules/trunc-tests: Likewise.
34879         * modules/truncf-tests: Likewise.
34880         * modules/truncl-tests: Likewise.
34881         * modules/tsearch-tests: Likewise.
34882         * modules/unistd-tests: Likewise.
34883         * modules/wchar-tests: Likewise.
34884         * modules/wctype-tests: Likewise.
34885
34886         tests: fix license on several tests
34887         * tests/test-des.c: Update to GPLv3+.
34888         * tests/test-flock.c: Likewise.
34889         * tests/test-fsync.c: Likewise.
34890         * tests/test-futimens.h: Likewise.
34891         * tests/test-gc-arcfour.c: Likewise.
34892         * tests/test-gc-arctwo.c: Likewise.
34893         * tests/test-gc-des.c: Likewise.
34894         * tests/test-gc-hmac-md5.c: Likewise.
34895         * tests/test-gc-hmac-sha1.c: Likewise.
34896         * tests/test-gc-md2.c: Likewise.
34897         * tests/test-gc-md4.c: Likewise.
34898         * tests/test-gc-md5.c: Likewise.
34899         * tests/test-gc-pbkdf2-sha1.c: Likewise.
34900         * tests/test-gc-rijndael.c: Likewise.
34901         * tests/test-gc-sha1.c: Likewise.
34902         * tests/test-gc.c: Likewise.
34903         * tests/test-getcwd.c: Likewise.
34904         * tests/test-link.c: Likewise.
34905         * tests/test-link.h: Likewise.
34906         * tests/test-lutimens.h: Likewise.
34907         * tests/test-md2.c: Likewise.
34908         * tests/test-md4.c: Likewise.
34909         * tests/test-mkdir.h: Likewise.
34910         * tests/test-rename.c: Likewise.
34911         * tests/test-rename.h: Likewise.
34912         * tests/test-safe-alloc.c: Likewise.
34913         * tests/test-utimens-common.h: Likewise.
34914         * tests/test-utimens.h: Likewise.
34915
34916         maint: sync license texts
34917         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
34918         * doc/gpl-3.0.texi: Revert copyright year update.
34919         * doc/lgpl-3.0.texi: Likewise.
34920
34921 2009-12-29  Jim Meyering  <meyering@redhat.com>
34922
34923         update nearly all FSF copyright year lists to include 2009
34924         The files named by the following are exempted:
34925             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
34926               test -f "$dst" && { echo "$dst"; continue; }
34927               test -d "$dst" || continue
34928               echo "$dst"/$(basename "$src")
34929             done > exempt
34930             git ls-files tests/unictype >> exempt
34931         In the remaining files, convert to all-interval notation if
34932         - there is already at least one year interval like 2000-2003
34933         - the file is maintained by me
34934         - the file is in lib/uni*/, where that style already prevails
34935         Otherwise, use update-copyright's default.
34936
34937 2009-12-29  Simon Josefsson  <simon@josefsson.org>
34938         and Eric Blake  <ebb9@byu.net>
34939
34940         tests: don't require debug system() to pass
34941         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
34942         * tests/test-rmdir.h (test_rmdir_func): Likewise.
34943         * tests/test-unlink.h (test_unlink_func): Likewise.
34944         * tests/test-fstatat.c (main): ...into callers.
34945         * tests/test-lstat.c (main): Likewise.
34946         * tests/test-rmdir.c (main): Likewise.
34947         * tests/test-unlink.c (main): Likewise.
34948         * tests/test-unlinkat.c (main): Likewise.
34949         * tests/test-areadlink-with-size.c (main): Don't require a
34950         debug-only system call to pass, aiding cross-testing to mingw.
34951         * tests/test-areadlink.c (main): Likewise.
34952         * tests/test-areadlinkat-with-size.c (main): Likewise.
34953         * tests/test-areadlinkat.c (main): Likewise.
34954         * tests/test-canonicalize-lgpl.c (main): Likewise.
34955         * tests/test-canonicalize.c (main): Likewise.
34956         * tests/test-chown.c (main): Likewise.
34957         * tests/test-fchownat.c (main): Likewise.
34958         * tests/test-lchown.c (main): Likewise.
34959         * tests/test-fdutimensat.c (main): Likewise.
34960         * tests/test-futimens.c (main): Likewise.
34961         * tests/test-link.c (main): Likewise.
34962         * tests/test-linkat.c (main): Likewise.
34963         * tests/test-mkdir.c (main): Likewise.
34964         * tests/test-mkdirat.c (main): Likewise.
34965         * tests/test-mkfifo.c (main): Likewise.
34966         * tests/test-mkfifoat.c (main): Likewise.
34967         * tests/test-mknod.c (main): Likewise.
34968         * tests/test-readlink.c (main): Likewise.
34969         * tests/test-remove.c (main): Likewise.
34970         * tests/test-rename.c (main): Likewise.
34971         * tests/test-renameat.c (main): Likewise.
34972         * tests/test-symlink.c (main): Likewise.
34973         * tests/test-symlinkat.c (main): Likewise.
34974         * tests/test-utimens.c (main): Likewise.
34975         * tests/test-utimensat.c (main): Likewise.
34976
34977 2009-12-29  Simon Josefsson  <simon@josefsson.org>
34978
34979         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
34980         on $(UNUSED_PARAMETER_H) to avoid build failure.
34981
34982 2009-12-28  Jim Meyering  <meyering@redhat.com>
34983
34984         update-copyright: you may specify a max. line length other than 72
34985         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
34986
34987         maint: use consistent FSF copyright line syntax
34988         * lib/posixtm.c: Add missing comma in FSF copyright line.
34989         * lib/posixtm.h: Likewise.
34990         * lib/getugroups.c: Add missing ", Inc.".
34991
34992         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
34993         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
34994         FSF copyright line.  Remove trailing blanks.
34995
34996 2009-12-28  Eric Blake  <ebb9@byu.net>
34997
34998         test-dup2: reduce dependencies
34999         * modules/cloexec (Configure.ac): Set witness.
35000         * modules/dup2-tests (Depends-on): Drop cloexec.
35001         * tests/test-dup2.c (main): Skip portion of test if cloexec module
35002         not present.
35003         Suggested by Bruno Haible.
35004
35005 2009-12-26  Bruno Haible  <bruno@clisp.org>
35006
35007         Remove an unneeded dependency.
35008         * modules/fseterr (Depends-on): Remove dup2.
35009
35010 2009-12-26  Eric Blake  <ebb9@byu.net>
35011
35012         tests: use macros.h in more places
35013         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
35014         (ASSERT_STREAM): Provide default of stderr.
35015         * tests/test-dirent-safer.c: Include macros.h, using alternate
35016         stream for assertions.
35017         * tests/test-dup-safer.c: Likewise.
35018         * tests/test-freopen-safer.c: Likewise.
35019         * tests/test-getopt.c: Likewise.
35020         * tests/test-openat-safer.c: Likewise.
35021         * tests/test-pipe.c: Likewise.
35022         * tests/test-popen-safer.c: Likewise.
35023         * modules/dirent-safer-tests (Files): Include macros.h.
35024         * modules/unistd-safer-tests (Files): Likewise.
35025         * modules/freopen-safer-tests (Files): Likewise.
35026         * modules/getopt-posix-tests (Files): Likewise.
35027         * modules/openat-safer-tests (Files): Likewise.
35028         * modules/pipe-tests (Files): Likewise.
35029
35030 2009-12-26  Bruno Haible  <bruno@clisp.org>
35031
35032         javacomp: Portability fix.
35033         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
35034         that it also works on Solaris.
35035
35036 2009-12-26  Bruno Haible  <bruno@clisp.org>
35037
35038         localename: Fix storage allocation of gl_locale_name_thread's result.
35039         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
35040         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
35041         all platforms that have 'uselocale'.
35042         (gl_locale_name_thread_unsafe): New function, extracted from
35043         gl_locale_name_thread.
35044         (gl_locale_name_thread): Call struniq on all platforms that have
35045         'uselocale'.
35046         * tests/test-localename.c (test_locale_name_thread): Check that the
35047         resulting strings are permanently allocated.
35048         * modules/localename-tests (Depends-on): Add strdup.
35049
35050 2009-12-26  Bruno Haible  <bruno@clisp.org>
35051
35052         * tests/test-localename.c (categories): Fill in the strings.
35053
35054 2009-12-26  Jim Meyering  <meyering@redhat.com>
35055
35056         isdir: complete the removal of m4/isdir.m4
35057         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
35058
35059         isdir: clean up, since at least grep still uses it
35060         * lib/isdir.c: Include "isdir.h".
35061         (S_ISDIR): Remove now-unneeded definition.
35062         * modules/isdir (Files): Add lib/isdir.h.
35063         * lib/isdir.h: New file, with declaration.
35064         * m4/isdir.m4: Remove file -- unneeded.
35065
35066 2009-12-25  Bruno Haible  <bruno@clisp.org>
35067
35068         selinux-h: Make generated .h files standalone.
35069         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
35070         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
35071         * lib/se-selinux.in.h: Likewise.
35072         * modules/selinux-h (Depends-on): Add unused-parameter.
35073         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
35074         selinux/selinux.h and selinux/context.h.
35075         Suggested by Eric Blake.
35076
35077 2009-12-25  Bruno Haible  <bruno@clisp.org>
35078
35079         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
35080         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
35081         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
35082         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
35083         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
35084
35085 2009-12-24  Bruno Haible  <bruno@clisp.org>
35086
35087         openat: Fix warning.
35088         * lib/openat-proc.c: Include <unistd.h>.
35089
35090 2009-12-24  Bruno Haible  <bruno@clisp.org>
35091
35092         New module 'unused-parameter'.
35093         * build-aux/unused-parameter.h: New file, extracted from earlier
35094         gnulib-common.m4.
35095         * modules/unused-parameter: New file.
35096         * lib/unistr.h: Include unused-parameter.h.
35097         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
35098         _GL_UNUSED.
35099         * modules/unistr/base (Depends-on): Add unused-parameter.
35100
35101 2009-12-24  Bruno Haible  <bruno@clisp.org>
35102
35103         Add missing dependencies to 'extensions' module.
35104         * m4/extensions.m4: Add comment.
35105         * modules/accept4 (Depends-on): Add extensions.
35106         * modules/dup3 (Depends-on): Likewise.
35107         * modules/fcntl (Depends-on): Likewise.
35108         * modules/futimens (Depends-on): Likewise.
35109         * modules/mknod (Depends-on): Likewise.
35110         * modules/pipe2 (Depends-on): Likewise.
35111         * modules/stat-time (Depends-on): Likewise.
35112         * modules/strcasestr-simple (Depends-on): Likewise.
35113         * modules/strsignal (Depends-on): Likewise.
35114         * modules/utimensat (Depends-on): Likewise.
35115         * modules/localcharset (Depends-on): Likewise. Needed because of
35116         gl_FCNTL_O_FLAGS.
35117         * modules/wcrtomb (Depends-on): Likewise. Needed because of
35118         AC_TYPE_MBSTATE_T.
35119         * modules/wcsnrtombs (Depends-on): Likewise.
35120         * modules/wcsrtombs (Depends-on): Likewise.
35121
35122 2009-12-24  Bruno Haible  <bruno@clisp.org>
35123
35124         binary-io: Avoid gcc warning due to SET_BINARY.
35125         * lib/binary-io.h (SET_BINARY): Cast the result to void.
35126         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
35127
35128 2009-12-24  Bruno Haible  <bruno@clisp.org>
35129
35130         Avoid future namespace pollution on glibc systems.
35131         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
35132         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
35133         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
35134         glibc systems.
35135
35136 2009-12-24  Bruno Haible  <bruno@clisp.org>
35137
35138         Refactor common macros used in tests.
35139         * tests/macros.h: New file.
35140         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
35141         and/or <stdlib.h>, if appropriate.
35142         (ASSERT, SIZEOF): Remove macros.
35143         * tests/test-areadlink-with-size.c: Likewise.
35144         * tests/test-areadlinkat.c: Likewise.
35145         * tests/test-areadlinkat-with-size.c: Likewise.
35146         * tests/test-argmatch.c: Likewise.
35147         * tests/test-argv-iter.c: Likewise.
35148         * tests/test-array-mergesort.c: Likewise.
35149         * tests/test-array_list.c: Likewise.
35150         * tests/test-array_oset.c: Likewise.
35151         * tests/test-avltree_list.c: Likewise.
35152         * tests/test-avltree_oset.c: Likewise.
35153         * tests/test-avltreehash_list.c: Likewise.
35154         * tests/test-base64.c: Likewise.
35155         * tests/test-binary-io.c: Likewise.
35156         * tests/test-bitrotate.c: Likewise.
35157         * tests/test-btowc.c: Likewise.
35158         * tests/test-byteswap.c: Likewise.
35159         * tests/test-c-ctype.c: Likewise.
35160         * tests/test-c-stack.c: Likewise.
35161         * tests/test-c-strcasecmp.c: Likewise.
35162         * tests/test-c-strcasestr.c: Likewise.
35163         * tests/test-c-strncasecmp.c: Likewise.
35164         * tests/test-c-strstr.c: Likewise.
35165         * tests/test-canonicalize-lgpl.c: Likewise.
35166         * tests/test-canonicalize.c: Likewise.
35167         * tests/test-carray_list.c: Likewise.
35168         * tests/test-ceilf1.c: Likewise.
35169         * tests/test-ceilf2.c: Likewise.
35170         * tests/test-ceill.c: Likewise.
35171         * tests/test-chown.c: Likewise.
35172         * tests/test-cloexec.c: Likewise.
35173         * tests/test-copy-acl.c: Likewise.
35174         * tests/test-copy-file.c: Likewise.
35175         * tests/test-count-one-bits.c: Likewise.
35176         * tests/test-dprintf-posix.c: Likewise.
35177         * tests/test-dup2.c: Likewise.
35178         * tests/test-dup3.c: Likewise.
35179         * tests/test-duplocale.c: Likewise.
35180         * tests/test-fbufmode.c: Likewise.
35181         * tests/test-fchdir.c: Likewise.
35182         * tests/test-fchownat.c: Likewise.
35183         * tests/test-fcntl-safer.c: Likewise.
35184         * tests/test-fcntl.c: Likewise.
35185         * tests/test-fdopendir.c: Likewise.
35186         * tests/test-fdutimensat.c: Likewise.
35187         * tests/test-fflush2.c: Likewise.
35188         * tests/test-file-has-acl.c: Likewise.
35189         * tests/test-filevercmp.c: Likewise.
35190         * tests/test-flock.c: Likewise.
35191         * tests/test-floorf1.c: Likewise.
35192         * tests/test-floorf2.c: Likewise.
35193         * tests/test-floorl.c: Likewise.
35194         * tests/test-fnmatch.c: Likewise.
35195         * tests/test-fopen.h: Likewise.
35196         * tests/test-fpending.c: Likewise.
35197         * tests/test-fprintf-posix.c: Likewise.
35198         * tests/test-fpurge.c: Likewise.
35199         * tests/test-freadable.c: Likewise.
35200         * tests/test-freadahead.c: Likewise.
35201         * tests/test-freading.c: Likewise.
35202         * tests/test-freadptr.c: Likewise.
35203         * tests/test-freadptr2.c: Likewise.
35204         * tests/test-freadseek.c: Likewise.
35205         * tests/test-freopen.c: Likewise.
35206         * tests/test-frexp.c: Likewise.
35207         * tests/test-frexpl.c: Likewise.
35208         * tests/test-fseek.c: Likewise.
35209         * tests/test-fseeko.c: Likewise.
35210         * tests/test-fstatat.c: Likewise.
35211         * tests/test-fstrcmp.c: Likewise.
35212         * tests/test-fsync.c: Likewise.
35213         * tests/test-ftell.c: Likewise.
35214         * tests/test-ftello.c: Likewise.
35215         * tests/test-func.c: Likewise.
35216         * tests/test-futimens.c: Likewise.
35217         * tests/test-fwritable.c: Likewise.
35218         * tests/test-fwriting.c: Likewise.
35219         * tests/test-getcwd.c: Likewise.
35220         * tests/test-getdate.c: Likewise.
35221         * tests/test-getdelim.c: Likewise.
35222         * tests/test-getdtablesize.c: Likewise.
35223         * tests/test-getgroups.c: Likewise.
35224         * tests/test-getline.c: Likewise.
35225         * tests/test-getndelim2.c: Likewise.
35226         * tests/test-glob.c: Likewise.
35227         * tests/test-hash.c: Likewise.
35228         * tests/test-i-ring.c: Likewise.
35229         * tests/test-iconv-utf.c: Likewise.
35230         * tests/test-iconv.c: Likewise.
35231         * tests/test-idpriv-drop.c: Likewise.
35232         * tests/test-idpriv-droptemp.c: Likewise.
35233         * tests/test-inet_ntop.c: Likewise.
35234         * tests/test-inet_pton.c: Likewise.
35235         * tests/test-isblank.c: Likewise.
35236         * tests/test-isfinite.c: Likewise.
35237         * tests/test-isinf.c: Likewise.
35238         * tests/test-isnan.c: Likewise.
35239         * tests/test-isnand.h: Likewise.
35240         * tests/test-isnanf.h: Likewise.
35241         * tests/test-isnanl.h: Likewise.
35242         * tests/test-lchown.c: Likewise.
35243         * tests/test-ldexpl.c: Likewise.
35244         * tests/test-link.c: Likewise.
35245         * tests/test-linkat.c: Likewise.
35246         * tests/test-linked_list.c: Likewise.
35247         * tests/test-linkedhash_list.c: Likewise.
35248         * tests/test-localename.c: Likewise.
35249         * tests/test-lseek.c: Likewise.
35250         * tests/test-lstat.c: Likewise.
35251         * tests/test-mbmemcasecmp.c: Likewise.
35252         * tests/test-mbmemcasecoll.c: Likewise.
35253         * tests/test-mbrtowc.c: Likewise.
35254         * tests/test-mbscasecmp.c: Likewise.
35255         * tests/test-mbscasestr1.c: Likewise.
35256         * tests/test-mbscasestr2.c: Likewise.
35257         * tests/test-mbscasestr3.c: Likewise.
35258         * tests/test-mbscasestr4.c: Likewise.
35259         * tests/test-mbschr.c: Likewise.
35260         * tests/test-mbscspn.c: Likewise.
35261         * tests/test-mbsinit.c: Likewise.
35262         * tests/test-mbsncasecmp.c: Likewise.
35263         * tests/test-mbsnrtowcs.c: Likewise.
35264         * tests/test-mbspbrk.c: Likewise.
35265         * tests/test-mbspcasecmp.c: Likewise.
35266         * tests/test-mbsrchr.c: Likewise.
35267         * tests/test-mbsrtowcs.c: Likewise.
35268         * tests/test-mbsspn.c: Likewise.
35269         * tests/test-mbsstr1.c: Likewise.
35270         * tests/test-mbsstr2.c: Likewise.
35271         * tests/test-mbsstr3.c: Likewise.
35272         * tests/test-memchr.c: Likewise.
35273         * tests/test-memchr2.c: Likewise.
35274         * tests/test-memcmp.c: Likewise.
35275         * tests/test-memmem.c: Likewise.
35276         * tests/test-memrchr.c: Likewise.
35277         * tests/test-mkdir.c: Likewise.
35278         * tests/test-mkdirat.c: Likewise.
35279         * tests/test-mkfifo.c: Likewise.
35280         * tests/test-mkfifoat.c: Likewise.
35281         * tests/test-mknod.c: Likewise.
35282         * tests/test-nanosleep.c: Likewise.
35283         * tests/test-nl_langinfo.c: Likewise.
35284         * tests/test-obstack-printf.c: Likewise.
35285         * tests/test-open.c: Likewise.
35286         * tests/test-openat.c: Likewise.
35287         * tests/test-pipe-filter-gi1.c: Likewise.
35288         * tests/test-pipe-filter-gi2-main.c: Likewise.
35289         * tests/test-pipe-filter-ii1.c: Likewise.
35290         * tests/test-pipe-filter-ii2-main.c: Likewise.
35291         * tests/test-pipe2.c: Likewise.
35292         * tests/test-popen.h: Likewise.
35293         * tests/test-posixtm.c: Likewise.
35294         * tests/test-pread.c: Likewise.
35295         * tests/test-printf-frexp.c: Likewise.
35296         * tests/test-printf-frexpl.c: Likewise.
35297         * tests/test-printf-posix.c: Likewise.
35298         * tests/test-priv-set.c: Likewise.
35299         * tests/test-quotearg.c: Likewise.
35300         * tests/test-random_r.c: Likewise.
35301         * tests/test-rawmemchr.c: Likewise.
35302         * tests/test-rbtree_list.c: Likewise.
35303         * tests/test-rbtree_oset.c: Likewise.
35304         * tests/test-rbtreehash_list.c: Likewise.
35305         * tests/test-readlink.c: Likewise.
35306         * tests/test-remove.c: Likewise.
35307         * tests/test-rename.c: Likewise.
35308         * tests/test-renameat.c: Likewise.
35309         * tests/test-rmdir.c: Likewise.
35310         * tests/test-round1.c: Likewise.
35311         * tests/test-roundf1.c: Likewise.
35312         * tests/test-roundl.c: Likewise.
35313         * tests/test-safe-alloc.c: Likewise.
35314         * tests/test-sameacls.c: Likewise.
35315         * tests/test-set-mode-acl.c: Likewise.
35316         * tests/test-setenv.c: Likewise.
35317         * tests/test-sigaction.c: Likewise.
35318         * tests/test-signbit.c: Likewise.
35319         * tests/test-sleep.c: Likewise.
35320         * tests/test-snprintf-posix.c: Likewise.
35321         * tests/test-snprintf.c: Likewise.
35322         * tests/test-sprintf-posix.c: Likewise.
35323         * tests/test-stat-time.c: Likewise.
35324         * tests/test-stat.c: Likewise.
35325         * tests/test-strcasestr.c: Likewise.
35326         * tests/test-strchrnul.c: Likewise.
35327         * tests/test-strerror.c: Likewise.
35328         * tests/test-striconv.c: Likewise.
35329         * tests/test-striconveh.c: Likewise.
35330         * tests/test-striconveha.c: Likewise.
35331         * tests/test-strsignal.c: Likewise.
35332         * tests/test-strstr.c: Likewise.
35333         * tests/test-strtod.c: Likewise.
35334         * tests/test-strverscmp.c: Likewise.
35335         * tests/test-symlink.c: Likewise.
35336         * tests/test-symlinkat.c: Likewise.
35337         * tests/test-trunc1.c: Likewise.
35338         * tests/test-trunc2.c: Likewise.
35339         * tests/test-truncf1.c: Likewise.
35340         * tests/test-truncf2.c: Likewise.
35341         * tests/test-truncl.c: Likewise.
35342         * tests/test-uname.c: Likewise.
35343         * tests/test-unlink.c: Likewise.
35344         * tests/test-unlinkat.c: Likewise.
35345         * tests/test-unsetenv.c: Likewise.
35346         * tests/test-usleep.c: Likewise.
35347         * tests/test-utimens.c: Likewise.
35348         * tests/test-utimensat.c: Likewise.
35349         * tests/test-vasnprintf-posix.c: Likewise.
35350         * tests/test-vasnprintf-posix2.c: Likewise.
35351         * tests/test-vasnprintf.c: Likewise.
35352         * tests/test-vasprintf-posix.c: Likewise.
35353         * tests/test-vasprintf.c: Likewise.
35354         * tests/test-vdprintf-posix.c: Likewise.
35355         * tests/test-vfprintf-posix.c: Likewise.
35356         * tests/test-vprintf-posix.c: Likewise.
35357         * tests/test-vsnprintf-posix.c: Likewise.
35358         * tests/test-vsnprintf.c: Likewise.
35359         * tests/test-vsprintf-posix.c: Likewise.
35360         * tests/test-wcrtomb.c: Likewise.
35361         * tests/test-wcsnrtombs.c: Likewise.
35362         * tests/test-wcsrtombs.c: Likewise.
35363         * tests/test-wctype.c: Likewise.
35364         * tests/test-wcwidth.c: Likewise.
35365         * tests/test-xfprintf-posix.c: Likewise.
35366         * tests/test-xmemdup0.c: Likewise.
35367         * tests/test-xprintf-posix.c: Likewise.
35368         * tests/test-xvasprintf.c: Likewise.
35369         * tests/unicase/test-locale-language.c: Likewise.
35370         * tests/unicase/test-mapping-part1.h: Likewise.
35371         * tests/unicase/test-predicate-part1.h: Likewise.
35372         * tests/unicase/test-u8-casecmp.c: Likewise.
35373         * tests/unicase/test-u8-casecoll.c: Likewise.
35374         * tests/unicase/test-u8-casefold.c: Likewise.
35375         * tests/unicase/test-u8-is-cased.c: Likewise.
35376         * tests/unicase/test-u8-is-casefolded.c: Likewise.
35377         * tests/unicase/test-u8-is-lowercase.c: Likewise.
35378         * tests/unicase/test-u8-is-titlecase.c: Likewise.
35379         * tests/unicase/test-u8-is-uppercase.c: Likewise.
35380         * tests/unicase/test-u8-tolower.c: Likewise.
35381         * tests/unicase/test-u8-totitle.c: Likewise.
35382         * tests/unicase/test-u8-toupper.c: Likewise.
35383         * tests/unicase/test-u16-casecmp.c: Likewise.
35384         * tests/unicase/test-u16-casecoll.c: Likewise.
35385         * tests/unicase/test-u16-casefold.c: Likewise.
35386         * tests/unicase/test-u16-is-cased.c: Likewise.
35387         * tests/unicase/test-u16-is-casefolded.c: Likewise.
35388         * tests/unicase/test-u16-is-lowercase.c: Likewise.
35389         * tests/unicase/test-u16-is-titlecase.c: Likewise.
35390         * tests/unicase/test-u16-is-uppercase.c: Likewise.
35391         * tests/unicase/test-u16-tolower.c: Likewise.
35392         * tests/unicase/test-u16-totitle.c: Likewise.
35393         * tests/unicase/test-u16-toupper.c: Likewise.
35394         * tests/unicase/test-u32-casecmp.c: Likewise.
35395         * tests/unicase/test-u32-casecoll.c: Likewise.
35396         * tests/unicase/test-u32-casefold.c: Likewise.
35397         * tests/unicase/test-u32-is-cased.c: Likewise.
35398         * tests/unicase/test-u32-is-casefolded.c: Likewise.
35399         * tests/unicase/test-u32-is-lowercase.c: Likewise.
35400         * tests/unicase/test-u32-is-titlecase.c: Likewise.
35401         * tests/unicase/test-u32-is-uppercase.c: Likewise.
35402         * tests/unicase/test-u32-tolower.c: Likewise.
35403         * tests/unicase/test-u32-totitle.c: Likewise.
35404         * tests/unicase/test-u32-toupper.c: Likewise.
35405         * tests/unicase/test-ulc-casecmp.c: Likewise.
35406         * tests/unicase/test-ulc-casecoll.c: Likewise.
35407         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
35408         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
35409         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
35410         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
35411         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
35412         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
35413         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
35414         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
35415         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
35416         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
35417         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
35418         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
35419         * tests/unictype/test-bidi_byname.c: Likewise.
35420         * tests/unictype/test-bidi_name.c: Likewise.
35421         * tests/unictype/test-bidi_of.c: Likewise.
35422         * tests/unictype/test-bidi_test.c: Likewise.
35423         * tests/unictype/test-block_list.c: Likewise.
35424         * tests/unictype/test-block_of.c: Likewise.
35425         * tests/unictype/test-block_test.c: Likewise.
35426         * tests/unictype/test-categ_and.c: Likewise.
35427         * tests/unictype/test-categ_and_not.c: Likewise.
35428         * tests/unictype/test-categ_byname.c: Likewise.
35429         * tests/unictype/test-categ_name.c: Likewise.
35430         * tests/unictype/test-categ_none.c: Likewise.
35431         * tests/unictype/test-categ_of.c: Likewise.
35432         * tests/unictype/test-categ_or.c: Likewise.
35433         * tests/unictype/test-categ_test_withtable.c: Likewise.
35434         * tests/unictype/test-combining.c: Likewise.
35435         * tests/unictype/test-decdigit.c: Likewise.
35436         * tests/unictype/test-digit.c: Likewise.
35437         * tests/unictype/test-mirror.c: Likewise.
35438         * tests/unictype/test-numeric.c: Likewise.
35439         * tests/unictype/test-pr_byname.c: Likewise.
35440         * tests/unictype/test-pr_test.c: Likewise.
35441         * tests/unictype/test-predicate-part1.h: Likewise.
35442         * tests/unictype/test-scripts.c: Likewise.
35443         * tests/unictype/test-sy_c_ident.c: Likewise.
35444         * tests/unictype/test-sy_java_ident.c: Likewise.
35445         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
35446         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
35447         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
35448         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
35449         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
35450         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
35451         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
35452         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
35453         * tests/uninorm/test-canonical-decomposition.c: Likewise.
35454         * tests/uninorm/test-compat-decomposition.c: Likewise.
35455         * tests/uninorm/test-composition.c: Likewise.
35456         * tests/uninorm/test-decomposing-form.c: Likewise.
35457         * tests/uninorm/test-decomposition.c: Likewise.
35458         * tests/uninorm/test-u8-nfc.c: Likewise.
35459         * tests/uninorm/test-u8-nfd.c: Likewise.
35460         * tests/uninorm/test-u8-nfkc.c: Likewise.
35461         * tests/uninorm/test-u8-nfkd.c: Likewise.
35462         * tests/uninorm/test-u8-normcmp.c: Likewise.
35463         * tests/uninorm/test-u8-normcoll.c: Likewise.
35464         * tests/uninorm/test-u16-nfc.c: Likewise.
35465         * tests/uninorm/test-u16-nfd.c: Likewise.
35466         * tests/uninorm/test-u16-nfkc.c: Likewise.
35467         * tests/uninorm/test-u16-nfkd.c: Likewise.
35468         * tests/uninorm/test-u16-normcmp.c: Likewise.
35469         * tests/uninorm/test-u16-normcoll.c: Likewise.
35470         * tests/uninorm/test-u32-nfc.c: Likewise.
35471         * tests/uninorm/test-u32-nfd.c: Likewise.
35472         * tests/uninorm/test-u32-nfkc.c: Likewise.
35473         * tests/uninorm/test-u32-nfkd.c: Likewise.
35474         * tests/uninorm/test-u32-normalize-big.c: Likewise.
35475         * tests/uninorm/test-u32-normcmp.c: Likewise.
35476         * tests/uninorm/test-u32-normcoll.c: Likewise.
35477         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
35478         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
35479         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
35480         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
35481         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
35482         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
35483         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
35484         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
35485         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
35486         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
35487         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
35488         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
35489         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
35490         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
35491         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
35492         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
35493         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
35494         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
35495         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
35496         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
35497         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
35498         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
35499         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
35500         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
35501         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
35502         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
35503         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
35504         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
35505         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
35506         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
35507         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
35508         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
35509         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
35510         * tests/uniwidth/test-u8-strwidth.c: Likewise.
35511         * tests/uniwidth/test-u8-width.c: Likewise.
35512         * tests/uniwidth/test-u16-strwidth.c: Likewise.
35513         * tests/uniwidth/test-u16-width.c: Likewise.
35514         * tests/uniwidth/test-u32-strwidth.c: Likewise.
35515         * tests/uniwidth/test-u32-width.c: Likewise.
35516         * tests/uniwidth/test-uc_width.c: Likewise.
35517         * tests/uniwidth/test-uc_width2.c: Likewise.
35518         * modules/acl-tests (Files): Add tests/macros.h.
35519         * modules/areadlink-tests (Files): Likewise.
35520         * modules/areadlink-with-size-tests (Files): Likewise.
35521         * modules/areadlinkat-tests (Files): Likewise.
35522         * modules/areadlinkat-with-size-tests (Files): Likewise.
35523         * modules/argmatch-tests (Files): Likewise.
35524         * modules/argv-iter-tests (Files): Likewise.
35525         * modules/array-list-tests (Files): Likewise.
35526         * modules/array-mergesort-tests (Files): Likewise.
35527         * modules/array-oset-tests (Files): Likewise.
35528         * modules/avltree-list-tests (Files): Likewise.
35529         * modules/avltree-oset-tests (Files): Likewise.
35530         * modules/avltreehash-list-tests (Files): Likewise.
35531         * modules/base64-tests (Files): Likewise.
35532         * modules/binary-io-tests (Files): Likewise.
35533         * modules/bitrotate-tests (Files): Likewise.
35534         * modules/btowc-tests (Files): Likewise.
35535         * modules/byteswap-tests (Files): Likewise.
35536         * modules/c-ctype-tests (Files): Likewise.
35537         * modules/c-stack-tests (Files): Likewise.
35538         * modules/c-strcase-tests (Files): Likewise.
35539         * modules/c-strcasestr-tests (Files): Likewise.
35540         * modules/c-strstr-tests (Files): Likewise.
35541         * modules/canonicalize-lgpl-tests (Files): Likewise.
35542         * modules/canonicalize-tests (Files): Likewise.
35543         * modules/carray-list-tests (Files): Likewise.
35544         * modules/ceilf-tests (Files): Likewise.
35545         * modules/ceill-tests (Files): Likewise.
35546         * modules/chown-tests (Files): Likewise.
35547         * modules/cloexec-tests (Files): Likewise.
35548         * modules/copy-file-tests (Files): Likewise.
35549         * modules/count-one-bits-tests (Files): Likewise.
35550         * modules/dprintf-posix-tests (Files): Likewise.
35551         * modules/dup2-tests (Files): Likewise.
35552         * modules/dup3-tests (Files): Likewise.
35553         * modules/duplocale-tests (Files): Likewise.
35554         * modules/fbufmode-tests (Files): Likewise.
35555         * modules/fchdir-tests (Files): Likewise.
35556         * modules/fcntl-safer-tests (Files): Likewise.
35557         * modules/fcntl-tests (Files): Likewise.
35558         * modules/fdopendir-tests (Files): Likewise.
35559         * modules/fdutimensat-tests (Files): Likewise.
35560         * modules/fflush-tests (Files): Likewise.
35561         * modules/filevercmp-tests (Files): Likewise.
35562         * modules/flock-tests (Files): Likewise.
35563         * modules/floorf-tests (Files): Likewise.
35564         * modules/floorl-tests (Files): Likewise.
35565         * modules/fnmatch-tests (Files): Likewise.
35566         * modules/fopen-safer-tests (Files): Likewise.
35567         * modules/fopen-tests (Files): Likewise.
35568         * modules/fpending-tests (Files): Likewise.
35569         * modules/fprintf-posix-tests (Files): Likewise.
35570         * modules/fpurge-tests (Files): Likewise.
35571         * modules/freadable-tests (Files): Likewise.
35572         * modules/freadahead-tests (Files): Likewise.
35573         * modules/freading-tests (Files): Likewise.
35574         * modules/freadptr-tests (Files): Likewise.
35575         * modules/freadseek-tests (Files): Likewise.
35576         * modules/freopen-tests (Files): Likewise.
35577         * modules/frexp-nolibm-tests (Files): Likewise.
35578         * modules/frexp-tests (Files): Likewise.
35579         * modules/frexpl-nolibm-tests (Files): Likewise.
35580         * modules/frexpl-tests (Files): Likewise.
35581         * modules/fseek-tests (Files): Likewise.
35582         * modules/fseeko-tests (Files): Likewise.
35583         * modules/fstrcmp-tests (Files): Likewise.
35584         * modules/fsync-tests (Files): Likewise.
35585         * modules/ftell-tests (Files): Likewise.
35586         * modules/ftello-tests (Files): Likewise.
35587         * modules/func-tests (Files): Likewise.
35588         * modules/futimens-tests (Files): Likewise.
35589         * modules/fwritable-tests (Files): Likewise.
35590         * modules/fwriting-tests (Files): Likewise.
35591         * modules/getcwd-tests (Files): Likewise.
35592         * modules/getdate-tests (Files): Likewise.
35593         * modules/getdelim-tests (Files): Likewise.
35594         * modules/getdtablesize-tests (Files): Likewise.
35595         * modules/getgroups-tests (Files): Likewise.
35596         * modules/getline-tests (Files): Likewise.
35597         * modules/getndelim2-tests (Files): Likewise.
35598         * modules/glob-tests (Files): Likewise.
35599         * modules/hash-tests (Files): Likewise.
35600         * modules/i-ring-tests (Files): Likewise.
35601         * modules/iconv-tests (Files): Likewise.
35602         * modules/iconv_open-utf-tests (Files): Likewise.
35603         * modules/idpriv-drop-tests (Files): Likewise.
35604         * modules/idpriv-droptemp-tests (Files): Likewise.
35605         * modules/inet_ntop-tests (Files): Likewise.
35606         * modules/inet_pton-tests (Files): Likewise.
35607         * modules/isblank-tests (Files): Likewise.
35608         * modules/isfinite-tests (Files): Likewise.
35609         * modules/isinf-tests (Files): Likewise.
35610         * modules/isnan-tests (Files): Likewise.
35611         * modules/isnand-nolibm-tests (Files): Likewise.
35612         * modules/isnand-tests (Files): Likewise.
35613         * modules/isnanf-nolibm-tests (Files): Likewise.
35614         * modules/isnanf-tests (Files): Likewise.
35615         * modules/isnanl-nolibm-tests (Files): Likewise.
35616         * modules/isnanl-tests (Files): Likewise.
35617         * modules/lchown-tests (Files): Likewise.
35618         * modules/ldexpl-tests (Files): Likewise.
35619         * modules/link-tests (Files): Likewise.
35620         * modules/linkat-tests (Files): Likewise.
35621         * modules/linked-list-tests (Files): Likewise.
35622         * modules/linkedhash-list-tests (Files): Likewise.
35623         * modules/localename-tests (Files): Likewise.
35624         * modules/lseek-tests (Files): Likewise.
35625         * modules/lstat-tests (Files): Likewise.
35626         * modules/mbmemcasecmp-tests (Files): Likewise.
35627         * modules/mbmemcasecoll-tests (Files): Likewise.
35628         * modules/mbrtowc-tests (Files): Likewise.
35629         * modules/mbscasecmp-tests (Files): Likewise.
35630         * modules/mbscasestr-tests (Files): Likewise.
35631         * modules/mbschr-tests (Files): Likewise.
35632         * modules/mbscspn-tests (Files): Likewise.
35633         * modules/mbsinit-tests (Files): Likewise.
35634         * modules/mbsncasecmp-tests (Files): Likewise.
35635         * modules/mbsnrtowcs-tests (Files): Likewise.
35636         * modules/mbspbrk-tests (Files): Likewise.
35637         * modules/mbspcasecmp-tests (Files): Likewise.
35638         * modules/mbsrchr-tests (Files): Likewise.
35639         * modules/mbsrtowcs-tests (Files): Likewise.
35640         * modules/mbsspn-tests (Files): Likewise.
35641         * modules/mbsstr-tests (Files): Likewise.
35642         * modules/memchr-tests (Files): Likewise.
35643         * modules/memchr2-tests (Files): Likewise.
35644         * modules/memcmp-tests (Files): Likewise.
35645         * modules/memmem-tests (Files): Likewise.
35646         * modules/memrchr-tests (Files): Likewise.
35647         * modules/mkdir-tests (Files): Likewise.
35648         * modules/mkfifo-tests (Files): Likewise.
35649         * modules/mkfifoat-tests (Files): Likewise.
35650         * modules/mknod-tests (Files): Likewise.
35651         * modules/nanosleep-tests (Files): Likewise.
35652         * modules/nl_langinfo-tests (Files): Likewise.
35653         * modules/obstack-printf-tests (Files): Likewise.
35654         * modules/open-tests (Files): Likewise.
35655         * modules/openat-tests (Files): Likewise.
35656         * modules/pipe-filter-gi-tests (Files): Likewise.
35657         * modules/pipe-filter-ii-tests (Files): Likewise.
35658         * modules/pipe2-tests (Files): Likewise.
35659         * modules/popen-safer-tests (Files): Likewise.
35660         * modules/popen-tests (Files): Likewise.
35661         * modules/posixtm-tests (Files): Likewise.
35662         * modules/pread-tests (Files): Likewise.
35663         * modules/printf-frexp-tests (Files): Likewise.
35664         * modules/printf-frexpl-tests (Files): Likewise.
35665         * modules/printf-posix-tests (Files): Likewise.
35666         * modules/priv-set-tests (Files): Likewise.
35667         * modules/quotearg-tests (Files): Likewise.
35668         * modules/random_r-tests (Files): Likewise.
35669         * modules/rawmemchr-tests (Files): Likewise.
35670         * modules/rbtree-list-tests (Files): Likewise.
35671         * modules/rbtree-oset-tests (Files): Likewise.
35672         * modules/rbtreehash-list-tests (Files): Likewise.
35673         * modules/readlink-tests (Files): Likewise.
35674         * modules/remove-tests (Files): Likewise.
35675         * modules/rename-tests (Files): Likewise.
35676         * modules/renameat-tests (Files): Likewise.
35677         * modules/rmdir-tests (Files): Likewise.
35678         * modules/round-tests (Files): Likewise.
35679         * modules/roundf-tests (Files): Likewise.
35680         * modules/roundl-tests (Files): Likewise.
35681         * modules/safe-alloc-tests (Files): Likewise.
35682         * modules/setenv-tests (Files): Likewise.
35683         * modules/sigaction-tests (Files): Likewise.
35684         * modules/signbit-tests (Files): Likewise.
35685         * modules/sleep-tests (Files): Likewise.
35686         * modules/snprintf-posix-tests (Files): Likewise.
35687         * modules/snprintf-tests (Files): Likewise.
35688         * modules/sprintf-posix-tests (Files): Likewise.
35689         * modules/stat-tests (Files): Likewise.
35690         * modules/stat-time-tests (Files): Likewise.
35691         * modules/strcasestr-tests (Files): Likewise.
35692         * modules/strchrnul-tests (Files): Likewise.
35693         * modules/strerror-tests (Files): Likewise.
35694         * modules/striconv-tests (Files): Likewise.
35695         * modules/striconveh-tests (Files): Likewise.
35696         * modules/striconveha-tests (Files): Likewise.
35697         * modules/strsignal-tests (Files): Likewise.
35698         * modules/strstr-tests (Files): Likewise.
35699         * modules/strtod-tests (Files): Likewise.
35700         * modules/strverscmp-tests (Files): Likewise.
35701         * modules/symlink-tests (Files): Likewise.
35702         * modules/symlinkat-tests (Files): Likewise.
35703         * modules/trunc-tests (Files): Likewise.
35704         * modules/truncf-tests (Files): Likewise.
35705         * modules/truncl-tests (Files): Likewise.
35706         * modules/uname-tests (Files): Likewise.
35707         * modules/unicase/cased-tests (Files): Likewise.
35708         * modules/unicase/ignorable-tests (Files): Likewise.
35709         * modules/unicase/locale-language-tests (Files): Likewise.
35710         * modules/unicase/tolower-tests (Files): Likewise.
35711         * modules/unicase/totitle-tests (Files): Likewise.
35712         * modules/unicase/toupper-tests (Files): Likewise.
35713         * modules/unicase/u8-casecmp-tests (Files): Likewise.
35714         * modules/unicase/u8-casecoll-tests (Files): Likewise.
35715         * modules/unicase/u8-casefold-tests (Files): Likewise.
35716         * modules/unicase/u8-is-cased-tests (Files): Likewise.
35717         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
35718         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
35719         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
35720         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
35721         * modules/unicase/u8-tolower-tests (Files): Likewise.
35722         * modules/unicase/u8-totitle-tests (Files): Likewise.
35723         * modules/unicase/u8-toupper-tests (Files): Likewise.
35724         * modules/unicase/u16-casecmp-tests (Files): Likewise.
35725         * modules/unicase/u16-casecoll-tests (Files): Likewise.
35726         * modules/unicase/u16-casefold-tests (Files): Likewise.
35727         * modules/unicase/u16-is-cased-tests (Files): Likewise.
35728         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
35729         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
35730         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
35731         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
35732         * modules/unicase/u16-tolower-tests (Files): Likewise.
35733         * modules/unicase/u16-totitle-tests (Files): Likewise.
35734         * modules/unicase/u16-toupper-tests (Files): Likewise.
35735         * modules/unicase/u32-casecmp-tests (Files): Likewise.
35736         * modules/unicase/u32-casecoll-tests (Files): Likewise.
35737         * modules/unicase/u32-casefold-tests (Files): Likewise.
35738         * modules/unicase/u32-is-cased-tests (Files): Likewise.
35739         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
35740         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
35741         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
35742         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
35743         * modules/unicase/u32-tolower-tests (Files): Likewise.
35744         * modules/unicase/u32-totitle-tests (Files): Likewise.
35745         * modules/unicase/u32-toupper-tests (Files): Likewise.
35746         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
35747         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
35748         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
35749         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
35750         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
35751         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
35752         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
35753         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
35754         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
35755         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
35756         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
35757         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
35758         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
35759         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
35760         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
35761         * modules/unictype/bidicategory-name-tests (Files): Likewise.
35762         * modules/unictype/bidicategory-of-tests (Files): Likewise.
35763         * modules/unictype/bidicategory-test-tests (Files): Likewise.
35764         * modules/unictype/block-list-tests (Files): Likewise.
35765         * modules/unictype/block-of-tests (Files): Likewise.
35766         * modules/unictype/block-test-tests (Files): Likewise.
35767         * modules/unictype/category-C-tests (Files): Likewise.
35768         * modules/unictype/category-Cc-tests (Files): Likewise.
35769         * modules/unictype/category-Cf-tests (Files): Likewise.
35770         * modules/unictype/category-Cn-tests (Files): Likewise.
35771         * modules/unictype/category-Co-tests (Files): Likewise.
35772         * modules/unictype/category-Cs-tests (Files): Likewise.
35773         * modules/unictype/category-L-tests (Files): Likewise.
35774         * modules/unictype/category-Ll-tests (Files): Likewise.
35775         * modules/unictype/category-Lm-tests (Files): Likewise.
35776         * modules/unictype/category-Lo-tests (Files): Likewise.
35777         * modules/unictype/category-Lt-tests (Files): Likewise.
35778         * modules/unictype/category-Lu-tests (Files): Likewise.
35779         * modules/unictype/category-M-tests (Files): Likewise.
35780         * modules/unictype/category-Mc-tests (Files): Likewise.
35781         * modules/unictype/category-Me-tests (Files): Likewise.
35782         * modules/unictype/category-Mn-tests (Files): Likewise.
35783         * modules/unictype/category-N-tests (Files): Likewise.
35784         * modules/unictype/category-Nd-tests (Files): Likewise.
35785         * modules/unictype/category-Nl-tests (Files): Likewise.
35786         * modules/unictype/category-No-tests (Files): Likewise.
35787         * modules/unictype/category-P-tests (Files): Likewise.
35788         * modules/unictype/category-Pc-tests (Files): Likewise.
35789         * modules/unictype/category-Pd-tests (Files): Likewise.
35790         * modules/unictype/category-Pe-tests (Files): Likewise.
35791         * modules/unictype/category-Pf-tests (Files): Likewise.
35792         * modules/unictype/category-Pi-tests (Files): Likewise.
35793         * modules/unictype/category-Po-tests (Files): Likewise.
35794         * modules/unictype/category-Ps-tests (Files): Likewise.
35795         * modules/unictype/category-S-tests (Files): Likewise.
35796         * modules/unictype/category-Sc-tests (Files): Likewise.
35797         * modules/unictype/category-Sk-tests (Files): Likewise.
35798         * modules/unictype/category-Sm-tests (Files): Likewise.
35799         * modules/unictype/category-So-tests (Files): Likewise.
35800         * modules/unictype/category-Z-tests (Files): Likewise.
35801         * modules/unictype/category-Zl-tests (Files): Likewise.
35802         * modules/unictype/category-Zp-tests (Files): Likewise.
35803         * modules/unictype/category-Zs-tests (Files): Likewise.
35804         * modules/unictype/category-and-not-tests (Files): Likewise.
35805         * modules/unictype/category-and-tests (Files): Likewise.
35806         * modules/unictype/category-byname-tests (Files): Likewise.
35807         * modules/unictype/category-name-tests (Files): Likewise.
35808         * modules/unictype/category-none-tests (Files): Likewise.
35809         * modules/unictype/category-of-tests (Files): Likewise.
35810         * modules/unictype/category-or-tests (Files): Likewise.
35811         * modules/unictype/category-test-withtable-tests (Files): Likewise.
35812         * modules/unictype/combining-class-tests (Files): Likewise.
35813         * modules/unictype/ctype-alnum-tests (Files): Likewise.
35814         * modules/unictype/ctype-alpha-tests (Files): Likewise.
35815         * modules/unictype/ctype-blank-tests (Files): Likewise.
35816         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
35817         * modules/unictype/ctype-digit-tests (Files): Likewise.
35818         * modules/unictype/ctype-graph-tests (Files): Likewise.
35819         * modules/unictype/ctype-lower-tests (Files): Likewise.
35820         * modules/unictype/ctype-print-tests (Files): Likewise.
35821         * modules/unictype/ctype-punct-tests (Files): Likewise.
35822         * modules/unictype/ctype-space-tests (Files): Likewise.
35823         * modules/unictype/ctype-upper-tests (Files): Likewise.
35824         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
35825         * modules/unictype/decimal-digit-tests (Files): Likewise.
35826         * modules/unictype/digit-tests (Files): Likewise.
35827         * modules/unictype/mirror-tests (Files): Likewise.
35828         * modules/unictype/numeric-tests (Files): Likewise.
35829         * modules/unictype/property-alphabetic-tests (Files): Likewise.
35830         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
35831         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
35832         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
35833         Likewise.
35834         * modules/unictype/property-bidi-block-separator-tests (Files):
35835         Likewise.
35836         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
35837         Likewise.
35838         * modules/unictype/property-bidi-common-separator-tests (Files):
35839         Likewise.
35840         * modules/unictype/property-bidi-control-tests (Files): Likewise.
35841         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
35842         Likewise.
35843         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
35844         Likewise.
35845         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
35846         Likewise.
35847         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
35848         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
35849         Likewise.
35850         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
35851         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
35852         Likewise.
35853         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
35854         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
35855         * modules/unictype/property-bidi-segment-separator-tests (Files):
35856         Likewise.
35857         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
35858         * modules/unictype/property-byname-tests (Files): Likewise.
35859         * modules/unictype/property-combining-tests (Files): Likewise.
35860         * modules/unictype/property-composite-tests (Files): Likewise.
35861         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
35862         * modules/unictype/property-dash-tests (Files): Likewise.
35863         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
35864         * modules/unictype/property-default-ignorable-code-point-tests (Files):
35865         Likewise.
35866         * modules/unictype/property-deprecated-tests (Files): Likewise.
35867         * modules/unictype/property-diacritic-tests (Files): Likewise.
35868         * modules/unictype/property-extender-tests (Files): Likewise.
35869         * modules/unictype/property-format-control-tests (Files): Likewise.
35870         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
35871         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
35872         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
35873         * modules/unictype/property-hex-digit-tests (Files): Likewise.
35874         * modules/unictype/property-hyphen-tests (Files): Likewise.
35875         * modules/unictype/property-id-continue-tests (Files): Likewise.
35876         * modules/unictype/property-id-start-tests (Files): Likewise.
35877         * modules/unictype/property-ideographic-tests (Files): Likewise.
35878         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
35879         * modules/unictype/property-ids-trinary-operator-tests (Files):
35880         Likewise.
35881         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
35882         * modules/unictype/property-iso-control-tests (Files): Likewise.
35883         * modules/unictype/property-join-control-tests (Files): Likewise.
35884         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
35885         * modules/unictype/property-line-separator-tests (Files): Likewise.
35886         * modules/unictype/property-logical-order-exception-tests (Files):
35887         Likewise.
35888         * modules/unictype/property-lowercase-tests (Files): Likewise.
35889         * modules/unictype/property-math-tests (Files): Likewise.
35890         * modules/unictype/property-non-break-tests (Files): Likewise.
35891         * modules/unictype/property-not-a-character-tests (Files): Likewise.
35892         * modules/unictype/property-numeric-tests (Files): Likewise.
35893         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
35894         * modules/unictype/property-other-default-ignorable-code-point-tests
35895         (Files): Likewise.
35896         * modules/unictype/property-other-grapheme-extend-tests (Files):
35897         Likewise.
35898         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
35899         * modules/unictype/property-other-id-start-tests (Files): Likewise.
35900         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
35901         * modules/unictype/property-other-math-tests (Files): Likewise.
35902         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
35903         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
35904         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
35905         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
35906         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
35907         * modules/unictype/property-private-use-tests (Files): Likewise.
35908         * modules/unictype/property-punctuation-tests (Files): Likewise.
35909         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
35910         * modules/unictype/property-radical-tests (Files): Likewise.
35911         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
35912         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
35913         * modules/unictype/property-space-tests (Files): Likewise.
35914         * modules/unictype/property-terminal-punctuation-tests (Files):
35915         Likewise.
35916         * modules/unictype/property-test-tests (Files): Likewise.
35917         * modules/unictype/property-titlecase-tests (Files): Likewise.
35918         * modules/unictype/property-unassigned-code-value-tests (Files):
35919         Likewise.
35920         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
35921         * modules/unictype/property-uppercase-tests (Files): Likewise.
35922         * modules/unictype/property-variation-selector-tests (Files): Likewise.
35923         * modules/unictype/property-white-space-tests (Files): Likewise.
35924         * modules/unictype/property-xid-continue-tests (Files): Likewise.
35925         * modules/unictype/property-xid-start-tests (Files): Likewise.
35926         * modules/unictype/property-zero-width-tests (Files): Likewise.
35927         * modules/unictype/scripts-tests (Files): Likewise.
35928         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
35929         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
35930         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
35931         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
35932         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
35933         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
35934         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
35935         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
35936         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
35937         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
35938         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
35939         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
35940         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
35941         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
35942         * modules/uninorm/composition-tests (Files): Likewise.
35943         * modules/uninorm/decomposing-form-tests (Files): Likewise.
35944         * modules/uninorm/decomposition-tests (Files): Likewise.
35945         * modules/uninorm/filter-tests (Files): Likewise.
35946         * modules/uninorm/nfc-tests (Files): Likewise.
35947         * modules/uninorm/nfd-tests (Files): Likewise.
35948         * modules/uninorm/nfkc-tests (Files): Likewise.
35949         * modules/uninorm/nfkd-tests (Files): Likewise.
35950         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
35951         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
35952         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
35953         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
35954         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
35955         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
35956         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
35957         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
35958         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
35959         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
35960         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
35961         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
35962         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
35963         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
35964         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
35965         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
35966         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
35967         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
35968         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
35969         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
35970         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
35971         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
35972         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
35973         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
35974         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
35975         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
35976         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
35977         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
35978         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
35979         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
35980         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
35981         * modules/uniwidth/u8-width-tests (Files): Likewise.
35982         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
35983         * modules/uniwidth/u16-width-tests (Files): Likewise.
35984         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
35985         * modules/uniwidth/u32-width-tests (Files): Likewise.
35986         * modules/uniwidth/width-tests (Files): Likewise.
35987         * modules/unlink-tests (Files): Likewise.
35988         * modules/unsetenv-tests (Files): Likewise.
35989         * modules/usleep-tests (Files): Likewise.
35990         * modules/utimens-tests (Files): Likewise.
35991         * modules/utimensat-tests (Files): Likewise.
35992         * modules/vasnprintf-posix-tests (Files): Likewise.
35993         * modules/vasnprintf-tests (Files): Likewise.
35994         * modules/vasprintf-posix-tests (Files): Likewise.
35995         * modules/vasprintf-tests (Files): Likewise.
35996         * modules/vdprintf-posix-tests (Files): Likewise.
35997         * modules/vfprintf-posix-tests (Files): Likewise.
35998         * modules/vprintf-posix-tests (Files): Likewise.
35999         * modules/vsnprintf-posix-tests (Files): Likewise.
36000         * modules/vsnprintf-tests (Files): Likewise.
36001         * modules/vsprintf-posix-tests (Files): Likewise.
36002         * modules/wcrtomb-tests (Files): Likewise.
36003         * modules/wcsnrtombs-tests (Files): Likewise.
36004         * modules/wcsrtombs-tests (Files): Likewise.
36005         * modules/wctype-tests (Files): Likewise.
36006         * modules/wcwidth-tests (Files): Likewise.
36007         * modules/xmemdup0-tests (Files): Likewise.
36008         * modules/xprintf-posix-tests (Files): Likewise.
36009         * modules/xvasprintf-tests (Files): Likewise.
36010
36011 2009-12-24  Eric Blake  <ebb9@byu.net>
36012
36013         test-nanosleep: fix typo
36014         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
36015         patch.
36016         Reported by Bruno Haible.
36017
36018 2009-12-24  Bruno Haible  <bruno@clisp.org>
36019
36020         Reduce namespace pollution on glibc systems.
36021         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
36022         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
36023         systems.
36024         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
36025         <getopt.h> on glibc systems.
36026         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
36027         systems.
36028         * lib/fcntl.c: Include <unistd.h> here instead.
36029
36030 2009-12-24  Bruno Haible  <bruno@clisp.org>
36031
36032         * lib/stdlib.in.h (includes): Fix typo in today's commit.
36033
36034 2009-12-24  Eric Blake  <ebb9@byu.net>
36035
36036         tests: add signature checks
36037         * tests/signature.h (SIGNATURE_CHECK): New file.
36038         * modules/atexit-tests (Files): Use it.
36039         * modules/btowc-tests (Files): Likewise.
36040         * modules/canonicalize-lgpl-tests (Files): Likewise.
36041         * modules/ceilf-tests (Files): Likewise.
36042         * modules/ceill-tests (Files): Likewise.
36043         * modules/chown-tests (Files): Likewise.
36044         * modules/dprintf-posix-tests (Files): Likewise.
36045         * modules/dup2-tests (Files): Likewise.
36046         * modules/dup3-tests (Files): Likewise.
36047         * modules/duplocale-tests (Files): Likewise.
36048         * modules/fchdir-tests (Files): Likewise.
36049         * modules/fcntl-tests (Files): Likewise.
36050         * modules/fdopendir-tests (Files): Likewise.
36051         * modules/fflush-tests (Files): Likewise.
36052         * modules/flock-tests (Files): Likewise.
36053         * modules/floorf-tests (Files): Likewise.
36054         * modules/floorl-tests (Files): Likewise.
36055         * modules/fnmatch-tests (Files): Likewise.
36056         * modules/fopen-tests (Files): Likewise.
36057         * modules/fprintf-posix-tests (Files): Likewise.
36058         * modules/freopen-tests (Files): Likewise.
36059         * modules/frexp-nolibm-tests (Files): Likewise.
36060         * modules/frexp-tests (Files): Likewise.
36061         * modules/frexpl-nolibm-tests (Files): Likewise.
36062         * modules/frexpl-tests (Files): Likewise.
36063         * modules/fseek-tests (Files): Likewise.
36064         * modules/fseeko-tests (Files): Likewise.
36065         * modules/fsync-tests (Files): Likewise.
36066         * modules/ftell-tests (Files): Likewise.
36067         * modules/ftello-tests (Files): Likewise.
36068         * modules/futimens-tests (Files): Likewise.
36069         * modules/getaddrinfo-tests (Files): Likewise.
36070         * modules/getcwd-tests (Files): Likewise.
36071         * modules/getdelim-tests (Files): Likewise.
36072         * modules/getdtablesize-tests (Files): Likewise.
36073         * modules/getgroups-tests (Files): Likewise.
36074         * modules/gethostname-tests (Files): Likewise.
36075         * modules/getline-tests (Files): Likewise.
36076         * modules/getopt-posix-tests (Files): Likewise.
36077         * modules/gettimeofday-tests (Files): Likewise.
36078         * modules/glob-tests (Files): Likewise.
36079         * modules/iconv-tests (Files): Likewise.
36080         * modules/inet_ntop-tests (Files): Likewise.
36081         * modules/inet_pton-tests (Files): Likewise.
36082         * modules/isblank-tests (Files): Likewise.
36083         * modules/lchown-tests (Files): Likewise.
36084         * modules/ldexpl-tests (Files): Likewise.
36085         * modules/link-tests (Files): Likewise.
36086         * modules/linkat-tests (Files): Likewise.
36087         * modules/lseek-tests (Files): Likewise.
36088         * modules/lstat-tests (Files): Likewise.
36089         * modules/mbrtowc-tests (Files): Likewise.
36090         * modules/mbsinit-tests (Files): Likewise.
36091         * modules/mbsnrtowcs-tests (Files): Likewise.
36092         * modules/mbsrtowcs-tests (Files): Likewise.
36093         * modules/memchr-tests (Files): Likewise.
36094         * modules/memcmp-tests (Files): Likewise.
36095         * modules/memmem-tests (Files): Likewise.
36096         * modules/memrchr-tests (Files): Likewise.
36097         * modules/mkdir-tests (Files): Likewise.
36098         * modules/mkfifo-tests (Files): Likewise.
36099         * modules/mkfifoat-tests (Files): Likewise.
36100         * modules/mknod-tests (Files): Likewise.
36101         * modules/nanosleep-tests (Files): Likewise.
36102         * modules/nl_langinfo-tests (Files): Likewise.
36103         * modules/obstack-printf-tests (Files): Likewise.
36104         * modules/open-tests (Files): Likewise.
36105         * modules/openat-tests (Files): Likewise.
36106         * modules/perror-tests (Files): Likewise.
36107         * modules/pipe2-tests (Files): Likewise.
36108         * modules/poll-tests (Files): Likewise.
36109         * modules/popen-tests (Files): Likewise.
36110         * modules/posix_spawn-tests (Files): Likewise.
36111         * modules/posix_spawnp-tests (Files): Likewise.
36112         * modules/pread-tests (Files): Likewise.
36113         * modules/printf-posix-tests (Files): Likewise.
36114         * modules/pty-tests (Files): Likewise.
36115         * modules/random_r-tests (Files): Likewise.
36116         * modules/rawmemchr-tests (Files): Likewise.
36117         * modules/readlink-tests (Files): Likewise.
36118         * modules/remove-tests (Files): Likewise.
36119         * modules/rename-tests (Files): Likewise.
36120         * modules/renameat-tests (Files): Likewise.
36121         * modules/rmdir-tests (Files): Likewise.
36122         * modules/round-tests (Files): Likewise.
36123         * modules/roundf-tests (Files): Likewise.
36124         * modules/roundl-tests (Files): Likewise.
36125         * modules/select-tests (Files): Likewise.
36126         * modules/setenv-tests (Files): Likewise.
36127         * modules/sigaction-tests (Files): Likewise.
36128         * modules/sleep-tests (Files): Likewise.
36129         * modules/snprintf-posix-tests (Files): Likewise.
36130         * modules/snprintf-tests (Files): Likewise.
36131         * modules/sprintf-posix-tests (Files): Likewise.
36132         * modules/stat-tests (Files): Likewise.
36133         * modules/strcasestr-tests (Files): Likewise.
36134         * modules/strchrnul-tests (Files): Likewise.
36135         * modules/strerror-tests (Files): Likewise.
36136         * modules/strsignal-tests (Files): Likewise.
36137         * modules/strstr-tests (Files): Likewise.
36138         * modules/strtod-tests (Files): Likewise.
36139         * modules/strverscmp-tests (Files): Likewise.
36140         * modules/symlink-tests (Files): Likewise.
36141         * modules/symlinkat-tests (Files): Likewise.
36142         * modules/times-tests (Files): Likewise.
36143         * modules/trunc-tests (Files): Likewise.
36144         * modules/truncf-tests (Files): Likewise.
36145         * modules/truncl-tests (Files): Likewise.
36146         * modules/tsearch-tests (Files): Likewise.
36147         * modules/uname-tests (Files): Likewise.
36148         * modules/unlink-tests (Files): Likewise.
36149         * modules/unsetenv-tests (Files): Likewise.
36150         * modules/usleep-tests (Files): Likewise.
36151         * modules/utimensat-tests (Files): Likewise.
36152         * modules/vasprintf-tests (Files): Likewise.
36153         * modules/vdprintf-posix-tests (Files): Likewise.
36154         * modules/vfprintf-posix-tests (Files): Likewise.
36155         * modules/vprintf-posix-tests (Files): Likewise.
36156         * modules/vsnprintf-posix-tests (Files): Likewise.
36157         * modules/vsnprintf-tests (Files): Likewise.
36158         * modules/vsprintf-posix-tests (Files): Likewise.
36159         * modules/wcrtomb-tests (Files): Likewise.
36160         * modules/wcsnrtombs-tests (Files): Likewise.
36161         * modules/wcsrtombs-tests (Files): Likewise.
36162         * modules/wcwidth-tests (Files): Likewise.
36163         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
36164         * tests/test-isinf.c (isinf): Likewise.
36165         * tests/test-isnan.c (isnan): Likewise.
36166         * tests/test-signbit.c (signbit): Likewise.
36167         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
36168         declaration, either as macro or with correct signature.
36169         (select): Ensure function under test is declared with correct
36170         signature in correct header.
36171         * tests/test-atexit.c (atexit): Likewise.
36172         * tests/test-btowc.c (btowc): Likewise.
36173         * tests/test-canonicalize-lgpl.c (realpath)
36174         (canonicalize_file_name): Likewise.
36175         * tests/test-ceilf1.c (ceilf): Likewise.
36176         * tests/test-ceill.c (ceill): Likewise.
36177         * tests/test-chown.c (chown): Likewise.
36178         * tests/test-dprintf-posix.c (dprintf): Likewise.
36179         * tests/test-dup2.c (dup2): Likewise.
36180         * tests/test-dup3.c (dup3): Likewise.
36181         * tests/test-duplocale.c (duplocale): Likewise.
36182         * tests/test-fchdir.c (fchdir): Likewise.
36183         * tests/test-fchownat.c (fchownat): Likewise.
36184         * tests/test-fcntl.c (fcntl): Likewise.
36185         * tests/test-fdopendir.c (fdopendir): Likewise.
36186         * tests/test-fflush.c (fflush): Likewise.
36187         * tests/test-flock.c (flock): Likewise.
36188         * tests/test-floorf1.c (floorf): Likewise.
36189         * tests/test-floorl.c (floorl): Likewise.
36190         * tests/test-fnmatch.c (fnmatch): Likewise.
36191         * tests/test-fopen.c (fopen): Likewise.
36192         * tests/test-fprintf-posix.c (fprintf): Likewise.
36193         * tests/test-freopen.c (freopen): Likewise.
36194         * tests/test-frexp.c (frexp): Likewise.
36195         * tests/test-frexpl.c (frexpl): Likewise.
36196         * tests/test-fseek.c (fseek): Likewise.
36197         * tests/test-fseeko.c (fseeko): Likewise.
36198         * tests/test-fstatat.c (fstatat): Likewise.
36199         * tests/test-fsync.c (fsync): Likewise.
36200         * tests/test-ftell.c (ftell): Likewise.
36201         * tests/test-ftello.c (ftello): Likewise.
36202         * tests/test-futimens.c (futimens): Likewise.
36203         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
36204         (gai_strerror): Likewise.
36205         * tests/test-getcwd.c (getcwd): Likewise.
36206         * tests/test-getdelim.c (getdelim): Likewise.
36207         * tests/test-getdtablesize.c (getdtablesize): Likewise.
36208         * tests/test-getgroups.c (getgroups): Likewise.
36209         * tests/test-gethostname.c (gethostname): Likewise.
36210         * tests/test-getline.c (getline): Likewise.
36211         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
36212         Likewise.
36213         * tests/test-gettimeofday.c (gettimeofday): Likewise.
36214         * tests/test-glob.c (glob, globfree): Likewise.
36215         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
36216         * tests/test-inet_ntop.c (inet_ntop): Likewise.
36217         * tests/test-inet_pton.c (inet_pton): Likewise.
36218         * tests/test-isblank.c (isblank): Likewise.
36219         * tests/test-lchown.c (lchown): Likewise.
36220         * tests/test-ldexpl.c (ldexpl): Likewise.
36221         * tests/test-link.c (link): Likewise.
36222         * tests/test-linkat.c (linkat): Likewise.
36223         * tests/test-lseek.c (lseek): Likewise.
36224         * tests/test-lstat.c (lstat): Likewise.
36225         * tests/test-mbrtowc.c (mbrtowc): Likewise.
36226         * tests/test-mbsinit.c (mbsinit): Likewise.
36227         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
36228         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
36229         * tests/test-memchr.c (memchr): Likewise.
36230         * tests/test-memcmp.c (memcmp): Likewise.
36231         * tests/test-memmem.c (memmem): Likewise.
36232         * tests/test-memrchr.c (memrchr): Likewise.
36233         * tests/test-mkdir.c (mkdir): Likewise.
36234         * tests/test-mkdirat.c (mkdirat): Likewise.
36235         * tests/test-mkfifo.c (mkfifo): Likewise.
36236         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
36237         * tests/test-mknod.c (mknod): Likewise.
36238         * tests/test-nanosleep.c (nanosleep): Likewise.
36239         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
36240         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
36241         Likewise.
36242         * tests/test-open.c (open): Likewise.
36243         * tests/test-openat.c (openat): Likewise.
36244         * tests/test-perror.c (perror): Likewise.
36245         * tests/test-pipe2.c (pipe2): Likewise.
36246         * tests/test-poll.c (poll): Likewise.
36247         * tests/test-popen.c (popen, pclose): Likewise.
36248         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
36249         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
36250         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
36251         (posix_spawn_file_actions_destroy)
36252         (posix_spawn_file_actions_addclose)
36253         (posix_spawn_file_actions_addopen)
36254         (posix_spawn_file_actions_adddup2): Likewise.
36255         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
36256         * tests/test-pread.c (pread): Likewise.
36257         * tests/test-printf-posix.c (printf): Likewise.
36258         * tests/test-pty.c (openpty, forkpty): Likewise.
36259         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
36260         (random_r): Likewise.
36261         * tests/test-rawmemchr.c (rawmemchr): Likewise.
36262         * tests/test-readlink.c (readlink): Likewise.
36263         * tests/test-remove.c (remove): Likewise.
36264         * tests/test-rename.c (rename): Likewise.
36265         * tests/test-renameat.c (renameat): Likewise.
36266         * tests/test-rmdir.c (rmdir): Likewise.
36267         * tests/test-round1.c (round): Likewise.
36268         * tests/test-roundf1.c (roundf): Likewise.
36269         * tests/test-roundl.c (roundl): Likewise.
36270         * tests/test-setenv.c (setenv): Likewise.
36271         * tests/test-sigaction.c (sigaction): Likewise.
36272         * tests/test-sleep.c (sleep): Likewise.
36273         * tests/test-snprintf.c (snprintf): Likewise.
36274         * tests/test-sprintf-posix.c (sprintf): Likewise.
36275         * tests/test-stat.c (stat): Likewise.
36276         * tests/test-stpncpy.c (stpncpy): Likewise.
36277         * tests/test-strcasestr.c (strcasestr): Likewise.
36278         * tests/test-strchrnul.c (strchrnul): Likewise.
36279         * tests/test-strerror.c (strerror): Likewise.
36280         * tests/test-strsignal.c (strsignal): Likewise.
36281         * tests/test-strstr.c (strstr): Likewise.
36282         * tests/test-strtod.c (strtod): Likewise.
36283         * tests/test-strverscmp.c (strverscmp): Likewise.
36284         * tests/test-symlink.c (symlink): Likewise.
36285         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
36286         * tests/test-times.c (times): Likewise.
36287         * tests/test-trunc1.c (trunc): Likewise.
36288         * tests/test-truncf1.c (truncf): Likewise.
36289         * tests/test-truncl.c (truncl): Likewise.
36290         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
36291         Likewise.
36292         * tests/test-uname.c (uname): Likewise.
36293         * tests/test-unlink.c (unlink): Likewise.
36294         * tests/test-unlinkat.c (unlinkat): Likewise.
36295         * tests/test-unsetenv.c (unsetenv): Likewise.
36296         * tests/test-usleep.c (usleep): Likewise.
36297         * tests/test-utimensat.c (utimensat): Likewise.
36298         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
36299         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
36300         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
36301         * tests/test-vprintf-posix.c (vprintf): Likewise.
36302         * tests/test-vsnprintf.c (vsnprintf): Likewise.
36303         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
36304         * tests/test-wcrtomb.c (wcrtomb): Likewise.
36305         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
36306         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
36307         * tests/test-wcwidth.c (wcwidth): Likewise.
36308
36309         build: pull in conditional headers during GNULIB_POSIXCHECK
36310         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
36311         definitions from any conditionally-included headers.
36312         * lib/stdlib.in.h (includes): Likewise.
36313         * lib/unistd.in.h (includes): Likewise.
36314
36315 2009-12-24  Bruno Haible  <bruno@clisp.org>
36316
36317         * tests/test-argv-iter.c: Include header file being tested immediately
36318         after config.h.
36319         * tests/test-base64.c: Likewise.
36320         * tests/test-flock.c: Likewise.
36321         * tests/test-fsync.c: Likewise.
36322         * tests/test-getdate.c: Likewise.
36323         * tests/test-getndelim2.c: Likewise.
36324         * tests/test-isfinite.c: Likewise.
36325         * tests/test-isinf.c: Likewise.
36326         * tests/test-strerror.c: Likewise.
36327         * tests/test-strsignal.c: Likewise.
36328
36329 2009-12-23  Eric Blake  <ebb9@byu.net>
36330
36331         unistd: work around cygwin bug
36332         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
36333         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
36334         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
36335
36336 2009-12-23  Bruno Haible  <bruno@clisp.org>
36337
36338         localename: More tests.
36339         * tests/test-localename.c (SIZEOF): New macro.
36340         (categories): New variable.
36341         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
36342         test_locale_name_default): Add test w.r.t. thread locale.
36343         (test_locale_name_thread): New function.
36344         (main): Invoke it.
36345
36346         localename: Make aware of thread locale.
36347         * lib/localename.h (gl_locale_name_thread): New declaration.
36348         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
36349         behaviour with respect to thread locale.
36350         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
36351         <langinfo.h>, glthread/lock.h.
36352         (SIZE_BITS): New macro.
36353         (string_hash): New function.
36354         (struct hash_node): New type.
36355         (HASH_TABLE_SIZE): New macro.
36356         (struniq_hash_table, struniq_lock): New variables.
36357         (struniq): New function.
36358         (gl_locale_name_thread): New function.
36359         (gl_locale_name): Invoke it.
36360         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
36361         * modules/localename (Depends-on): Add lock.
36362         Reported by Mike Gran <spk121@yahoo.com>.
36363
36364 2009-12-23  Eric Blake  <ebb9@byu.net>
36365
36366         va-args: new module
36367         * modules/va-args: New file.
36368         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
36369         * MODULES.html.sh (Core language properties): Mention it.
36370
36371         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
36372         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
36373         named alias for __attribute__((__unused__)).
36374         * lib/chown.c: Update client.
36375         * lib/fchmodat.c: Likewise.
36376         * lib/fts.c: Likewise.
36377         * lib/getdate.y: Likewise.
36378         * lib/getgroups.c: Likewise.
36379         * lib/getopt.c: Likewise.
36380         * lib/getugroups.c: Likewise.
36381         * lib/mkdir.c: Likewise.
36382         * lib/mkfifo.c: Likewise.
36383         * lib/mkfifoat.c: Likewise.
36384         * lib/mknod.c: Likewise.
36385         * lib/mknodat.c: Likewise.
36386         * lib/readlink.c: Likewise.
36387         * lib/se-context.in.h: Likewise.
36388         * lib/se-selinux.in.h: Likewise.
36389         * lib/sockets.c: Likewise.
36390         * lib/symlink.c: Likewise.
36391         * lib/symlinkat.c: Likewise.
36392         * lib/unicodeio.c: Likewise.
36393         * lib/unistr.h: Likewise.
36394         * tests/test-areadlink.c: Likewise.
36395         * tests/test-areadlinkat.c: Likewise.
36396         * tests/test-filenamecat.c: Likewise.
36397         * tests/test-fseeko.c: Likewise.
36398         * tests/test-ftello.c: Likewise.
36399         * tests/test-getdate.c: Likewise.
36400         * tests/test-getgroups.c: Likewise.
36401         * tests/test-gethostname.c: Likewise.
36402         * tests/test-quotearg.c: Likewise.
36403         * tests/test-version-etc.c: Likewise.
36404         * tests/test-xalloc-die.c: Likewise.
36405         * tests/test-xfprintf-posix.c: Likewise.
36406         * tests/test-xprintf-posix.c: Likewise.
36407         * tests/test-xvasprintf.c: Likewise.
36408
36409         tests: avoid compiler warnings
36410         * tests/test-fcntl.c (main): Delete unused parameters.
36411         * tests/test-freopen-safer.c (main): Likewise.
36412         * tests/test-xalloc-die.c (main): Mark unused parameters.
36413         * tests/test-fseeko.c (main): Likewise.
36414         * tests/test-ftello.c (main): Likewise.
36415         * tests/test-nanosleep.c (main): Avoid declaration warning.
36416         * tests/test-sleep.c (main): Likewise.
36417         * tests/test-unsetenv.c (main): Silence warning about string
36418         literal.
36419         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
36420
36421 2009-12-23  Bruno Haible  <bruno@clisp.org>
36422
36423         * tests/test-localename.c (test_locale_name): New function, extracted
36424         from main. Also test mixed situations.
36425         (test_locale_name_posix, test_locale_name_environ,
36426         test_locale_name_default): New functions.
36427         (main): Invoke them all.
36428         * modules/localename-tests (configure.ac): Test for newlocale.
36429
36430 2009-12-23  Bruno Haible  <bruno@clisp.org>
36431
36432         unistd: Ensure getcwd gets declared before being overridden.
36433         * lib/unistd.in.h: Conditionally include <io.h>.
36434
36435 2009-12-22  Bruno Haible  <bruno@clisp.org>
36436
36437         wchar: Diagnose broken combination of glibc and gcc versions and flags.
36438         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
36439         (gl_WCHAR_H): Invoke it.
36440         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
36441         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
36442         Reported by Karl Berry <karl@freefriends.org>.
36443
36444 2009-12-22  Eric Blake  <ebb9@byu.net>
36445
36446         math, unistd: avoid redundant includes
36447         * lib/math.in.h (isnan): No need to re-include <math.h>.
36448         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
36449
36450         getsubopt: work around cygwin bug
36451         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
36452         avoid conflicting with system getsubopt.
36453         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
36454         bug.
36455
36456         getopt: synchronize from glibc
36457         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
36458         parameter order.  Adjust all callers.
36459         (_getopt_internal_r, main): Adjust quoting in error messages.
36460         Drop considerations for outdated POSIX 1003.2 error message.
36461         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
36462         callers.
36463         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
36464
36465         test-getopt: test stderr behavior
36466         * modules/getopt-posix-tests (Depends-on): Add dup2.
36467         * tests/test-getopt.c (ASSERT): Avoid stderr.
36468         (main): Move stderr to a temporary file.
36469         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
36470         Instead, add parameter to inform caller if output occurred.
36471         (test_getopt): Adjust all existing tests to expect silence, and
36472         add new tests of leading ":".
36473         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
36474         glibc shortcomings with leading "-:" or "+:" in optstring.
36475         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
36476         Likewise.
36477         * doc/posix-functions/getopt.texi (getopt): Likewise.
36478
36479         test-getopt: enhance test
36480         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
36481         supports optind=0.
36482         * tests/test-getopt.c (OPTIND_MIN): Move...
36483         * tests/test-getopt.h (OPTIND_MIN): ...here.
36484         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
36485         Require that optind=0 works, since modern BSD supports it in
36486         addition to optreset, and since coreutils expects it.
36487         (test_getopt_long_only): New test.
36488         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
36489         glibc shortcomings with 'W;', and enforcement of optind=0.
36490         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
36491         Likewise.
36492
36493 2009-12-21  Bruno Haible  <bruno@clisp.org>
36494
36495         localename: Improvements for MacOS X and Cygwin.
36496         * lib/localename.h (gl_locale_name_environ): New declaration.
36497         * lib/localename.c (gl_locale_name_environ): New function, extracted from
36498         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
36499         (gl_locale_name_posix): Invoke it.
36500         (gl_locale_name_default): Add comments. Use Windows native API also on
36501         Cygwin.
36502
36503 2009-12-21  Bruno Haible  <bruno@clisp.org>
36504
36505         Update list of Win32 locale ids.
36506         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
36507         (LANG_SAMI): Renamed from LANG_SAAMI.
36508         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
36509         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
36510         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
36511         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
36512         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
36513         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
36514         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
36515         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
36516         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
36517         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
36518         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
36519         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
36520         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
36521         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
36522         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
36523         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
36524         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
36525         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
36526         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
36527         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
36528         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
36529         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
36530         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
36531         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
36532         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
36533         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
36534         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
36535         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
36536         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
36537         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
36538         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
36539         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
36540         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
36541         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
36542         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
36543         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
36544         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
36545         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
36546         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
36547         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
36548         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
36549         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
36550         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
36551         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
36552         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
36553         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
36554         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
36555         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
36556         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
36557         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
36558         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
36559         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
36560         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
36561         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
36562         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
36563         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
36564         Add more languages and countries for Sami, Sorbian. Add more countries
36565         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
36566         for Pashto. Change country for Syriac, Tswana.
36567
36568 2009-12-21  Eric Blake  <ebb9@byu.net>
36569
36570         test-utimens: avoid spurious failure
36571         * tests/test-chown.h (nap): Factor...
36572         * tests/nap.h: ...into new file.
36573         * tests/test-lchown.h (nap): Avoid duplication.
36574         * tests/test-utimens-common.h (nap): Use shared implementation,
36575         necessary on file systems with 1-second resolution.
36576         * modules/chown-tests (Files): Include new file.
36577         * modules/fdutimensat-tests (Files): Likewise.
36578         * modules/futimens-tests (Files): Likewise.
36579         * modules/lchown-tests (Files): Likewise.
36580         * modules/openat-tests (Files): Likewise.
36581         * modules/utimens-tests (Files): Likewise.
36582         * modules/utimensat-tests (Files): Likewise.
36583
36584 2009-12-19  Eric Blake  <ebb9@byu.net>
36585
36586         futimens, utimensat: work around Linux bug
36587         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
36588         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
36589         * lib/utimensat.c (rpl_utimensat): Work around it.
36590         * lib/futimens.c (rpl_futimens): Adjust comment.
36591
36592         utimens: work around Linux ctime bug
36593         * lib/utimens.c (detect_ctime_bug): New helper function.
36594         (update_timespec): Differentiate between workaround needed for
36595         this bug vs. what is needed for systems that lack utimensat.
36596         (fdutimens, lutimens): Work around bug.
36597
36598         utimens: check for ctime update
36599         * tests/test-utimens-common.h (check_ctime): Define.
36600         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
36601         * tests/test-futimens.h (test_futimens): Likewise.
36602         * tests/test-lutimens.h (test_lutimens): Likewise.
36603         * doc/posix-functions/futimens.texi (futimens): Document the bug.
36604         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
36605
36606 2009-12-19  Bruno Haible  <bruno@clisp.org>
36607
36608         dprintf-posix: Check against memory leak fixed on 2009-12-15.
36609         * tests/test-dprintf-posix2.sh: New file.
36610         * tests/test-dprintf-posix2.c: New file.
36611         * modules/dprintf-posix-tests (Files): Add them.
36612         (configure.ac): Check for getrlimit and setrlimit.
36613         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
36614
36615 2009-12-19  Bruno Haible  <bruno@clisp.org>
36616
36617         fprintf-posix: Check against memory leak fixed on 2009-12-15.
36618         * tests/test-fprintf-posix3.sh: New file.
36619         * tests/test-fprintf-posix3.c: New file.
36620         * modules/fprintf-posix-tests (Files): Add them.
36621         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
36622
36623 2009-12-19  Eric Blake  <ebb9@byu.net>
36624
36625         dirfd: fix prototype
36626         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
36627         * lib/dirfd.c (dirfd): Likewise.
36628
36629         canonicalize: reduce memory usage
36630         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
36631         allocation to size.
36632         Reported by Solar Designer <solar@openwall.com>.
36633
36634 2009-12-19  Bruno Haible  <bruno@clisp.org>
36635
36636         New module attribute 'Applicability'.
36637         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
36638         * gnulib-tool: New option --extract-applicability.
36639         (func_usage): Document it.
36640         (sed_extract_prog): Recognize it.
36641         (func_get_applicability): New function.
36642         (func_import): Generalize handling of 'link-warning' module.
36643         * modules/link-warning (Applicability): New section.
36644         * modules/arg-nonnull (Applicability): New section.
36645         Repoted by Simon Josefsson <simon@josefsson.org>.
36646
36647 2009-12-19  Bruno Haible  <bruno@clisp.org>
36648
36649         fflush: tweak
36650         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
36651         * lib/fseeko.c (rpl_fseeko): Likewise.
36652
36653 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
36654
36655         * lib/gl_list.h: Fix typo in comment.
36656
36657 2009-12-16  Eric Blake  <ebb9@byu.net>
36658
36659         fcntl: use to simplify other modules
36660         * modules/cloexec (Depends-on): Add fcntl.
36661         * modules/fchdir (Depends-on): Likewise.
36662         * modules/fd-safer-flag (Depends-on): Likewise.
36663         * modules/unistd-safer (Depends-on): Likewise.
36664         * modules/dup3 (configure.ac): Set module indicator.
36665         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
36666         missing.
36667         * lib/fchdir.c (_gl_register_dup): Fix comment.
36668         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
36669         * lib/dup-safer.c (dup_safer): Likewise.
36670         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
36671         * lib/dup3.c (dup3): Likewise.
36672         * tests/test-fchdir.c (main): Enhance test.
36673         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
36674
36675         fcntl: port portions of fcntl to mingw
36676         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
36677         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
36678         replacement for mingw.
36679         * modules/fcntl (Description): Update.
36680         (Depends-on): Add dup2.
36681         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
36682         * modules/fcntl-h (Makefile.am): Substitute it.
36683         * lib/fcntl.in.h (fcntl): Update declaration.
36684         (F_DUPFD, F_GETFD): New macros, when needed.
36685         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
36686         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
36687         * tests/test-fcntl.c (check_flags, main): Enhance test for items
36688         we now guarantee.
36689
36690         fcntl: work around cygwin bug in F_DUPFD
36691         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
36692         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
36693         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
36694         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
36695         * doc/posix-functions/fcntl.texi (fcntl): Document it.
36696
36697         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
36698         * modules/fcntl (Files): List new files.
36699         (configure.ac): Run a test.
36700         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
36701         * lib/fcntl.c (rpl_fcntl): Likewise.
36702         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
36703         (gl_FCNTL_H): Always replace fcntl.h.
36704         * modules/fcntl-h (Makefile.am): Substitute witnesses.
36705         * lib/fcntl.in.h (fcntl): Declare replacement.
36706         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
36707         needed, plus a witness.
36708         * doc/posix-functions/fcntl.texi (fcntl): Document this.
36709         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
36710         * tests/test-fcntl.c: New file.
36711         * modules/fcntl-tests: Likewise.
36712
36713         binary-io: avoid potential compilation warning
36714         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
36715         directives.
36716
36717         fflush: avoid compilation error on NetBSD
36718         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
36719         between off_t and fpos_t, since the latter is sometimes a struct.
36720         * lib/fseeko.c (rpl_fseeko): Likewise.
36721         Reported by Alexander Nasonov <alnsn@yandex.ru>.
36722
36723 2009-12-15  Eric Blake  <ebb9@byu.net>
36724
36725         fcntl-h, stdio, sys_ioctl: fix declarations
36726         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
36727         function must not take arguments.
36728         * lib/sys_ioctl.in.h (ioctl): Likewise.
36729         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
36730         (open): Add a link warning.
36731
36732 2009-12-15  Jim Meyering  <meyering@redhat.com>
36733
36734         areadlink, areadlink-with-size: relax license to LGPLv2+
36735         * modules/areadlink (License): Relax to LGPLv2+.
36736         * modules/areadlink-with-size (License): Likewise.
36737
36738 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
36739             Bruno Haible  <bruno@clisp.org>
36740
36741         *printf: Fix memory leak.
36742         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
36743         * lib/vfprintf.c (vfprintf): Likewise.
36744         * lib/dprintf.c (dprintf): Likewise.
36745         * lib/vdprintf.c (vdprintf): Likewise.
36746
36747 2009-12-14  Eric Blake  <ebb9@byu.net>
36748
36749         accept4: adjust module dependencies
36750         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
36751
36752         utimens: one more try at avoiding compiler warning
36753         * lib/utimens.c (lutimens): Lower scope of result.
36754
36755 2009-12-13  Bruno Haible  <bruno@clisp.org>
36756
36757         Move the malloc checking from module 'list' to new module 'xlist'.
36758         * modules/xlist: New file.
36759         * lib/gl_xlist.h: New file.
36760         * lib/gl_xlist.c: New file.
36761         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
36762         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
36763         gl_list_add_last, gl_list_add_before, gl_list_add_after,
36764         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
36765         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
36766         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
36767         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
36768         gl_sortedlist_nx_add): New declarations.
36769         (struct gl_list_implementation): Rename and change methods accordingly.
36770         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
36771         (gl_list_nx_create): Renamed from gl_list_create.
36772         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
36773         (gl_list_nx_set_at): Renamed from gl_list_set_at.
36774         (gl_list_nx_add_first): Renamed from gl_list_add_first.
36775         (gl_list_nx_add_last): Renamed from gl_list_add_last.
36776         (gl_list_nx_add_before): Renamed from gl_list_add_before.
36777         (gl_list_nx_add_after): Renamed from gl_list_add_after.
36778         (gl_list_nx_add_at): Renamed from gl_list_add_at.
36779         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
36780         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
36781         gl_list_create_empty.
36782         (gl_list_nx_create): Renamed from gl_list_create.
36783         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
36784         (gl_list_nx_set_at): Renamed from gl_list_set_at.
36785         (gl_list_nx_add_first): Renamed from gl_list_add_first.
36786         (gl_list_nx_add_last): Renamed from gl_list_add_last.
36787         (gl_list_nx_add_before): Renamed from gl_list_add_before.
36788         (gl_list_nx_add_after): Renamed from gl_list_add_after.
36789         (gl_list_nx_add_at): Renamed from gl_list_add_at.
36790         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
36791         * lib/gl_array_list.c: Don't include xalloc.h.
36792         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
36793         NULL upon out-of-memory.
36794         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
36795         out-of-memory.
36796         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
36797         Change return type to 'int'.
36798         (gl_array_nx_set_at): Renamed from gl_array_set_at.
36799         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
36800         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
36801         upon out-of-memory.
36802         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
36803         upon out-of-memory.
36804         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
36805         upon out-of-memory.
36806         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
36807         upon out-of-memory.
36808         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
36809         out-of-memory.
36810         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
36811         Update.
36812         (gl_array_list_implementation): Update.
36813         * lib/gl_carray_list.c: Don't include xalloc.h.
36814         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
36815         Return NULL upon out-of-memory.
36816         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
36817         out-of-memory.
36818         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
36819         Change return type to 'int'.
36820         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
36821         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
36822         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
36823         upon out-of-memory.
36824         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
36825         upon out-of-memory.
36826         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
36827         out-of-memory.
36828         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
36829         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
36830         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
36831         Update.
36832         (gl_carray_list_implementation): Update.
36833         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
36834         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
36835         gl_linked_create_empty. Return NULL upon out-of-memory.
36836         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
36837         out-of-memory.
36838         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
36839         Change return type to 'int'. Return -1 upon out-of-memory.
36840         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
36841         out-of-memory.
36842         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
36843         upon out-of-memory.
36844         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
36845         upon out-of-memory.
36846         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
36847         NULL upon out-of-memory.
36848         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
36849         upon out-of-memory.
36850         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
36851         out-of-memory.
36852         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
36853         Update.
36854         * lib/gl_linked_list.c: Don't include xalloc.h.
36855         (gl_linked_list_implementation): Update.
36856         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
36857         (add_to_bucket): Change return type to 'int'.
36858         (gl_linkedhash_list_implementation): Update.
36859         * lib/gl_anytree_list1.h (free_subtree): New function.
36860         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
36861         gl_tree_create_empty. Return NULL upon out-of-memory.
36862         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
36863         Change return type to 'int'. Return -1 upon out-of-memory.
36864         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
36865         out-of-memory.
36866         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
36867         (gl_tree_remove_node): New function, moved here from
36868         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
36869         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
36870         Update.
36871         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
36872         malloc, not xmalloc. Return NULL upon out-of-memory.
36873         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
36874         out-of-memory.
36875         (gl_tree_remove_node_from_tree): New function, extracted from
36876         gl_tree_remove_node.
36877         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
36878         upon out-of-memory.
36879         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
36880         out-of-memory.
36881         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
36882         upon out-of-memory.
36883         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
36884         upon out-of-memory.
36885         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
36886         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
36887         not xmalloc. Return NULL upon out-of-memory.
36888         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
36889         out-of-memory.
36890         (gl_tree_remove_node_from_tree): New function, extracted from
36891         gl_tree_remove_node.
36892         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
36893         upon out-of-memory.
36894         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
36895         out-of-memory.
36896         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
36897         upon out-of-memory.
36898         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
36899         upon out-of-memory.
36900         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
36901         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
36902         gl_anytree_list1.h before gl_anyavltree_list2.h.
36903         (gl_avltree_list_implementation): Update.
36904         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
36905         gl_anytree_list1.h before gl_anyavltree_list2.h.
36906         (gl_rbtree_list_implementation): Update.
36907         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
36908         Change return type to 'int'. Return -1 upon out-of-memory. Use
36909         __builtin_expect.
36910         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
36911         (gl_avltreehash_list_implementation): Update.
36912         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
36913         (gl_rbtreehash_list_implementation): Update.
36914         * modules/array-list (Depends-on): Remove xalloc.
36915         * modules/carray-list (Depends-on): Likewise.
36916         * modules/linked-list (Depends-on): Likewise.
36917         * modules/linkedhash-list (Depends-on): Likewise.
36918         * modules/avltree-list (Depends-on): Likewise.
36919         * modules/rbtree-list (Depends-on): Likewise.
36920         * modules/avltreehash-list (Depends-on): Likewise.
36921         * modules/rbtreehash-list (Depends-on): Likewise.
36922
36923         * modules/xsublist: New file.
36924         * lib/gl_xsublist.h: New file.
36925         * lib/gl_xsublist.c: New file.
36926         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
36927         (gl_sublist_nx_create): New declaration.
36928         * lib/gl_sublist.c: Don't include xalloc.h.
36929         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
36930         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
36931         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
36932         Change return type to 'int'. Return -1 upon out-of-memory.
36933         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
36934         upon out-of-memory.
36935         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
36936         NULL upon out-of-memory.
36937         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
36938         upon out-of-memory.
36939         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
36940         NULL upon out-of-memory.
36941         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
36942         NULL upon out-of-memory.
36943         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
36944         upon out-of-memory.
36945         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
36946         (gl_sublist_list_implementation): Update.
36947         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
36948         upon out-of-memory.
36949         * modules/sublist (Depends-on): Remove xalloc.
36950
36951         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
36952         * tests/test-carray_list.c: Likewise.
36953         * tests/test-linked_list.c: Likewise.
36954         * tests/test-linkedhash_list.c: Likewise.
36955         * tests/test-avltree_list.c: Likewise.
36956         * tests/test-rbtree_list.c: Likewise.
36957         * tests/test-avltreehash_list.c: Likewise.
36958         * tests/test-rbtreehash_list.c: Likewise.
36959         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
36960         * modules/carray-list-tests (Makefile.am): Likewise.
36961         * modules/linked-list-tests (Makefile.am): Likewise.
36962         * modules/linkedhash-list-tests (Makefile.am): Likewise.
36963         * modules/avltree-list-tests (Makefile.am): Likewise.
36964         * modules/rbtree-list-tests (Makefile.am): Likewise.
36965         * modules/avltreehash-list-tests (Makefile.am): Likewise.
36966         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
36967
36968         * NEWS: Mention the changes.
36969
36970         * lib/clean-temp.c: Include gl_xlist.h.
36971         * modules/clean-temp (Depends-on): Add xlist.
36972
36973         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
36974         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
36975
36976         * tests/test-array_oset.c: Include gl_xlist.h.
36977         * modules/array-oset-tests (Depends-on): Add xlist.
36978
36979         Reported by José E. Marchesi <jemarch@gnu.org>.
36980
36981 2009-12-13  Bruno Haible  <bruno@clisp.org>
36982
36983         Move the malloc checking from module 'oset' to new module 'xoset'.
36984         * modules/xoset: New file.
36985         * lib/gl_xoset.h: New file.
36986         * lib/gl_xoset.c: New file.
36987         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
36988         declarations.
36989         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
36990         (struct gl_oset_implementation): Rename and change methods accordingly.
36991         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
36992         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
36993         'int'. Mark as __warn_unused_result__.
36994         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
36995         gl_oset_create_empty.
36996         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
36997         'int'.
36998         * lib/gl_array_oset.c: Don't include xalloc.h.
36999         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
37000         malloc, not xmalloc.
37001         (grow): Change return type to 'int'. Don't call xalloc_die.
37002         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
37003         to 'int'.
37004         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
37005         'int'.
37006         (gl_array_oset_implementation): Update.
37007         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
37008         gl_tree_create_empty.
37009         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
37010         'int'.
37011         * lib/gl_avltree_oset.c: Don't include xalloc.h.
37012         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
37013         xmalloc.
37014         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
37015         not xmalloc.
37016         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
37017         xmalloc.
37018         (gl_avltree_oset_implementation): Update.
37019         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
37020         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
37021         xmalloc.
37022         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
37023         not xmalloc.
37024         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
37025         xmalloc.
37026         (gl_rbtree_oset_implementation): Update.
37027         * modules/array-oset (Depends-on): Remove xalloc.
37028         * modules/avltree-oset (Depends-on): Likewise.
37029         * modules/rbtree-oset (Depends-on): Likewise.
37030         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
37031         * tests/test-avltree_oset.c: Likewise.
37032         * tests/test-rbtree_oset.c: Likewise.
37033         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
37034         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
37035         * modules/rbtree-oset-tests (Makefile.am): Likewise.
37036         * NEWS: Mention the change.
37037
37038 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
37039
37040         maint.mk: allow a project to override release-prep commands
37041         * top/maint.mk (alpha, beta, stable): Move release-preparatory
37042         commands into a new rule.
37043         (release-prep): New rule.
37044         (release-prep-hook): New overridable variable.
37045
37046 2009-12-13  Bruno Haible  <bruno@clisp.org>
37047
37048         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
37049
37050 2009-12-13  Jim Meyering  <meyering@redhat.com>
37051
37052         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
37053         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
37054
37055 2009-12-12  Bruno Haible  <bruno@clisp.org>
37056
37057         duplocale: Tweak.
37058         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
37059
37060 2009-12-12  Karl Berry  <karl@gnu.org>
37061
37062         * config/srclist.txt (strtoll.c): tab changes, no more sync.
37063
37064 2009-12-12  Bruno Haible  <bruno@clisp.org>
37065
37066         * m4/po.m4: Undo incorrect untabification.
37067
37068 2009-12-12  Bruno Haible  <bruno@clisp.org>
37069
37070         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
37071         * modules/c-strtod (Depends-on): Add locale.
37072         * modules/c-strtold (Depends-on): Likewise.
37073
37074 2009-12-12  Bruno Haible  <bruno@clisp.org>
37075
37076         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
37077
37078 2009-12-11  Eric Blake  <ebb9@byu.net>
37079
37080         setenv: relax requirement in light of POSIX ruling
37081         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
37082         not NULL.
37083         * tests/test-setenv.c (main): Relax test.
37084         * tests/test-unsetenv.c (main): Likewise.
37085         * doc/posix-functions/setenv.texi (setenv): Document this.
37086         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
37087
37088 2009-12-11  Bruno Haible  <bruno@clisp.org>
37089
37090         New module 'fd-safer-flag'.
37091         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
37092         * lib/dup-safer.c (dup_safer_flag): Remove function.
37093         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
37094         * lib/fd-safer.c (fd_safer_flag): Remove function.
37095         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
37096         * modules/cloexec (configure.ac): Drop indicator macro.
37097         * modules/fd-safer-flag: New file.
37098         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
37099         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
37100         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
37101
37102 2009-12-11  Bruno Haible  <bruno@clisp.org>
37103
37104         Tests for module 'nl_langinfo'.
37105         * modules/nl_langinfo-tests: New file.
37106         * tests/test-nl_langinfo.sh: New file.
37107         * tests/test-nl_langinfo.c: New file.
37108
37109         New module 'nl_langinfo'.
37110         * lib/nl_langinfo.c: New file.
37111         * m4/nl_langinfo.m4: New file.
37112         * modules/nl_langinfo: New file.
37113         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
37114
37115 2009-12-11  Bruno Haible  <bruno@clisp.org>
37116
37117         Tests for module 'langinfo'.
37118         * modules/langinfo-tests: New file.
37119         * tests/test-langinfo.c: New file.
37120
37121         New module 'langinfo'.
37122         * lib/langinfo.in.h: New file.
37123         * m4/langinfo_h.m4: New file.
37124         * modules/langinfo: New file.
37125         * doc/posix-headers/langinfo.texi: Mention the new module.
37126
37127 2009-12-11  Bruno Haible  <bruno@clisp.org>
37128
37129         * lib/config.charset: Untabify.
37130
37131 2009-12-11  Bruno Haible  <bruno@clisp.org>
37132
37133         * modules/unistd-safer (configure.ac): Drop indicator macro.
37134
37135 2009-12-11  Bruno Haible  <bruno@clisp.org>
37136
37137         Move pipe2-safer code to its own file.
37138         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
37139         * lib/pipe-safer.c (pipe2_safer): Remove function.
37140         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
37141         (Makefile.am): Add it to lib_SOURCES.
37142
37143 2009-12-10  Bruno Haible  <bruno@clisp.org>
37144
37145         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
37146
37147 2009-12-10  Bruno Haible  <bruno@clisp.org>
37148
37149         Declare which arguments expect non-NULL values, for GCC and clang.
37150         * build-aux/arg-nonnull.h: New file.
37151         * modules/arg-nonnull: New file.
37152         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
37153         (inet_ntop, inet_pton): Use it.
37154         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
37155         (closedir, dirfd, opendir, scandir, alphasort): Use it.
37156         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
37157         (open, openat): Use it.
37158         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
37159         (fnmatch): Use it.
37160         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
37161         (getopt, getopt_long, getopt_long_only): Use it.
37162         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
37163         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
37164         Use it.
37165         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
37166         (iconv_open): Use it.
37167         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
37168         (strtoimax, strtoumax): Use it.
37169         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
37170         (duplocale): Use it.
37171         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
37172         (frexp, frexpl): Use it.
37173         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
37174         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
37175         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
37176         (tsearch, tfind, tdelete, twalk): Use it.
37177         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
37178         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
37179         sigpending): Use it.
37180         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
37181         (posix_spawn, posix_spawnp, posix_spawnattr_init,
37182         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
37183         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
37184         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
37185         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
37186         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
37187         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
37188         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
37189         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
37190         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
37191         Use it.
37192         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
37193         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
37194         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
37195         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
37196         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
37197         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
37198         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
37199         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
37200         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
37201         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
37202         strtoull, unsetenv): Use it.
37203         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
37204         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
37205         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
37206         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
37207         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
37208         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
37209         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
37210         (strcasecmp, strncasecmp): Use it.
37211         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
37212         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
37213         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
37214         rpl_setsockopt): Use it.
37215         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
37216         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
37217         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
37218         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
37219         (gettimeofday): Use it.
37220         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
37221         (times): Use it.
37222         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
37223         (uname): Use it.
37224         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
37225         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
37226         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
37227         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
37228         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
37229         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
37230         unlinkat, write): Use it.
37231         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
37232         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
37233         * lib/argv-iter.h: Include arg-nonnull.h.
37234         (_ATTRIBUTE_NONNULL_): Remove macro.
37235         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
37236         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
37237         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
37238         optimization.
37239         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
37240         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
37241         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
37242         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
37243         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
37244         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
37245         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
37246         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
37247         * modules/arpa_inet (Depends-on): Add arg-nonnull.
37248         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
37249         * modules/dirent (Depends-on): Add arg-nonnull.
37250         (Makefile.am): Insert arg-nonnull.h into dirent.h.
37251         * modules/fcntl-h (Depends-on): Add arg-nonnull.
37252         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
37253         * modules/fnmatch (Depends-on): Add arg-nonnull.
37254         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
37255         * modules/getopt-posix (Depends-on): Add arg-nonnull.
37256         (Makefile.am): Insert arg-nonnull.h into getopt.h.
37257         * modules/glob (Depends-on): Add arg-nonnull.
37258         (Makefile.am): Insert arg-nonnull.h into glob.h.
37259         * modules/iconv_open (Depends-on): Add arg-nonnull.
37260         (Makefile.am): Insert arg-nonnull.h into iconv.h.
37261         * modules/inttypes (Depends-on): Add arg-nonnull.
37262         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
37263         * modules/locale (Depends-on): Add arg-nonnull.
37264         (Makefile.am): Insert arg-nonnull.h into locale.h.
37265         * modules/math (Depends-on): Add arg-nonnull.
37266         (Makefile.am): Insert arg-nonnull.h into math.h.
37267         * modules/netdb (Depends-on): Add arg-nonnull.
37268         (Makefile.am): Insert arg-nonnull.h into netdb.h.
37269         * modules/search (Depends-on): Add arg-nonnull.
37270         (Makefile.am): Insert arg-nonnull.h into search.h.
37271         * modules/signal (Depends-on): Add arg-nonnull.
37272         (Makefile.am): Insert arg-nonnull.h into signal.h.
37273         * modules/spawn (Depends-on): Add arg-nonnull.
37274         (Makefile.am): Insert arg-nonnull.h into spawn.h.
37275         * modules/stdio (Depends-on): Add arg-nonnull.
37276         (Makefile.am): Insert arg-nonnull.h into stdio.h.
37277         * modules/stdlib (Depends-on): Add arg-nonnull.
37278         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
37279         * modules/string (Depends-on): Add arg-nonnull.
37280         (Makefile.am): Insert arg-nonnull.h into string.h.
37281         * modules/strings (Depends-on): Add arg-nonnull.
37282         (Makefile.am): Insert arg-nonnull.h into strings.h.
37283         * modules/sys_socket (Depends-on): Add arg-nonnull.
37284         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
37285         * modules/sys_stat (Depends-on): Add arg-nonnull.
37286         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
37287         * modules/sys_time (Depends-on): Add arg-nonnull.
37288         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
37289         * modules/sys_times (Depends-on): Add arg-nonnull.
37290         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
37291         * modules/sys_utsname (Depends-on): Add arg-nonnull.
37292         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
37293         * modules/time (Depends-on): Add arg-nonnull.
37294         (Makefile.am): Insert arg-nonnull.h into time.h.
37295         * modules/unistd (Depends-on): Add arg-nonnull.
37296         (Makefile.am): Insert arg-nonnull.h into unistd.h.
37297         * modules/wchar (Depends-on): Add arg-nonnull.
37298         (Makefile.am): Insert arg-nonnull.h into wchar.h.
37299         * modules/argv-iter (Depends-on): Add arg-nonnull.
37300         * tests/test-canonicalize.c (null_ptr): New function.
37301         (main): Use it.
37302         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
37303         (main): Use it.
37304         * tests/test-memmem.c (null_ptr): New function.
37305         (main): Use it.
37306         Reported by Jim Meyering.
37307
37308 2009-12-10  Bruno Haible  <bruno@clisp.org>
37309
37310         Use spaces for indentation, not tabs.
37311         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
37312         * m4/*.m4: Untabify.
37313         * build-aux/*.h: Untabify.
37314         * tests/**/*.[hc]: Untabify.
37315         * README: New section "Indent with spaces, not TABs", based on
37316         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
37317         * NEWS: Mention the change.
37318
37319 2009-12-10  Bruno Haible  <bruno@clisp.org>
37320
37321         pty test: Fix link error.
37322         * modules/pty-tests (Makefile.am): Add the default LDADD value to
37323         test_pty_LDADD.
37324
37325 2009-12-07  Simon Josefsson  <simon@josefsson.org>
37326
37327         * modules/pty: New file.
37328         * modules/pty-tests: New file.
37329         * m4/pty.m4: New file.
37330         * tests/test-pty.c: New file.
37331         * doc/glibc-headers/pty.texi: Modified.
37332         * doc/glibc-functions/forkpty.texi: Modified.
37333         * doc/glibc-functions/openpty.texi: Modified.
37334
37335 2009-12-10  Bruno Haible  <bruno@clisp.org>
37336
37337         Avoid syntax error in C++ mode.
37338         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
37339
37340 2009-12-10  Bruno Haible  <bruno@clisp.org>
37341
37342         Use sed with option -e.
37343         * gnulib-tool (func_version, func_emit_copyright_notice,
37344         func_emit_initmacro_end, func_import, func_create_testdir): Pass
37345         option -e to sed.
37346         * modules/link-warning (Makefile.am): Likewise.
37347
37348 2009-12-10  Jim Meyering  <meyering@redhat.com>
37349
37350         mgetgroups: do not write bytes beyond end of malloc'd buffer
37351         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
37352         username, we call getgroups with a one-element-shorter buffer,
37353         but still told it the length was original, max_n_groups.
37354
37355 2009-12-09  Eric Blake  <ebb9@byu.net>
37356
37357         cloexec: relax license
37358         * modules/cloexec (Maintainer): Add myself.
37359         (License): Use LGPL, not GPL.
37360
37361         link-warning: optimize generation
37362         * modules/link-warning (Makefile.am): Reduce process usage.
37363
37364 2009-12-09  Bruno Haible  <bruno@clisp.org>
37365
37366         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
37367         workaround was added on 2009-11-17.
37368
37369 2009-12-09  Jim Meyering  <meyering@redhat.com>
37370             Bruno Haible  <bruno@clisp.org>
37371
37372         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
37373         * modules/link-warning (Makefile.am): Make the comment-removing sed
37374         command more robust in the face of bootstrap-prepended comment lines.
37375
37376 2009-12-09  Bruno Haible  <bruno@clisp.org>
37377
37378         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
37379         most one group.
37380
37381 2009-12-09  Simon Josefsson <simon@josefsson.org>
37382             Bruno Haible  <bruno@clisp.org>
37383
37384         * build-aux/link-warning.h: Add copyright notice.
37385         * modules/link-warning (Makefile.am): Generate link-warning.h from
37386         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
37387         * NEWS: Mention change in link-warning module.
37388         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
37389         * modules/dirent (Makefile.am): Add dependency to dirent.h.
37390         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
37391         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
37392         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
37393         * modules/math (Makefile.am): Add dependency to math.h.
37394         * modules/search (Makefile.am): Add dependency to search.h.
37395         * modules/signal (Makefile.am): Add dependency to signal.h.
37396         * modules/spawn (Makefile.am): Add dependency to spawn.h.
37397         * modules/stdio (Makefile.am): Add dependency to stdio.h.
37398         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
37399         * modules/string (Makefile.am): Add dependency to string.h.
37400         * modules/strings (Makefile.am): Add dependency to strings.h.
37401         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
37402         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
37403         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
37404         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
37405         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
37406         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
37407         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
37408         * modules/unistd (Makefile.am): Add dependency to unistd.h.
37409         * modules/wchar (Makefile.am): Add dependency to wchar.h.
37410
37411 2009-12-09  Bruno Haible  <bruno@clisp.org>
37412
37413         fchdir: Optimize away rpl_fstat when possible.
37414         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
37415         REPLACE_OPEN_DIRECTORY.
37416         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
37417
37418 2009-12-09  Bruno Haible  <bruno@clisp.org>
37419
37420         * lib/fchdir.c: Update comment.
37421
37422 2009-12-09  Bruno Haible  <bruno@clisp.org>
37423
37424         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
37425
37426 2009-12-08  Eric Blake  <ebb9@byu.net>
37427
37428         fchdir: avoid memory leak on re-registration.
37429         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
37430
37431 2009-12-08  Jim Meyering  <meyering@redhat.com>
37432
37433         init.sh: avoid Solaris 10 /bin/sh portability problem
37434         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
37435         sourced script:
37436           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
37437           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
37438           bar
37439         tests/init.sh relied on that, accepting a --set-path=DIR argument,
37440         and two tests used that idiom.
37441         * tests/init.sh: Update suggested usage comments.
37442         (path_prepend_): New function, to be used in place
37443         of the --src-path=DIR option.
37444         (setup_): Move PATH-prepending code into path_prepend_.
37445         * tests/test-pread.sh: Adapt to new usage.
37446         * tests/test-xalloc-die.sh: Likewise.
37447
37448 2009-12-08  Simon Josefsson  <simon@josefsson.org>
37449
37450         * doc/gnulib.texi (Glibc pty.h): Add.
37451         * doc/glibc-functions/forkpty.texi: Add.
37452         * doc/glibc-functions/openpty.texi: Add.
37453         Suggested by Bruno Haible.
37454
37455 2009-12-08  Eric Blake  <ebb9@byu.net>
37456
37457         fchdir: fix logic bugs
37458         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
37459         * tests/test-fchdir.c (main): Enhance test.
37460         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
37461         is in use.
37462
37463         dup2: fix logic bugs
37464         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
37465         REPLACE_DUP2 to decide when rpl_dup2 is needed.
37466         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
37467         exists.
37468         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
37469
37470 2009-12-07  Eric Blake  <ebb9@byu.net>
37471
37472         unlink: fix m4 detection
37473         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
37474
37475         unistd-safer: add unit test
37476         * modules/unistd-safer-tests: New file.
37477         * tests/test-dup-safer.c: Likewise.
37478         * tests/test-cloexec.c (setmode): Avoid compiler warning.
37479         * tests/test-dup2.c (setmode): Likewise.
37480         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
37481
37482         cloexec: preserve text vs. binary across dup_cloexec
37483         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
37484         mode.
37485         * modules/dup2-tests (Depends-on): Add binary-io.
37486         * modules/cloexec-tests (Depends-on): Likewise.
37487         * tests/test-dup2.c (setmode, is_mode): New helpers.
37488         (main): Add tests that translation mode is preserved.
37489         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
37490         Reported by Bruno Haible.
37491
37492         mgetgroups: reduce duplicate listings
37493         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
37494         resulting array.
37495         * tests/test-chown.h (test_chown): Simplify client.
37496         * tests/test-lchown.h (test_lchown): Likewise.
37497
37498 2009-12-06  Bruno Haible  <bruno@clisp.org>
37499
37500         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
37501         value.
37502
37503 2009-12-06  Bruno Haible  <bruno@clisp.org>
37504
37505         * lib/progname.c: Include stdio.h, stdlib.h.
37506         (set_program_name): Reject a NULL argument.
37507
37508 2009-12-05  Eric Blake  <ebb9@byu.net>
37509
37510         pipe2-safer: new module
37511         * modules/pipe2-safer: New file.
37512         * lib/unistd-safer.h (pipe2_safer): New prototype.
37513         * lib/unistd--.h (pipe2): New wrapper.
37514         * lib/pipe-safer.c (pipe2_safer): New function.
37515         * modules/pipe (Depends-on): Add pipe2-safer.
37516         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
37517
37518         stdlib-safer: preserve cloexec flag for mkostemp[s]
37519         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
37520         fd_safer_flag.
37521
37522         unistd-safer: allow preservation of cloexec status via flag
37523         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
37524         prototypes.
37525         * lib/dup-safer.c (dup_safer_flag): New function.
37526         * lib/fd-safer.c (fd_safer_flag): Likewise.
37527         * modules/cloexec (configure.ac): Set witness.
37528
37529         test-dup2: enhance test
37530         * modules/dup2-tests (Depends-on): Add cloexec.
37531         * tests/test-dup2.c (main): Enhance test.
37532
37533         cloexec: add dup_cloexec
37534         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
37535         header and comments.
37536         * lib/cloexec.c (set_cloexec_flag): Add comments.
37537         (dup_cloexec): New function, with mingw implementation borrowed
37538         from...
37539         * lib/w32spawn.h (dup_noinherit): ...here.
37540         * modules/execute (Depends-on): Add cloexec.
37541         * modules/pipe (Depends-on): Likewise.
37542         * modules/cloexec (Depends-on): Add dup2.
37543         * modules/cloexec-tests (Files): New file.
37544         * tests/test-cloexec.c: Likewise.
37545
37546         test-xalloc-die: fix test for mingw
37547         * modules/xalloc-die-tests (Files): Add tests/init.sh.
37548         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
37549         directory and .exe suffix off argv[0] output.
37550
37551         test-fseeko: fix test for mingw
37552         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
37553         than undefining fseek, so test will pass on mingw.
37554
37555 2009-12-05  Bruno Haible  <bruno@clisp.org>
37556
37557         * lib/progname.h (set_program_name): Clarify specification.
37558         * lib/progname.c (set_program_name): Likewise.
37559         Reported by Jim Meyering.
37560
37561 2009-12-05  Jim Meyering  <meyering@redhat.com>
37562
37563         maint.mk: backslash-escape parens in default regexp
37564         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
37565         backslash-escape the literal parentheses.
37566
37567         maint.mk: news-date-check: use grep -E
37568         * top/maint.mk (today): Define a Make variable, not a...
37569         (news-date-check): ...shell variable.
37570         (news-date-regexp): Use the Make variable.
37571         Use grep's -E option.  Change the failing diagnostic to mention
37572         the variable, $(news-date-regexp).
37573
37574 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
37575
37576         maintainer-makefile: allow customization of NEWS entry format
37577         * top/maint.mk (news-date-regexp): New overridable variable.
37578         (news-date-check): Use it.
37579
37580 2009-12-04  Eric Blake  <ebb9@byu.net>
37581
37582         mgetgroups: add xgetgroups, and avoid ENOSYS failures
37583         * lib/mgetgroups.h (xgetgroups): New prototype.
37584         * lib/mgetgroups.c (xgetgroups): New wrapper.
37585         (mgetgroups): Handle ENOSYS.
37586         * modules/mgetgroups (Depends-on): Add realloc.
37587         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
37588
37589         mgetgroups: avoid argument promotion issues with -1
37590         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
37591         for invalid gid_t.
37592         * tests/test-chown.h (getegid, test_chown): Likewise.
37593         * tests/test-lchown.h (getegid, test_lchown): Likewise.
37594
37595 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
37596
37597         exclude: Fix header file problems.
37598         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
37599
37600 2009-12-01  Jim Meyering  <meyering@redhat.com>
37601
37602         fts: fts_open: do not let an empty string cause immediate failure
37603         This is required in support of GNU rm, for which the command
37604         "rm A '' B" must process and remove both A and B, in spite of
37605         the empty string argument.
37606         * lib/fts.c (fts_open): Do not let the presence of an empty string
37607         cause fts_open to fail immediately.  Most fts-using tools must be
37608         able to process all arguments, in order, and can be expected to
37609         diagnose such arguments themselves.
37610
37611 2009-11-30  Eric Blake  <ebb9@byu.net>
37612
37613         utimens: fix compilation error
37614         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
37615         Declare variable at right scope.
37616
37617 2009-11-29  Jim Meyering  <meyering@redhat.com>
37618
37619         bootstrap: handle perl-5.11's changed --version output
37620         * build-aux/bootstrap (get_version): Handle perl separately,
37621         since perl-5.11's --version output is different.
37622
37623 2009-11-28  Jim Meyering  <meyering@redhat.com>
37624
37625         userspec: depend on the inttostr module, too
37626         * modules/userspec (Depends-on): Add inttostr.
37627
37628         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
37629         * lib/userspec.c (parse_with_separator): Do not accept a user ID
37630         number of MAXUID when it evaluates to (uid_t) -1.
37631         Likewise for group ID.  Reported by Matt McCutchen in
37632         <http://savannah.gnu.org/bugs/?28113>
37633
37634         userspec: reformat to use spaces, not TABs
37635         * lib/userspec.c: Expand TABs to spaces.
37636         Add Emacs' "indent-tabs-mode: nil" hint.
37637
37638 2009-11-27  Eric Blake  <ebb9@byu.net>
37639
37640         getopt-gnu: flush out another BSD bug
37641         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
37642         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
37643         flush out BSD bug.
37644         * tests/test-getopt.h (test_getopt): End lists with NULL.
37645         * tests/test-getopt_long.h (test_getopt_long): Likewise.
37646         (test_getopt_long_posix): Enhance test.
37647         * modules/getopt-posix-tests (Depends-on): Add stdbool.
37648         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
37649         getopt-gnu.
37650         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
37651         Likewise.
37652
37653 2009-11-27  Simon Josefsson  <simon@josefsson.org>
37654
37655         * modules/idpriv-droptemp-tests (Notice): Fix text.
37656
37657 2009-11-27  Jim Meyering  <meyering@redhat.com>
37658
37659         test-xalloc-die: avoid spurious failure due to libtool argv difference
37660         In a libtool-enabled project, this test would fail due to a difference
37661         in the emitted program name, e.g.,
37662         -test-xalloc-die: memory exhausted
37663         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
37664         Use program to avoid that.
37665         * modules/xalloc-die-tests (Depends-on): Add progname.
37666         * tests/test-xalloc-die.c: Include progname.h".
37667         (program_name): Remove decl.
37668         (main): Call set_program_name.
37669         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
37670
37671 2009-11-26  Richard Jones  <rjones@redhat.com>
37672
37673         w32sock: leave win32 error in place.
37674         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
37675
37676 2009-11-26  Eric Blake  <ebb9@byu.net>
37677
37678         init.sh: suggest to use skip_ and fail_ functions in comments
37679         * tests/init.sh: Add a sentence.
37680
37681 2009-11-25  Bruno Haible  <bruno@clisp.org>
37682
37683         init.sh: add documentation in comments
37684         * tests/init.sh: Add some developer and user documentation.
37685
37686 2009-11-26  Jim Meyering  <meyering@redhat.com>
37687
37688         init.sh: accommodate even those who specify bogus srcdir manually
37689         * tests/init.sh: Normally, srcdir is guaranteed by automake and
37690         configure-time tests to be sanitized, so that there is no need to
37691         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
37692         (with no double quotes) suffices.  However, since tests may be
37693         invoked manually, and since you may explicitly set srcdir to the
37694         name of a directory containing spaces, do quote its uses here.
37695         * tests/test-pread.sh: Likewise.
37696         Suggested by Bruno Haible.
37697
37698         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
37699         * tests/test-pread.sh: Write no data into the pipe, because
37700         test-pread actually reads none.  This avoids a diagnostic,
37701         "bash: echo: write error: Broken pipe", that arises in the unusual
37702         event something is ignoring SIGPIPE, and might be interpreted
37703         as some sort of failure.  Reported by Bruno Haible.
37704
37705 2009-11-25  Jim Meyering  <meyering@redhat.com>
37706
37707         test-pread: cover failure with ESPIPE and EINVAL
37708         * tests/test-pread.c (main): Test for failure, too.
37709         * tests/test-pread.sh: Invoke with stdin on a pipe.
37710         Suggested by Eric Blake.
37711
37712         pread: improvement and fix
37713         * modules/pread (Depends-on): Depend on lseek, for portability to
37714         e.g., mingw.  Suggested by Eric Blake.
37715         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
37716
37717         unistd.in.h: correct declaration of pread
37718         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
37719         Reported by Richard W.M. Jones.
37720
37721         test-pread.sh: distribute the test script
37722         * modules/pread-tests (Files): Include test-pread.sh.
37723
37724         test-pread.sh: clean up
37725         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
37726         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
37727         That is unnecessary, since it's always ".".
37728         Suggestion from Eric Blake.
37729
37730         test-pread.sh: make executable
37731         * tests/test-pread.sh: Set executable bit.
37732         Reported by Eric Blake.
37733
37734         correct typo in test-pread.sh
37735         * tests/test-pread.sh: Add #! line.
37736
37737         test pread
37738         * tests/test-pread.c: New file.
37739         * tests/test-pread.sh: Likewise.
37740         * modules/pread-tests: Likewise.
37741
37742         pread: new module
37743         * modules/pread: New file.
37744         * lib/unistd.in.h (pread): Define/declare.
37745         * lib/pread.c (pread): New file.
37746         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
37747         * modules/unistd (Makefile.am): Substitute witnesses.
37748         * doc/posix-functions/pread.texi (pread): Update.
37749         * MODULES.html.sh: Add pread.
37750
37751 2009-11-25  Jim Meyering  <meyering@redhat.com>
37752
37753         tests/init.sh: new file to be used via most *.sh tests
37754         * tests/init.sh: New file.
37755
37756 2009-11-25  Eric Blake  <ebb9@byu.net>
37757
37758         utimens: work around older Linux failure with symlinks
37759         * lib/utimens.c (lutimensat_works_really): New variable.
37760         (fdutimens, lutimens): Use it to manage kernels that support
37761         nanosecond times on files, but not on symlinks.
37762         Reported by OndÅ™ej Vašík.
37763
37764         utimes: fix configure grammar
37765         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
37766
37767 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
37768
37769         regex: Fix fastmap for multibyte character ranges.
37770         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
37771         characters when a multibyte character range is included.
37772
37773 2009-11-22  Andy Wingo  <wingo@pobox.com>
37774
37775         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
37776         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
37777
37778 2009-11-24  Bruno Haible  <bruno@clisp.org>
37779
37780         doc: Most *_l functions exist in MacOS X 10.5.
37781         * doc/posix-functions/duplocale.texi: Update platforms list.
37782         * doc/posix-functions/freelocale.texi: Likewise.
37783         * doc/posix-functions/newlocale.texi: Likewise.
37784         * doc/posix-functions/uselocale.texi: Likewise.
37785         * doc/posix-functions/isalnum_l.texi: Likewise.
37786         * doc/posix-functions/isalpha_l.texi: Likewise.
37787         * doc/posix-functions/isblank_l.texi: Likewise.
37788         * doc/posix-functions/iscntrl_l.texi: Likewise.
37789         * doc/posix-functions/isdigit_l.texi: Likewise.
37790         * doc/posix-functions/isgraph_l.texi: Likewise.
37791         * doc/posix-functions/islower_l.texi: Likewise.
37792         * doc/posix-functions/isprint_l.texi: Likewise.
37793         * doc/posix-functions/ispunct_l.texi: Likewise.
37794         * doc/posix-functions/isspace_l.texi: Likewise.
37795         * doc/posix-functions/isupper_l.texi: Likewise.
37796         * doc/posix-functions/iswalnum_l.texi: Likewise.
37797         * doc/posix-functions/iswalpha_l.texi: Likewise.
37798         * doc/posix-functions/iswblank_l.texi: Likewise.
37799         * doc/posix-functions/iswcntrl_l.texi: Likewise.
37800         * doc/posix-functions/iswctype_l.texi: Likewise.
37801         * doc/posix-functions/iswdigit_l.texi: Likewise.
37802         * doc/posix-functions/iswgraph_l.texi: Likewise.
37803         * doc/posix-functions/iswlower_l.texi: Likewise.
37804         * doc/posix-functions/iswprint_l.texi: Likewise.
37805         * doc/posix-functions/iswpunct_l.texi: Likewise.
37806         * doc/posix-functions/iswspace_l.texi: Likewise.
37807         * doc/posix-functions/iswupper_l.texi: Likewise.
37808         * doc/posix-functions/iswxdigit_l.texi: Likewise.
37809         * doc/posix-functions/isxdigit_l.texi: Likewise.
37810         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
37811         * doc/posix-functions/strcasecmp_l.texi: Likewise.
37812         * doc/posix-functions/strcoll_l.texi: Likewise.
37813         * doc/posix-functions/strfmon_l.texi: Likewise.
37814         * doc/posix-functions/strftime_l.texi: Likewise.
37815         * doc/posix-functions/strncasecmp_l.texi: Likewise.
37816         * doc/posix-functions/strxfrm_l.texi: Likewise.
37817         * doc/posix-functions/tolower_l.texi: Likewise.
37818         * doc/posix-functions/toupper_l.texi: Likewise.
37819         * doc/posix-functions/towctrans_l.texi: Likewise.
37820         * doc/posix-functions/towlower_l.texi: Likewise.
37821         * doc/posix-functions/towupper_l.texi: Likewise.
37822         * doc/posix-functions/wcscoll_l.texi: Likewise.
37823         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
37824         * doc/posix-functions/wctrans_l.texi: Likewise.
37825         * doc/posix-functions/wctype_l.texi: Likewise.
37826         * doc/glibc-functions/strptime_l.texi: Likewise.
37827         * doc/glibc-functions/strtod_l.texi: Likewise.
37828         * doc/glibc-functions/strtof_l.texi: Likewise.
37829         * doc/glibc-functions/strtol_l.texi: Likewise.
37830         * doc/glibc-functions/strtold_l.texi: Likewise.
37831         * doc/glibc-functions/strtoll_l.texi: Likewise.
37832         * doc/glibc-functions/strtoul_l.texi: Likewise.
37833         * doc/glibc-functions/strtoull_l.texi: Likewise.
37834         * doc/glibc-functions/wcsftime_l.texi: Likewise.
37835         * doc/glibc-functions/wcstod_l.texi: Likewise.
37836         * doc/glibc-functions/wcstof_l.texi: Likewise.
37837         * doc/glibc-functions/wcstol_l.texi: Likewise.
37838         * doc/glibc-functions/wcstold_l.texi: Likewise.
37839         * doc/glibc-functions/wcstoll_l.texi: Likewise.
37840         * doc/glibc-functions/wcstoul_l.texi: Likewise.
37841         * doc/glibc-functions/wcstoull_l.texi: Likewise.
37842
37843 2009-11-24  Bruno Haible  <bruno@clisp.org>
37844
37845         duplocale: Fix logic bug.
37846         * lib/duplocale.c: Don't include <langinfo.h>.
37847         (_NL_LOCALE_NAME): Remove macro.
37848         (rpl_duplocale): Use setlocale instead of nl_langinfo.
37849         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
37850
37851 2009-11-23  Jim Meyering  <meyering@redhat.com>
37852
37853         test-update-copyright: don't hard-code /usr/bin/perl
37854         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
37855         perl to print the current year.  Gilles Espinasse reported that
37856         the replaced use of perl was hard-coded as /usr/bin/perl.
37857
37858 2009-11-23  Bruno Haible  <bruno@clisp.org>
37859
37860         duplocale: Add support for glibc 2.3.x.
37861         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
37862
37863 2009-11-22  Bruno Haible  <bruno@clisp.org>
37864
37865         vasnprintf: Tiny optimization.
37866         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
37867         MacOS X.
37868
37869 2009-11-22  Bruno Haible  <bruno@clisp.org>
37870
37871         Tests for module 'duplocale'.
37872         * modules/duplocale-tests: New file.
37873         * tests/test-duplocale.c: New file.
37874
37875         New module 'duplocale'.
37876         * m4/duplocale.m4: New file.
37877         * lib/locale.in.h (duplocale): New declaration.
37878         * lib/duplocale.c: New file.
37879         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
37880         gl_LOCALE_H_DEFAULTS): New macros.
37881         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
37882         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
37883         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
37884         REPLACE_DUPLOCALE.
37885         * modules/duplocale: New file.
37886         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
37887
37888 2009-11-22  Bruno Haible  <bruno@clisp.org>
37889
37890         * modules/locale-tests (configure.ac): Test for newlocale function.
37891         * tests/test-locale.c: When the system has extended locale functions,
37892         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
37893
37894         locale: Make locale_t available when possible.
37895         * lib/locale.in.h: Include <xlocale.h> when it exists.
37896         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
37897         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
37898         * modules/locale (Depends-on): Add extensions.
37899         (Makefile.am): Also substitute HAVE_XLOCALE_H.
37900         * doc/posix-headers/locale.texi: Document the problem with locale_t.
37901
37902 2009-11-22  Bruno Haible  <bruno@clisp.org>
37903
37904         Add comments.
37905         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
37906         invocation.
37907         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
37908         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
37909         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
37910
37911 2009-11-22  Bruno Haible  <bruno@clisp.org>
37912
37913         error: account for the possibility of freopen (stdout).
37914         * lib/error.c: Include <unistd.h>.
37915         (flush_stdout): New function, extracted from error and error_at_line.
37916         Determine stdout's fd dynamically.
37917         (error, error_at_line): Invoke flush_stdout.
37918         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
37919         * modules/error (Depends-on): Add unistd.
37920
37921 2009-11-22  Bruno Haible  <bruno@clisp.org>
37922
37923         diffseq: Add comment.
37924         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
37925
37926 2009-11-22  Jim Meyering  <meyering@redhat.com>
37927
37928         c-stack: avoid defining an unused static function
37929         * lib/c-stack.c (find_stack_direction): Do not define this function
37930         when it will not be used.
37931
37932         diffseq: avoid spurious gcc warnings
37933         * lib/diffseq.h (IF_LINT2): Define.
37934         (compareseq): Use it to initialize two members of "part".
37935         This avoids two used-uninitialized warnings.
37936
37937 2009-11-21  Jim Meyering  <meyering@redhat.com>
37938
37939         c-stack: avoid "ignoring return value of `write'" warning
37940         * lib/c-stack.c: Include "ignore-value.h".
37941         (die): Explicitly ignore each write return value.
37942         * modules/c-stack (Depends-on): Add ignore-value.
37943
37944 2009-11-21  Bruno Haible  <bruno@clisp.org>
37945
37946         diffseq: reduce scope of variable 'best'.
37947         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
37948         variable, earlier used for two different purposes.
37949
37950 2009-11-21  Jim Meyering  <meyering@redhat.com>
37951
37952         diffseq: remove useless assignment to "best"
37953         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
37954         assignment.  At that point "best" is already guaranteed to be zero.
37955
37956 2009-11-20  Eric Blake  <ebb9@byu.net>
37957
37958         build: mention ftp redirector in release announcements
37959         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
37960         values that used to come from cfg.mk; mention FTP redirect URL.
37961         * build-aux/announce-gen: Mention the mirror list.
37962         Suggested by Karl Berry.
37963
37964         nanosleep: improve port to mingw
37965         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
37966         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
37967         LIB_NANOSLEEP, but only when needed.
37968         * modules/select (Link): Document LIBSOCKET.
37969         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
37970         enough.
37971
37972         nanosleep: work around cygwin bug
37973         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
37974         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
37975         bug.
37976         (getnow): Delete, not needed.
37977         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
37978         LIB_CLOCK_GETTIME.
37979         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
37980         clock-time, gettime.
37981         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
37982         bug.
37983         * modules/nanosleep-tests: New test.
37984         * tests/test-nanosleep.c: New file.
37985
37986         sleep: work around cygwin bug
37987         * lib/sleep.c (rpl_sleep): Work around the bug.
37988         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
37989         (gl_PREREQ_SLEEP): Delete unused macro.
37990         * modules/sleep (Depends-on): Add verify.
37991         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
37992         * modules/unistd (Makefile.am): Substitute witness.
37993         * lib/unistd.in.h (sleep): Update prototype.
37994         * doc/posix-functions/sleep.texi (sleep): Document the bug.
37995         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
37996         * modules/sleep-tests (Depends-on): Check for alarm.
37997
37998 2009-11-20  Jim Meyering  <meyering@redhat.com>
37999
38000         maint.mk: improve sc_prohibit_magic_number_exit
38001         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
38002         so it does not match uses like System.exit(1).
38003         Add comments showing how to correct all offenders.
38004
38005 2009-11-19  Eric Blake  <ebb9@byu.net>
38006
38007         xalloc-die-tests: add missing library
38008         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
38009
38010         test-xvasprintf: silence compiler warnings
38011         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
38012         empty string from gcc.
38013
38014 2009-11-19  Jim Meyering  <meyering@redhat.com>
38015
38016         xfreopen: new module, from coreutils
38017         * modules/xfreopen: New module.
38018         * lib/xfreopen.c: New file.
38019         * lib/xfreopen.h: New file.
38020         * MODULES.html.sh (File stream based Input/Output"): Add it.
38021
38022 2009-11-19  Eric Blake  <ebb9@byu.net>
38023
38024         manywarnings: depend on warnings
38025         * modules/manywarnings (Depends-on): Add warnings.
38026
38027         build: avoid compiler warnings
38028         * lib/select.c (rpl_select): Delete unused variable.
38029         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
38030
38031 2009-11-18  Eric Blake  <ebb9@byu.net>
38032
38033         tests: avoid false negative with --with-packager
38034         * tests/test-version-etc.sh: Discard packager information.
38035         * tests/test-argp-version-etc-1.sh: Likewise.
38036         Reported by Mike Frysinger.
38037
38038         utimens: fix regression on Solaris
38039         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
38040         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
38041         can only change fd timestamps via futimesat.  Instead, use an
38042         additional witness macro to avoid BSD bug.
38043         Reported by Jim Meyering.
38044
38045 2009-11-17  Eric Blake  <ebb9@byu.net>
38046
38047         usleep: use it to simplify tests
38048         * modules/stat-time-tests (Depends-on): Add usleep.
38049         (configure.ac): Drop usleep check.
38050         * modules/chown-tests (Depends-on, configure.ac): Likewise.
38051         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
38052         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
38053         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
38054         * modules/openat-tests (Depends-on, configure.ac): Likewise.
38055         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
38056         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
38057         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
38058         Likewise.
38059         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
38060         * tests/test-lchown.h (nap): Likewise.
38061         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
38062         * tests/test-stat-time.c (nap): Likewise.
38063         * tests/test-utimens-common.h (nap): Update comments.
38064
38065         usleep: new module
38066         * modules/usleep: New file.
38067         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
38068         * lib/usleep.c (usleep): Likewise.
38069         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
38070         * modules/unistd (Makefile.am): Substitute witnesses.
38071         * lib/unistd.in.h (usleep): Add declaration.
38072         * doc/pastposix-functions/usleep.texi (usleep): Document this.
38073         * MODULES.html.sh (Date and time): Likewise.
38074         * modules/usleep-tests (Depends-on): New test.
38075         * tests/test-usleep.c: New file.
38076
38077         chown: work around OpenBSD bug
38078         * lib/chown.c (rpl_chown): Work around the bug.
38079         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
38080         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
38081         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
38082         * modules/chown (Depends-on): Add stdbool.
38083         * modules/lchown (Depends-on): Likewise.
38084         * doc/posix-functions/chown.texi (chown): Document the bug.
38085         * doc/posix-functions/lchown.texi (lchown): Likewise.
38086         * tests/test-lchown.h (test_chown): Relax test.
38087
38088         mkstemp: avoid conflict with C++ keyword template
38089         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
38090         * lib/mkostemp.c (mkostemp): Likewise.
38091         * lib/mkostemps.c (mkostemps): Likewise.
38092         * lib/mkstemp.c (mkstemp): Likewise.
38093         * lib/mkstemps.c (mkstemps): Likewise.
38094
38095         xalloc-die-tests: optimize
38096         * tests/test-xalloc-die.sh: Reduce number of processes.
38097
38098 2009-11-17  Simon Josefsson  <simon@josefsson.org>
38099
38100         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
38101         patch from ludo@gnu.org (Ludovic Courtès).
38102
38103 2009-11-17  Jim Meyering  <meyering@redhat.com>
38104
38105         version-etc: use proper license string
38106         * modules/version-etc (License): Use LGPL, not LGPLv3+.
38107         * modules/version-etc-fsf: Likewise.
38108
38109 2009-11-17  Simon Josefsson  <simon@josefsson.org>
38110
38111         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
38112         printed to stdout.  Deal with EOL differences.
38113
38114 2009-11-17  Eric Blake  <ebb9@byu.net>
38115
38116         unsetenv: work around Solaris bug
38117         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
38118         * lib/unsetenv.c (rpl_unsetenv): Work around it.
38119         Reported by Jim Meyering.
38120
38121         vasnprintf: avoid compiler warnings
38122         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
38123         variables.
38124         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
38125
38126 2009-11-17  Simon Josefsson  <simon@josefsson.org>
38127
38128         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
38129         settings since xalloc-die is no longer the self test,
38130         xalloc-die.sh is.
38131
38132 2009-11-17  Jim Meyering  <meyering@redhat.com>
38133
38134         test-xalloc-die.sh: make the code agree with the commit log
38135         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
38136         at the end, just in case you happen to have a test-xalloc-die
38137         program in some other PATH directory.
38138
38139         test-xalloc-die.sh: fix a portability bug
38140         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
38141         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
38142         Otherwise, argv[0] (as often seen in diagnostics) would be too
38143         system-dependent, sometimes with, and sometimes without the leading "./".
38144
38145         version-etc-fsf: relax license to LGPLv3+
38146         * modules/version-etc-fsf (License): Relax license.
38147
38148 2009-11-16  Eric Blake  <ebb9@byu.net>
38149
38150         xalloc-die-tests: avoid printing null pointer
38151         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
38152         shell script.
38153         * tests/test-xalloc-die.c (program_name): Declare.
38154         * tests/test-xalloc-die.sh (tmpfiles): New file.
38155
38156         setenv, unsetenv: work around various bugs
38157         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
38158         (setenv) [HAVE_SETENV]: Work around bugs.
38159         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
38160         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
38161         for bugs.
38162         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
38163         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
38164         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
38165         * modules/stdlib (Makefile.am): Update substitutions.
38166         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
38167         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
38168         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
38169         * modules/setenv-tests: New test.
38170         * modules/unsetenv-tests: Likewise.
38171         * tests/test-setenv.c: New file.
38172         * tests/test-unsetenv.c: Likewise.
38173
38174 2009-11-16  Jim Meyering  <meyering@redhat.com>
38175
38176         version-etc: relax license to LGPLv3+
38177         * modules/version-etc (License): Relax license.
38178
38179         better AC_REQUIRE expanded-before-required-warning avoidance
38180         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
38181         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
38182         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
38183         which is no longer needed.
38184
38185 2009-11-16  Eric Blake  <ebb9@byu.net>
38186
38187         test-freading: clean up temporary file
38188         * tests/test-freading.c (main): Remove file on success, and use
38189         ASSERT more liberally.
38190         Reported by Jim Meyering.
38191
38192 2009-11-16  Jim Meyering  <meyering@redhat.com>
38193
38194         avoid new AC_REQUIRE expanded-before-required warnings
38195         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
38196         merely using it.
38197         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
38198         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
38199
38200 2009-11-15  Simon Josefsson  <simon@josefsson.org>
38201
38202         * tests/test-xalloc-die.c: New file.
38203         * modules/xalloc-die-tests: New file.
38204         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
38205         XFAIL_TESTS so it can be appended by modules.
38206
38207 2009-11-15  Simon Josefsson  <simon@josefsson.org>
38208
38209         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
38210         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
38211
38212 2009-11-14  Eric Blake  <ebb9@byu.net>
38213
38214         fnmatch: avoid compiler warning
38215         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
38216         to silence compiler warning about mismatch signedness in ?:.
38217         Reported by Robert Millan.
38218
38219         intprops: add double-inclusion guard
38220         * lib/intprops.h: Allow idempotent includes.
38221         Suggested by Bruce Korb.
38222
38223         openat: detect Solaris fchownat bug
38224         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
38225         penalizing glibc chownat when only lchownat is broken.
38226         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
38227         trailing slash bugs.
38228         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
38229         * modules/openat-tests (Files): Include more files.
38230         (Depends-on): Add mgetgroups, sleep, stat-time.
38231         (configure.ac): Add additional checks.
38232         (Makefile.am): Build new test.
38233         * tests/test-fchownat.c: New file.
38234
38235         lchown: detect Solaris and FreeBSD bug
38236         * lib/lchown.c (rpl_lchown): Work around bug.
38237         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
38238         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
38239         * modules/unistd (Makefile.am): Populate it.
38240         * lib/unistd.in.h (lchown): Update declaration.
38241         * doc/posix-functions/lchown.texi (lchown): Document the bug.
38242         * modules/lchown-tests: New file.
38243         * tests/test-lchown.h (test_lchown): Likewise.
38244         * tests/test-lchown.c (main): Likewise.
38245
38246         chown: detect Solaris and FreeBSD bug
38247         * lib/chown.c (rpl_chown): Work around bug.
38248         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
38249         (gl_PREREQ_CHOWN): Delete.
38250         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
38251         * modules/unistd (Makefile.am): Populate it.
38252         * lib/unistd.in.h (chown): Update declaration.
38253         * lib/lchown.c (chown): Update client.
38254         * modules/lchown (Depends-on): Add lstat.
38255         * doc/posix-functions/chown.texi (chown): Document the bug.
38256         * doc/posix-functions/getgroups.texi (getgroups): Document
38257         getgroups pitfall.
38258         * modules/chown-tests: New file.
38259         * tests/test-chown.h (test_chown): Likewise.
38260         * tests/test-chown.c (main): Likewise.
38261
38262 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
38263
38264         gnulib-tool: correctly detect absence of m4 directories
38265         * gnulib-tool: Avoid extra newline on data passed to wc -l.
38266
38267 2009-11-14  Jim Meyering  <meyering@redhat.com>
38268
38269         maint.mk: Prohibit inclusion of "xalloc.h" without use.
38270         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
38271
38272 2009-11-14  John W. Eaton  <jwe@gnu.org>
38273
38274         strftime.h: wrap funtion declaration in extern "C" block
38275         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
38276
38277 2009-11-13  Eric Blake  <ebb9@byu.net>
38278
38279         getgroups: avoid compiler warning
38280         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
38281
38282         getgroups: work around FreeBSD bug
38283         * lib/getgroups.c (rpl_getgroups): Work around the bug.
38284         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
38285         * doc/posix-functions/getgroups.texi (getgroups): Document it.
38286         * tests/test-getgroups.c (main): Fix buffer overrun.
38287
38288         getgroups: avoid compilation failure
38289         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
38290         * modules/getgroups (Depends-on): Add stdint.
38291
38292 2009-11-13  Jim Meyering  <meyering@redhat.com>
38293
38294         test-getgroups: avoid compilation failure
38295         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
38296
38297 2009-11-13  Eric Blake  <ebb9@byu.net>
38298
38299         mgetgroups: new module, taken from coreutils
38300         * modules/mgetgroups: New file.
38301         * lib/mgetgroups.h: Likewise.
38302         * lib/mgetgroups.c (mgetgroups): Likewise.
38303         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
38304         * MODULES.html.sh (Users and groups): Mention it.
38305
38306         getgroups: don't expose GETGROUPS_T to user
38307         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
38308         an element at a time if GETGROUPS_T is wrong size.
38309         * lib/getugroups.h (getugroups): Change signature.
38310         * lib/unistd.in.h (getgroups): Likewise.
38311         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
38312         signature needs fixing.
38313         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
38314         AC_TYPE_GETGROUPS.
38315         * modules/group-member (Depends-on): Add getgroups.
38316         * lib/group-member.c (group_info, get_group_info): Use gid_t.
38317         (group_member): Rely on getgroups replacement.
38318         * lib/getugroups.c (getugroups): Use gid_t.
38319         * tests/test-getgroups.c (main): Likewise.
38320         * NEWS: Mention the signature change.
38321         * doc/posix-functions/getgroups.texi (getgroups): Mention the
38322         problem with signature.
38323         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
38324         GETGROUPS_T is still useful for setgroups.
38325
38326         getgroups, getugroups: provide stubs for mingw
38327         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
38328         * lib/getugroups.c (getugroups): Likewise.
38329         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
38330         function.  Modernize replacement scheme.
38331         (gl_PREREQ_GETGROUPS): Delete.
38332         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
38333         * modules/getgroups (configure.ac): Declare witness.
38334         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
38335         * modules/unistd (Depends-on): Substitute witness.
38336         * lib/unistd.in.h (getgroups): Declare replacement.
38337
38338         getgroups: avoid calling exit
38339         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
38340         drop xalloc.
38341         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
38342         dependencies.
38343         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
38344         exiting, in the rare case of malloc failure.
38345
38346         getgroups: fix logic error
38347         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
38348         has more than 20 groups.
38349         * modules/getgroups-tests: New test.
38350         * tests/test-getgroups.c: New file.
38351
38352 2009-11-13  Simon Josefsson  <simon@josefsson.org>
38353
38354         * tests/test-base64.c: Improve.
38355
38356 2009-11-13  Simon Josefsson  <simon@josefsson.org>
38357
38358         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
38359         Blake <ebb9@byu.net>.
38360
38361 2009-11-13  Simon Josefsson  <simon@josefsson.org>
38362
38363         * tests/test-xvasprintf.c: Add %s%s related checks.
38364
38365 2009-11-12  Eric Blake  <ebb9@byu.net>
38366
38367         version-etc: match standards.texi style
38368         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
38369         and use <> only for URLs.
38370
38371 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
38372
38373         fts: do not fail on a submount during traversal
38374         * lib/fts.c (fts_build): Read the stat info again after opening
38375         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
38376         Original report at http://bugzilla.redhat.com/501848.
38377
38378 2009-11-12  Jim Meyering  <meyering@redhat.com>
38379
38380         bootstrap: sync from coreutils
38381         * build-aux/bootstrap (bootstrap_epilogue): New function.
38382         Use git_modules_config in one more place.  This make bootstrap's
38383         --gnulib-srcdir option more useful for testing.
38384
38385         bootstrap: generalize autoheader check
38386         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
38387         AC_CONFIG_HEADERS.
38388
38389 2009-11-11  Eric Blake  <ebb9@byu.net>
38390
38391         mkfifoat: use new modules for Solaris and BSD bugs
38392         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
38393         * lib/mkfifoat.c (mknodat): Split...
38394         * lib/mknodat.c (mknodat): ...into new file.
38395         * modules/mkfifoat (Files): Ship new file.
38396         (Depends-on): Add mkfifo, mknod.
38397         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
38398         (Depends-on): Add symlink.
38399         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
38400         redundant with test_mkfifo.h.
38401         (do_mkfifoat, do_mknodat): New helpers.
38402
38403         mknod: new module
38404         * modules/mknod: New file.
38405         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
38406         * lib/mknod.c (mknod): Likewise.
38407         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
38408         defaults.
38409         * modules/sys_stat (Makefile.am): Substitute them.
38410         * lib/sys_stat.in.h (mknod): Declare replacement.
38411         * MODULES.html.sh (Support for systems lacking POSIX:2008):
38412         Document it.
38413         * doc/posix-functions/mknod.texi (mknod): Likewise.
38414         * modules/mknod-tests: New test.
38415         * tests/test-mknod.c: Likewise.
38416
38417         mkfifo: new module
38418         * modules/mkfifo: New file.
38419         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
38420         * lib/mkfifo.c (mkfifo): Likewise.
38421         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
38422         defaults.
38423         * modules/sys_stat (Makefile.am): Substitute them.
38424         * lib/sys_stat.in.h (mkfifo): Declare replacement.
38425         * MODULES.html.sh (Support for systems lacking POSIX:2008):
38426         Document it.
38427         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
38428         * modules/mkfifo-tests: New test.
38429         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
38430         from test-mkfifoat.c.
38431         * tests/test-mkfifo.c: New file.
38432
38433         readlink: detect FreeBSD bug
38434         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
38435         slash on symlink.
38436         * doc/posix-functions/readlink.texi (readlink): Document the bug.
38437         * tests/test-readlink.h (test_readlink): Enhance test.
38438
38439         symlink: detect FreeBSD bug
38440         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
38441         slash on symlink.
38442         * doc/posix-functions/symlink.texi (symlink): Document the bug.
38443         * tests/test-symlink.h (test_symlink): Enhance test.
38444
38445 2009-11-10  Eric Blake  <ebb9@byu.net>
38446
38447         link: detect FreeBSD bug
38448         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
38449         symlink.
38450         * doc/posix-functions/link.texi (link): Document the bug.
38451         * tests/test-link.h (test_link): Enhance test.
38452         * tests/test-linkat.c (main): Update caller.
38453
38454         unlink, remove: detect FreeBSD bug
38455         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
38456         slash on symlink.
38457         * doc/posix-functions/unlink.texi (unlink): Document the bug.
38458         * doc/posix-functions/remove.texi (remove): Likewise.
38459         * tests/test-unlink.h (test_unlink): Enhance test.
38460         * tests/test-remove.c (main): Likewise.
38461
38462 2009-11-09  Eric Blake  <ebb9@byu.net>
38463
38464         rename: detect FreeBSD bug
38465         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
38466         slash on symlink.
38467         * modules/renameat-tests (Depends-on): Add filenamecat.
38468         * tests/test-rename.h (test_rename): Allow one more errno.
38469         * tests/test-renameat.c (main): Likewise.
38470         * doc/posix-functions/rename.texi (rename): Document the bug.
38471
38472         open: detect FreeBSD bug
38473         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
38474         symlink.
38475         * doc/posix-functions/open.texi (open): Document the bug.
38476         * doc/posix-functions/utimes.texi (utimes): Likewise.
38477         * tests/test-open.h (test_open): Add parameters, and test symlink
38478         handling.
38479         * tests/test-open.c (main): Adjust caller.
38480         * tests/test-fcntl-safer.c (main): Likewise.
38481         * modules/open-tests (Depends-on): Add stdbool, symlink.
38482         * modules/fcntl-safer-tests (Depends-on): Likewise.
38483         * tests/test-openat.c (main): Add test-open tests.
38484
38485         stat: detect FreeBSD bug
38486         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
38487         symlink.
38488         * doc/posix-functions/stat.texi (stat): Document the bug.
38489         * tests/test-stat.h (test_stat_func): Add argument.
38490         * tests/test-stat.c (main): Adjust caller.
38491         * tests/test-fstatat.c (main): Likewise.
38492         * modules/stat-tests (Depends-on): Add stdbool, symlink.
38493         Reported by Jim Meyering.
38494
38495 2009-11-09  James Youngman  <jay@gnu.org>
38496
38497         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
38498         * lib/strftime.c: Correct placement of #include "ignore-value.h".
38499
38500 2009-11-08  Jim Meyering  <meyering@redhat.com>
38501
38502         utimens: remove invalid futimesat call
38503         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
38504         It used the file descriptor of the target file as the DIR_FD
38505         parameter and NULL as the file name.  That caused failure with
38506         errno == EFAULT on FreeBSD-8.0-rc2
38507
38508 2009-11-07  Eric Blake  <ebb9@byu.net>
38509
38510         fflush, freadseek: use fseeko, not fseek
38511         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
38512         (clear_ungetc_buffer): Avoid potential problems on large files.
38513         * lib/freadseek.c (freadseek): Likewise.
38514         * modules/freadseek (Depends-on): Add fseeko.
38515         * modules/fseek (configure.ac): Set a witness.
38516         * tests/test-fflush.c (main): Use fseeko.
38517         * tests/test-fpurge.c (fseek): Disable link warning.
38518         * tests/test-freadable.c (fseek): Likewise.
38519         * tests/test-freading.c (fseek): Likewise.
38520         * tests/test-fseeko.c (fseek): Likewise.
38521         * tests/test-ftell.c (fseek): Likewise.
38522         * tests/test-ftello.c (fseek): Likewise.
38523         * tests/test-fwritable.c (fseek): Likewise.
38524         * tests/test-fwriting.c (fseek): Likewise.
38525
38526 2009-11-06  Simon Josefsson  <simon@josefsson.org>
38527
38528         * modules/memchr (Depends-on): Drop getpagesize dependency.
38529
38530 2009-11-06  Simon Josefsson  <simon@josefsson.org>
38531
38532         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
38533         Reported by Ludovic Courtès.
38534         * build-aux/pmccabe2html: Improve example usage.
38535         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
38536
38537 2009-11-06  Jim Meyering  <meyering@redhat.com>
38538
38539         do-release-commit-and-tag: New module.
38540         Automate the release-commit and tag process.
38541         * build-aux/do-release-commit-and-tag: New script, from coreutils.
38542         * modules/do-release-commit-and-tag: New file.
38543         * MODULES.html.sh (Support for maintaining and releasing): Add it.
38544
38545 2009-11-06  Simon Josefsson  <simon@josefsson.org>
38546
38547         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
38548         because test-select.c uses inet_pton.
38549
38550 2009-11-06  Simon Josefsson  <simon@josefsson.org>
38551
38552         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
38553         GETADDRINFO_LIB.  Bump serial number.
38554         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
38555         Suggested by Eric Blake <ebb9@byu.net>.
38556
38557 2009-11-05  Eric Blake  <ebb9@byu.net>
38558
38559         strtod: detect darwin bug
38560         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
38561         Reported by Leo Davis.
38562
38563         freopen-safer: new module
38564         * modules/freopen-safer: New module.
38565         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
38566         * lib/freopen-safer.c (freopen_safer): New file.
38567         * lib/stdio-safer.h (freopen_safer): New declaration.
38568         * lib/stdio--.h (freopen): New override.
38569         * MODULES.html.sh (File stream based Input/Output): Mention it.
38570         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
38571         freopen-safer module.
38572         * doc/posix-functions/stderr.texi (stderr): Likewise.
38573         * doc/posix-functions/stdin.texi (stdin): Likewise.
38574         * doc/posix-functions/stdout.texi (stdout): Likewise.
38575         * modules/freopen-safer-tests: New test.
38576         * tests/test-reopen-safer.c: New file.
38577
38578 2009-11-05  Jim Meyering  <meyering@redhat.com>
38579
38580         maint.mk: Prohibit inclusion of "close-stream.h" without use.
38581         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
38582
38583 2009-11-05  Simon Josefsson  <simon@josefsson.org>
38584
38585         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
38586
38587 2009-11-05  Simon Josefsson  <simon@josefsson.org>
38588
38589         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
38590
38591 2009-11-05  Simon Josefsson  <simon@josefsson.org>
38592
38593         Fix link error.
38594         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
38595         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
38596
38597 2009-11-05  Simon Josefsson  <simon@josefsson.org>
38598
38599         * tests/test-func.c: Also test value of __func__.
38600
38601 2009-11-05  Simon Josefsson  <simon@josefsson.org>
38602
38603         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
38604         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
38605
38606 2009-11-05  Bruno Haible  <bruno@clisp.org>
38607
38608         Fix link error.
38609         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
38610         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
38611         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
38612
38613 2009-11-05  Bruno Haible  <bruno@clisp.org>
38614
38615         Tests for module 'inet_pton'.
38616         * modules/inet_pton-tests: New file.
38617         * tests/test-inet_pton.c: New file.
38618
38619 2009-11-05  Bruno Haible  <bruno@clisp.org>
38620
38621         Tests for module 'inet_ntop'.
38622         * modules/inet_ntop-tests: New file.
38623         * tests/test-inet_ntop.c: New file.
38624
38625 2009-11-04  Eric Blake  <ebb9@byu.net>
38626
38627         stdlib-safer: wrap all mkstemp variants
38628         * modules/mkostemp (configure.ac): Set witness.
38629         * modules/mkostemps (configure.ac): Likewise.
38630         * modules/mkstemps (configure.ac): Likewise.
38631         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
38632         (mkstemps_safer): Wrap more functions.
38633         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
38634         wrapping.
38635         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
38636         (mkstemps_safer): Implement the wrappers.
38637
38638         mkstemps, mkostemps: new modules
38639         * modules/mkostemps: New module.
38640         * modules/mkstemps: Likewise.
38641         * lib/mkostemps.c (mkostemps): New file.
38642         * lib/mkstemps.c (mkstemps): Likewise.
38643         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
38644         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
38645         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
38646         * modules/stdlib (Makefile.am): Substitute them.
38647         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
38648         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
38649         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
38650         * doc/gnulib.texi (Glibc stdlib.h): Include them.
38651         * MODULES.html.sh (File system functions): Mention them.
38652
38653         tempname: resync from glibc
38654         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
38655         same values for __GT_FILE as glibc.  Abort even when assertions
38656         are disabled.
38657         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
38658         match its value otherwise.  Allow idempotent inclusion.
38659         * lib/mkdtemp.c (mkdtemp): Adjust caller.
38660         * lib/mkostemp.c (mkostemp): Likewise.
38661         * lib/mkstemp.c (mkstemp): Likewise.
38662         * lib/tmpfile.c (tmpfile): Likewise.
38663         * NEWS: Document this.
38664
38665         utimens: fix use of futimens on older Linux
38666         * lib/utimens.c (fdutimens): Use updated, rather than original,
38667         timespec to avoid bug in older Linux kernel.
38668         Reported by Simon Josefsson.
38669
38670 2009-11-04  Bruno Haible  <bruno@clisp.org>
38671
38672         Make num_processors more flexible and consistent.
38673         * lib/nproc.h (enum nproc_query): New type.
38674         (num_processors): Add a 'query' argument.
38675         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
38676         (num_processors): Add a 'query' argument. Test the value of the
38677         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
38678         mingw, count the number of CPUs available for the current process.
38679         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
38680         Check for sched_getaffinity and sched_getaffinity_np.
38681         * modules/nproc (Depends-on): Add c-ctype, extensions.
38682         * NEWS: Mention the change.
38683
38684 2009-11-03  Bruno Haible  <bruno@clisp.org>
38685
38686         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
38687
38688 2009-11-03  Jim Meyering  <meyering@redhat.com>
38689
38690         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
38691         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
38692         if it is defined.
38693
38694 2009-11-02  Eric Blake  <ebb9@byu.net>
38695
38696         mktime, timegm: share common declaration
38697         * lib/mktime-internal.h: New file.
38698         * lib/mktime.c: Use it rather than open-coding a declaration.
38699         * lib/timegm.c: Likewise.
38700         * modules/mktime (Files): Ship it.
38701         * modules/timegm (Files): Likewise.
38702         Suggested by Bruno Haible.
38703
38704         test-update-copyright: update test to match script changes
38705         * tests/test-update-copyright.sh: Avoid hard-coding perl
38706         location.  Don't update *.bak created by earlier runs.
38707
38708 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
38709             Simon Josefsson  <simon@josefsson.org>
38710             Bruno Haible  <bruno@clisp.org>
38711
38712         Fix link error on Solaris 8.
38713         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
38714         also in libnsl. Define also INET_PTON_LIB.
38715         * modules/inet_pton (Link): New section.
38716
38717 2009-11-02  Simon Josefsson  <simon@josefsson.org>
38718             Bruno Haible  <bruno@clisp.org>
38719
38720         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
38721         * modules/inet_ntop (Link): New section.
38722         Reported by Boyan Kasarov <bkasarov@gmail.com>.
38723
38724 2009-11-02  Eric Blake  <ebb9@byu.net>
38725
38726         maint: avoid compiler warnings in m4 macros
38727         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
38728         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
38729
38730 2009-11-02  Simon Josefsson  <simon@josefsson.org>
38731
38732         * m4/pmccabe2html.m4: Remove file.
38733         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
38734         function.  Change maintainer.
38735         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
38736         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
38737         Courtès).
38738
38739 2009-10-31  Eric Blake  <ebb9@byu.net>
38740
38741         fseeko: fix m4 regression
38742         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
38743         regression from 2009-10-27.
38744         Reported by Ralf Wildenhues.
38745
38746 2009-10-31  Jim Meyering  <meyering@redhat.com>
38747
38748         inttostr: aesthetics and improved (compile-time) safety
38749         Define inttype_is_signed rather than inttype_is_unsigned,
38750         since the sole use is via "#if inttype_is_signed".
38751         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
38752         inttype_is_unsigned.
38753         * lib/offtostr.c (inttype_is_signed): Likewise.
38754         * lib/uinttostr.c (inttype_is_signed): Likewise.
38755         * lib/umaxtostr.c (inttype_is_signed): Likewise.
38756         * lib/inttostr.c (inttostr): Use verify to cross-check the
38757         inttype_is_signed value and the signedness of the actual type.
38758         * modules/inttostr (Depends-on): Add verify.
38759
38760 2009-10-30  Eric Blake  <ebb9@byu.net>
38761
38762         build: avoid compiler warnings
38763         * lib/fchmodat.c (lchmod): Mark unused variables.
38764         * lib/getopt.c (_getopt_initialize): Likewise.
38765         * lib/mktime.c (__mktime_internal): Provide prototype.
38766         * lib/inttostr.c (inttostr): Avoid compiler warning even with
38767         older gcc that do not understand #pragma GCC diagnostic.
38768         * lib/uinttostr.c (inttype_is_unsigned): Define.
38769         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
38770
38771 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
38772
38773         stat: fix compilation on AIX
38774         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
38775         only see struct stat64.
38776
38777 2009-10-30  Eric Blake  <ebb9@byu.net>
38778
38779         exclude: make more robust
38780         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
38781         rather than masking a coding bug.
38782         Suggested by Bruno Haible.
38783
38784 2009-10-30  Jim Meyering  <meyering@redhat.com>
38785
38786         perl scripts: remove #!/usr/bin/perl in favor of more portable...
38787         Rather than putting #!/usr/bin/perl on the first line,
38788         start with a variant of what's recommended by "man perlrun" that
38789         invokes the first "perl" program from your shell's search path.
38790         * build-aux/gitlog-to-changelog: Replace #!... as above.
38791         Add a "Local Variables" perl mode setting.
38792         Prompted by a patch from Ludovic Courtès.
38793         Improved by Eric Blake.
38794         * build-aux/useless-if-before-free: Likewise.
38795         * build-aux/announce-gen: Likewise.
38796         * build-aux/update-copyright: Likewise.
38797
38798 2009-10-29  Eric Blake  <ebb9@byu.net>
38799
38800         filenamecat-lgpl: adjust clients
38801         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
38802         filenamecat.
38803         * modules/renameat (Depends-on): Likewise.
38804
38805         filenamecat: split into filenamecat-lgpl
38806         * modules/filenamecat-lgpl: New module.
38807         * modules/filenamecat (Files): Move library-safe files into
38808         filenamecat-lgpl.
38809         (Depends-on): Add filenamecat-lgpl.
38810         (configure.ac): Declare witness.
38811         * lib/filenamecat.h (file_name_concat): Only declare when using
38812         GPL module.
38813         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
38814         Move...
38815         * lib/filenamecat-lgpl.c: ...into new file.
38816         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
38817         (gl_FILE_NAME_CONCAT): Use it.
38818         * MODULES.html.sh (File system functions): Mention new module.
38819
38820         argp: avoid memory leak
38821         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
38822         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
38823         base_name, since the latter malloc()s and can call exit().
38824         Leak introduced 2006-07-03.
38825
38826         dirname-lgpl: adjust clients that don't need full dirname
38827         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
38828         * modules/filenamecat (Depends-on): Likewise.
38829         * modules/linkat (Depends-on): Likewise.
38830         * modules/mkancesdirs (Depends-on): Likewise.
38831         * modules/mkdir (Depends-on): Likewise.
38832         * modules/openat (Depends-on): Likewise.
38833         * modules/savewd (Depends-on): Likewise.
38834         * modules/rename (Depends-on): Likewise.
38835         (License): Relax license.
38836         * modules/mkdir-tests (Depends-on): Drop progname.
38837         (Makefile.am): Delete unneeded LDADD.
38838         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
38839
38840         dirname: split into dirname-lgpl
38841         * modules/dirname-lgpl: New module.
38842         * modules/dirname (Files): Move library-safe files into
38843         dirname-lgpl.
38844         (Depends-on): Add dirname-lgpl.
38845         (configure.ac): Declare witness.
38846         * modules/double-slash-root (License): Relax license.
38847         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
38848         module.
38849         * lib/dirname.c (dir_len, mdir_name): Move...
38850         * lib/dirname-lgpl.c: ...into new file.
38851         * lib/basename.c (last_component, base_len): Move...
38852         * lib/basename-lgpl.c: ...into new file.
38853         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
38854         (gl_DIRNAME): Use it.
38855         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
38856         Mention new module.
38857         * modules/dirname-tests (Depends-on): Add progname.
38858         * tests/test-dirname.c (program_name): Delete.
38859
38860         mkdir: make safe for libraries
38861         * modules/mkdir (Depends-on): Drop xalloc.
38862         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
38863         exit.
38864
38865         tests: avoid some compiler warnings
38866         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
38867         literals.
38868         * tests/test-memchr.c (main): Avoid type mismatch.
38869         * tests/test-arpa_inet.c (main): Avoid unused parameters.
38870         * tests/test-base64.c (main): Likewise.
38871         * tests/test-getdelim.c (main): Likewise.
38872         * tests/test-gethostname.c (main): Likewise.
38873         * tests/test-getline.c (main): Likewise.
38874         * tests/test-netinet_in.c (main): Likewise.
38875         * tests/test-select.c (open_server_socket, main): Likewise.
38876         * tests/test-select-stdin.c (main): Likewise.
38877         * tests/test-sockets.c (main): Likewise.
38878         * tests/test-strsignal.c (main): Likewise.
38879         * tests/test-sys_select.c (main): Likewise.
38880         * tests/test-sys_socket.c (main): Likewise.
38881         * tests/test-u64.c (main): Likewise.
38882         * tests/test-xfprintf-posix.c (main): Likewise.
38883         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
38884
38885         sockets: avoid compiler warning
38886         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
38887
38888         maint: detect usage(1) and other suspicious exits
38889         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
38890
38891 2009-10-29  Jim Meyering  <meyering@redhat.com>
38892
38893         timespec: long-to-int truncation could make timespec_cmp malfunction
38894         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
38895         a multiple of 2^32 nanoseconds as no difference.
38896
38897 2009-10-28  Jim Meyering  <meyering@redhat.com>
38898
38899         fprintftime: wrap macro code argument in "do {...} while(0)"
38900         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
38901         cpy macro must be a statement that can be followed by a semicolon.
38902         Now that the else clause contains a comment and is hence longer
38903         than one line, I require curly braces.  That in turn requires
38904         that we wrap this code block in the standard do...while(0).
38905
38906         fprintftime: remove stray semicolon from previous change
38907         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
38908
38909         fprintftime: avoid a warning about ignored fwrite return value
38910         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
38911         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
38912         that is unsafe.
38913         * modules/fprintftime (Depends-on): Add ignore-value.
38914
38915         exclude: avoid an unwarranted warning
38916         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
38917
38918 2009-10-27  Eric Blake  <ebb9@byu.net>
38919
38920         fseek: avoid compilation failure when fflush is replaced
38921         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
38922         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
38923         module is in use.
38924         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
38925         module is not in use; since REPLACE_FSEEK worked otherwise.
38926         (GNULIB_FTELLO): Likewise for ftell.
38927         Reported by Ian Beckwith and others.
38928
38929 2009-10-27  Bruno Haible  <bruno@clisp.org>
38930
38931         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
38932         Reported by Jim Meyering.
38933
38934 2009-10-27  Jim Meyering  <jim@meyering.net>
38935             Bruno Haible  <bruno@clisp.org>
38936
38937         Avoid warning despite dropping the return value of fwrite.
38938         * lib/unicodeio.c: Include ignore-value.h.
38939         (fwrite_success_callback): Explicitly ignore fwrite's return value.
38940         * modules/unicodeio (Depends-on): Add ignore-value.
38941
38942 2009-10-26  Eric Blake  <ebb9@byu.net>
38943
38944         areadlinkat: fix fallback path
38945         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
38946         pointer and zero.
38947
38948 2009-10-22  Pádraig Brady  <P@draigBrady.com>
38949
38950         Use a better IO block size for modern systems
38951         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
38952         * lib/md2.c: Likewise.
38953         * lib/md4.c: Likewise.
38954         * lib/md5.c: Likewise.
38955         * lib/sha1.c: Likewise.
38956         * lib/sha256.c: Likewise.
38957         * lib/sha512.c: Likewise.
38958
38959 2009-10-22  Eric Blake  <ebb9@byu.net>
38960
38961         tests: avoid several compiler warnings
38962         * tests/test-getcwd.c (main): Avoid buffer underflow.
38963         * tests/test-getdate.c (main): String literals are not safe with
38964         putenv, so use setenv.  Declare unused argument.
38965         * modules/getdate-tests (Depends-on): Add setenv.
38966         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
38967         problems with string literals in char *.
38968         * tests/test-hash.c (main): Avoid shadowing declaration.
38969         (insert_new): Treat string literals as char const *.
38970         * tests/test-getopt.h (test_getopt): Likewise.
38971         (getopt_loop): Alter types to minimize casting elsewhere.
38972         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
38973         (test_getopt_long_posix): Likewise.
38974         (do_getopt_long): Add wrapper to minimize casting.
38975         * tests/test-atexit.c (clear_temp_file): Use void.
38976         * tests/test-areadlink-with-size.c (main): Declare unused
38977         arguments.
38978         * tests/test-areadlink.c (main): Likewise.
38979         * tests/test-areadlinkat-with-size.c (main): Likewise.
38980         * tests/test-areadlinkat.c (main): Likewise.
38981         * tests/test-canonicalize-lgpl.c (main): Likewise.
38982         * tests/test-canonicalize.c (main): Likewise.
38983         * tests/test-dirent-safer.c (main): Likewise.
38984         * tests/test-dirname.c (main): Likewise.
38985         * tests/test-dup2.c (main): Likewise.
38986         * tests/test-fchdir.c (main): Likewise.
38987         * tests/test-fcntl-h.c (main): Likewise.
38988         * tests/test-fcntl-safer.c (main): Likewise.
38989         * tests/test-fdopendir.c (main): Likewise.
38990         * tests/test-fdutimensat.c (main): Likewise.
38991         * tests/test-fflush.c (main): Likewise.
38992         * tests/test-filenamecat.c (main): Likewise.
38993         * tests/test-filevercmp.c (main): Likewise.
38994         * tests/test-fopen-safer.c (main): Likewise.
38995         * tests/test-fopen.c (main): Likewise.
38996         * tests/test-fpending.c (main): Likewise.
38997         * tests/test-fpurge.c (main): Likewise.
38998         * tests/test-freading.c (main): Likewise.
38999         * tests/test-fstatat.c (main): Likewise.
39000         * tests/test-fsync.c (main): Likewise.
39001         * tests/test-futimens.c (main): Likewise.
39002         * tests/test-getndelim2.c (main): Likewise.
39003         * tests/test-gettimeofday.c (main): Likewise.
39004         * tests/test-getopt.c (main): Likewise.
39005         * tests/test-i-ring.c (main): Likewise.
39006         * tests/test-inttypes.c (main): Likewise.
39007         * tests/test-link.c (main): Likewise.
39008         * tests/test-lstat.c (main): Likewise.
39009         * tests/test-math.c (main): Likewise.
39010         * tests/test-md5.c (main): Likewise.
39011         * tests/test-memchr2.c (main): Likewise.
39012         * tests/test-memrchr.c (main): Likewise.
39013         * tests/test-mkdir.c (main): Likewise.
39014         * tests/test-mkdirat.c (main): Likewise.
39015         * tests/test-mkfifoat.c (main): Likewise.
39016         * tests/test-open.c (main): Likewise.
39017         * tests/test-openat-safer.c (main): Likewise.
39018         * tests/test-openat.c (main): Likewise.
39019         * tests/test-quotearg.c (main): Likewise.
39020         * tests/test-rawmemchr.c (main): Likewise.
39021         * tests/test-readlink.c (main): Likewise.
39022         * tests/test-remove.c (main): Likewise.
39023         * tests/test-rename.c (main): Likewise.
39024         * tests/test-renameat.c (main): Likewise.
39025         * tests/test-rmdir.c (main): Likewise.
39026         * tests/test-sha1.c (main): Likewise.
39027         * tests/test-signal.c (main): Likewise.
39028         * tests/test-sigaction.c (main): Likewise.
39029         * tests/test-stat.c (main): Likewise.
39030         * tests/test-stat-time.c (main): Likewise.
39031         * tests/test-stddef.c (main): Likewise.
39032         * tests/test-stdint.c (main): Likewise.
39033         * tests/test-stdio.c (main): Likewise.
39034         * tests/test-stdlib.c (main): Likewise.
39035         * tests/test-strchrnul.c (main): Likewise.
39036         * tests/test-strerror.c (main): Likewise.
39037         * tests/test-string.c (main): Likewise.
39038         * tests/test-strtod.c (main): Likewise.
39039         * tests/test-strverscmp.c (main): Likewise.
39040         * tests/test-symlink.c (main): Likewise.
39041         * tests/test-symlinkat.c (main): Likewise.
39042         * tests/test-sys_stat.c (main): Likewise.
39043         * tests/test-sys_time.c (main): Likewise.
39044         * tests/test-time.c (main): Likewise.
39045         * tests/test-unistd.c (main): Likewise.
39046         * tests/test-unlink.c (main): Likewise.
39047         * tests/test-unlinkat.c (main): Likewise.
39048         * tests/test-utimens.c (main): Likewise.
39049         * tests/test-utimensat.c (main): Likewise.
39050         * tests/test-version-etc.c (main): Likewise.
39051         * tests/test-wchar.c (main): Likewise.
39052         * tests/test-wctype.c (main): Likewise.
39053         * tests/test-xprintf-posix.c (main): Likewise.
39054         * tests/test-posixtm.c (main): Likewise.
39055         (STREQ): Delete unused macro.
39056         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
39057         shadowed variables.
39058         * tests/test-memchr.c (main): Likewise.
39059
39060 2009-10-21  Eric Blake  <ebb9@byu.net>
39061
39062         areadlinkat: avoid failure on older glibc
39063         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
39064         rather than mis-comparing 0 against FUNC_RESULT of char*.
39065
39066 2009-10-21  Bruno Haible  <bruno@clisp.org>
39067
39068         * modules/stpncpy (License): Relicense under LGPLv2+.
39069         Reported by David Lutterkort <lutter@redhat.com>.
39070
39071 2009-10-20  Eric Blake  <ebb9@byu.net>
39072
39073         utimensat: work around Solaris 9 bug
39074         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
39075         has trailing slash bugs.
39076         * tests/test-lutimens.h (test_lutimens): Enhance test.
39077         * tests/test-utimens.h (test_utimens): Likewise.
39078         * doc/posix-functions/utime.texi (utime): Enhance documentation.
39079         * doc/posix-functions/utimes.texi (utimes): Likewise.
39080         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
39081         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
39082         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
39083         * doc/posix-functions/futimens.texi (futimens): Likewise.
39084
39085         fdutimensat: new module
39086         * modules/fdutimensat: New file.
39087         * lib/fdutimensat.c (fdutimensat): Likewise.
39088         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
39089         * MODULES.html.sh (File system functions): Mention module.
39090         * modules/fdutimensat-tests: New test.
39091         * tests/test-fdutimensat.c: Likewise.
39092
39093         doc: regenerate INSTALL
39094         * doc/INSTALL: Reflect recent autoconf update.
39095         * doc/INSTALL.ISO: Likewise.
39096         * doc/INSTALL.UTF-8: Likewise.
39097
39098 2009-10-20  Pádraig Brady  <P@draigBrady.com>
39099
39100         acl: warn if ACL support is not detected
39101         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
39102
39103 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
39104
39105         * lib/nproc.h: Add extern "C" block for C++.
39106
39107 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
39108             Bruno Haible  <bruno@clisp.org>
39109
39110         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
39111         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
39112         * doc/posix-functions/isalpha.texi: Likewise.
39113         * doc/posix-functions/isblank.texi: Likewise.
39114         * doc/posix-functions/iscntrl.texi: Likewise.
39115         * doc/posix-functions/isdigit.texi: Likewise.
39116         * doc/posix-functions/isgraph.texi: Likewise.
39117         * doc/posix-functions/islower.texi: Likewise.
39118         * doc/posix-functions/isprint.texi: Likewise.
39119         * doc/posix-functions/ispunct.texi: Likewise.
39120         * doc/posix-functions/isspace.texi: Likewise.
39121         * doc/posix-functions/isupper.texi: Likewise.
39122         * doc/posix-functions/isxdigit.texi: Likewise.
39123
39124 2009-10-18  Bruno Haible  <bruno@clisp.org>
39125
39126         Tests for module 'isblank'.
39127         * modules/isblank-tests: New file.
39128         * tests/test-isblank.c: New file.
39129
39130         New module 'isblank'.
39131         * lib/isblank.c: New file.
39132         * m4/isblank.m4: New file.
39133         * modules/isblank: New file.
39134         * doc/posix-functions/isblank.texi: Mention the new module.
39135
39136 2009-10-18  Bruno Haible  <bruno@clisp.org>
39137
39138         New module 'ctype'.
39139         * lib/ctype.in.h: New file.
39140         * m4/ctype.m4: New file.
39141         * modules/ctype: New file.
39142         * doc/posix-headers/ctype.texi: Mention the new module.
39143
39144 2009-10-18  Jim Meyering  <meyering@redhat.com>
39145
39146         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
39147         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
39148         right after its initialization, rather than farther down.
39149         Keeping these in close proximity makes it easier to ensure
39150         that each such variable is initialized.  E.g.,
39151
39152             LIB_CLOCK_GETTIME=
39153             AC_SUBST([LIB_CLOCK_GETTIME])
39154
39155         This change also increments these serial numbers.
39156         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
39157         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
39158         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
39159
39160 2009-10-18  Bruno Haible  <bruno@clisp.org>
39161
39162         Don't let environment variables perturb build.
39163         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
39164         (gl_PREREQ_GETHRXTIME): ... not here.
39165
39166 2009-10-18  Bruno Haible  <bruno@clisp.org>
39167
39168         Avoid symlink attack in localcharset module.
39169         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
39170         (O_NOFOLLOW): Define fallback.
39171         (get_charset_aliases): Don't open the file if it is a symbolic link.
39172         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
39173         gl_FCNTL_H.
39174         (gl_FCNTL_H): Require it.
39175         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
39176         * modules/localcharset (Files): Add m4/fcntl_h.m4.
39177         Reported by Fergal Glynn <fglynn@veracode.com>.
39178
39179 2009-10-18  Bruno Haible  <bruno@clisp.org>
39180
39181         Implement nproc for mingw.
39182         * lib/nproc.c: Include <windows.h>
39183         (num_processors): On native Windows platforms, try GetSystemInfo.
39184
39185 2009-10-18  Bruno Haible  <bruno@clisp.org>
39186
39187         Implement nproc for IRIX.
39188         * lib/nproc.c: Include <sys/sysmp.h>.
39189         (num_processors): On IRIX systems, try sysmp.
39190         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
39191
39192 2009-10-18  Bruno Haible  <bruno@clisp.org>
39193
39194         Implement nproc for HP-UX.
39195         * lib/nproc.c: Include <sys/pstat.h>
39196         (num_processors): On HP-UX systems, try pstat_getdynamic.
39197         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
39198         pstat_getdynamic.
39199
39200 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
39201             Bruno Haible  <bruno@clisp.org>
39202
39203         Implement nproc for NetBSD, OpenBSD.
39204         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
39205         (ARRAY_SIZE): New macro.
39206         (num_processors): On BSD systems, try sysctl of HW_NCPU.
39207         * m4/nproc.m4: New file.
39208         * modules/nproc (Files): Add m4/nproc.m4.
39209         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
39210         (Makefile.am): Instead, augment lib_SOURCES.
39211
39212 2009-10-18  Bruno Haible  <bruno@clisp.org>
39213
39214         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
39215         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
39216         sys/param.h.
39217
39218 2009-10-16  Eric Blake  <ebb9@byu.net>
39219
39220         utimensat: new module
39221         * modules/utimensat: New file.
39222         * lib/utimensat.c (utimensat): Likewise.
39223         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
39224         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
39225         so we can work around Linux bugs.
39226         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
39227         * modules/sys_stat (Makefile.am): Substitute them.
39228         * lib/sys_stat.in.h (utimensat): Declare it.
39229         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
39230         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
39231         * modules/utimensat-tests: New test.
39232         * tests/test-utimensat.c: Likewise.
39233
39234         utimens: let lutimens work on non-symlinks
39235         * lib/utimens.c (lutimens): Fall back to utimens rather than
39236         failing with ENOSYS, when file is not a symlink.
39237         (utimens): Reduce redirection.
39238         * tests/test-lutimens.h (test_lutimens): Update test to cover
39239         non-symlinks.
39240         * tests/test-utimens.h (test_utimens): Update test to cover
39241         symlinks.
39242         * tests/test-utimens.c (main): Update caller.
39243
39244         utimens: cache whether utimensat syscall works
39245         * lib/utimens.c (utimensat_works_really): New cache variable.
39246         (fdutimens, lutimens): Use it to avoid failing syscall.
39247
39248         test-stat-time, test-utimens: improve portability
39249         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
39250         ext4 on alpha, and for cygwin.
39251         * tests/test-utimens-common.h: New file.
39252         (nap): Factor delays into single function.
39253         * tests/test-lutimens.h (test_lutimens): Use new header.
39254         * tests/test-futimens.h (test_futimens): Likewise.
39255         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
39256         timestamps to occur from same machine, as was done previously for
39257         test_utimens.
39258         * modules/utimens-tests (Files): Ship new file.
39259         * modules/futimens-tests (Files): Likewise.
39260         Reported in part by Jim Meyering.
39261
39262         sys_stat: sort replacement declarations
39263         * lib/sys_stat.in.h: Sort declarations.
39264         * lib/futimens.c (futimens): Fix typo.
39265
39266 2009-10-15  Jim Meyering  <meyering@redhat.com>
39267
39268         don't let environment settings perturb build
39269         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
39270         could cause a configure-time and/or build-time malfunction.
39271         Typically, a configure-time function-in-library test is performed
39272         via code like this:
39273
39274           LIB_VAR=
39275           AC_SUBST([LIB_VAR])
39276           prefix_saved_LIBS=$LIBS
39277             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
39278                        [test "$ac_cv_search_FUNC" = "none required" ||
39279                         LIB_VAR=$ac_cv_search_FUNC])
39280           LIBS=$prefix_saved_LIBS
39281
39282         However, in each of the files affected by this change, the LIB_VAR=
39283         initialization was omitted.  Thus, when set in the environment, its
39284         value would propagate into generated Makefiles when FUNC is not found
39285         in LIB_NAME.
39286         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
39287         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
39288         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
39289
39290 2009-10-14  Eric Blake  <ebb9@byu.net>
39291
39292         fchdir: avoid infinite recursion in mingw
39293         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
39294         recursing.
39295
39296         test-stat-time: port to mingw
39297         * tests/test-stat-time.c (force_unlink): Return a value.
39298         (test_ctime) [W32]: Fix compilation error.
39299         (nap): Don't call usleep with too large an argument.  Use
39300         force_unlink.
39301         * doc/pastposix-functions/usleep.texi (usleep): Document the
39302         portability issue.
39303
39304 2009-10-13  Jim Meyering  <meyering@redhat.com>
39305
39306         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
39307         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
39308         * modules/pipe-filter-ii: Likewise.
39309         * modules/sys_socket-tests: Likewise.
39310         * modules/tsearch-tests: Likewise.
39311         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
39312         (check): Depend on it.
39313
39314 2009-10-12  Eric Blake  <ebb9@byu.net>
39315
39316         utimens-tests: port to NFS file systems
39317         * tests/test-utimens.h (test_utimens): Refactor utimecmp
39318         comparisons to avoid spurious failures from timestamp drift
39319         between NFS machines.
39320
39321 2009-10-12  Eric Blake  <ebb9@byu.net>
39322
39323         stat-time-tests: minor cleanups
39324         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
39325         * tests/test-stat-time.c (nap): Separate assignment from call.
39326         Suggested by Paolo Bonzini and Bruno Haible.
39327
39328         sys_stat: guarantee struct timespec
39329         * lib/sys_stat.in.h (includes): Always include <time.h>
39330         * modules/sys_stat (Depends-on): Add time.
39331         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
39332         mode_t permission values.
39333         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
39334         get at subsecond timestamps.
39335
39336 2009-10-10  Eric Blake  <ebb9@byu.net>
39337
39338         futimens: new module
39339         * modules/futimens: New file.
39340         * lib/futimens.c (futimens): Likewise.
39341         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
39342         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
39343         we can work around Linux bugs.
39344         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
39345         * modules/sys_stat (Makefile.am): Substitute them.
39346         * lib/sys_stat.in.h (futimens): Declare it.
39347         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
39348         * doc/posix-functions/futimens.texi (futimens): Likewise.
39349         * modules/futimens-tests: New test.
39350         * tests/test-futimens.c: Likewise.
39351
39352         utimens: introduce fdutimens
39353         * lib/utimens.h (fdutimens): New prototype.
39354         * lib/utimens.c (gl_futimens): Move guts...
39355         (fdutimens): ...to new interface.
39356         * tests/test-utimens.c (do_fdutimens): Use it.
39357
39358         utimens: add UTIME_NOW and UTIME_OMIT support
39359         * lib/utimens.c (validate_timespec, update_timespec): New helper
39360         functions.
39361         (gl_futimens, lutimens): Use them.
39362         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
39363         stdbool, sys_stat.
39364         (Link): Mention resulting library dependency.
39365         * modules/utimecmp (Link): Likewise.
39366         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
39367         (Makefile.am): Pick up library dependency.
39368         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
39369         definition.
39370         * tests/test-sys_stat.c: Test the definitions.
39371         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
39372         * NEWS: Document library dependency.
39373
39374         utimecmp: support symlink timestamps
39375         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
39376         hashing when possible.  Use pathconf when available.
39377         (SYSCALL_RESOLUTION): Recognize tighter resolution.
39378         * modules/utimecmp (Depends-on): Add lstat.
39379
39380         utimens: add lutimens interface
39381         * lib/utimens.c (lutimens): New function.
39382         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
39383         * lib/utimens.h (lutimens): Declare new interface.
39384         * tests/test-utimens.c (main): Enhance test.
39385         * tests/test-lutimens.h (test_lutimens): New file.
39386         * modules/utimens-tests (Files): Distribute it.
39387         (Depends-on): Add symlink.
39388         (configure.ac): Check for usleep.
39389
39390         utimens: validate futimens usage
39391         * lib/utimens.c (gl_futimens): Require valid fd up front, using
39392         fewer syscalls on failure later on.  Avoid compiler warning on
39393         mingw.
39394         * modules/utimens (Depends-on): Add dup2.
39395
39396         utimens: add test
39397         * modules/utimens-tests: New test.
39398         * tests/test-utimens.h: New file.
39399         * tests/test-futimens.h: Likewise.
39400         * tests/test-utimens.c: Likewise.
39401
39402         doc: mention timestamp portability issues
39403         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
39404         instead.
39405         * doc/posix-functions/utime.texi (utime): Likewise.
39406         * doc/posix-functions/utimes.texi (utimes): Likewise.
39407         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
39408         instead.
39409         * doc/posix-functions/futimens.texi (futimens): Mention utimens
39410         module.
39411         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
39412         Mention weakness with symlink timestamps.
39413         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
39414         to utimensat/futimens instead.
39415         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
39416
39417         test-dup2: enhance test
39418         * tests/test-dup2.c (main): Also check AT_FDCWD.
39419
39420         test-stat-time: avoid more spurious failures
39421         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
39422         xfs; and avoid race if the two timestamps cross quantization edge.
39423
39424         relocatable: prefer 'file system' over 'filesystem'
39425         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
39426         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
39427         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
39428         * doc/relocatable.texi (Enabling Relocatability): Likewise.
39429         * lib/relocatable.c (compute_curr_prefix): Likewise.
39430
39431 2009-10-10  Jim Meyering  <meyering@redhat.com>
39432
39433         stat-time-tests: check for the usleep function
39434         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
39435
39436 2009-10-10  Bruno Haible  <bruno@clisp.org>
39437
39438         * modules/xnanosleep: Put the Link section after the Include section.
39439
39440 2009-10-09  Eric Blake  <ebb9@byu.net>
39441
39442         dup2: work around FreeBSD 6.1 bug
39443         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
39444         * doc/posix-functions/dup2.texi (dup2): Document it.
39445         Reported by Nelson H. F. Beebe and Jim Meyering.
39446
39447         test-stat-time: port to buggy NFS clients
39448         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
39449         (test_ctime): Also skip test if mtime and ctime are skewed.
39450
39451         maint: prefer 'file system' over 'filesystem'
39452         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
39453         * doc/posix-functions/lstat.texi (lstat): Likewise.
39454         * lib/file-has-acl.c (file_has_acl): Likewise.
39455         * lib/fwriteerror.c [TEST]: Likewise.
39456         * tests/test-areadlink.h (test_areadlink): Likewise.
39457         * tests/test-areadlinkat-with-size.c (main): Likewise.
39458         * tests/test-areadlinkat.c (main): Likewise.
39459         * tests/test-canonicalize-lgpl.c (main): Likewise.
39460         * tests/test-canonicalize.c (main): Likewise.
39461         * tests/test-fstatat.c (main): Likewise.
39462         * tests/test-linkat.c (main): Likewise.
39463         * tests/test-lstat.h (test_lstat_func): Likewise.
39464         * tests/test-mkdir.h (test_mkdir): Likewise.
39465         * tests/test-readlink.h (test_readlink): Likewise.
39466         * tests/test-remove.c (main): Likewise.
39467         * tests/test-rename.h (test_rename): Likewise.
39468         * tests/test-renameat.c (main): Likewise.
39469         * tests/test-rmdir.h (test_rmdir_func): Likewise.
39470         * tests/test-symlink.h (test_symlink): Likewise.
39471         * tests/test-symlinkat.c (main): Likewise.
39472         * tests/test-unlink.h (test_unlink_func): Likewise.
39473         * tests/test-unlinkat.c (main): Likewise.
39474
39475         maint: make realtime library usage explicit
39476         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
39477         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
39478         * modules/settime (Link): Likewise.
39479         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
39480
39481         test-stat-time: speed up execution
39482         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
39483         warning on mingw.
39484         (nap): New helper function.
39485         (prepare_test): Use it to reduce sleep time.
39486         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
39487         execution.
39488         * modules/stat-time-tests (configure.ac): Check for usleep.
39489
39490 2009-10-09  Jim Meyering  <meyering@redhat.com>
39491
39492         selinux-h: always use getfilecon wrappers
39493         * lib/getfilecon.c: New file.
39494         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
39495         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
39496         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
39497         (fgetfilecon): Provide a stub.
39498         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
39499         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
39500         file unconditionally.
39501         When <selinux/selinux.h> is found, arrange to use wrappers.
39502         * modules/selinux-h (Files): Add getfilecon.c.
39503         (Makefile.am): Substitute include-next-related bits
39504         into the now-always-generated selinux/selinux.h file.
39505         * doc/glibc-functions/lgetfilecon.texi: New file.
39506         * doc/glibc-functions/fgetfilecon.texi: New file.
39507         * doc/glibc-functions/getfilecon.texi: New file.
39508         * doc/glibc-functions/getfilecon-desc.texi: New file.
39509         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
39510         which to pull in the new files.
39511         * MODULES.html.sh (Misc): Add selinux-h.
39512
39513 2009-10-08  Jim Meyering  <meyering@redhat.com>
39514
39515         unistd: fix comment typo
39516         * lib/unistd.in.h (euidaccess): Fix a comment typo.
39517
39518 2009-10-08  Eric Blake  <ebb9@byu.net>
39519
39520         areadlink: use SIZE_MAX consistently
39521         * modules/areadlink (Depends-on): Add stdint.
39522         * modules/areadlink-with-size (Depends-on): Likewise.
39523         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
39524         gives NULL; drop sys/types, since unistd gives size_t; and add
39525         stdint for SIZE_MAX.
39526         (SIZE_MAX): Rely on headers.
39527         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
39528         and add stdint.
39529         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
39530         (SIZE_MAX): Likewise.
39531         (INITIAL_BUF_SIZE): Turn into enum.
39532         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
39533
39534 2009-10-08  Jim Meyering  <meyering@redhat.com>
39535
39536         areadlinkat: avoid compilation failure
39537         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
39538         Fix typo in comment.
39539
39540 2009-10-07  Eric Blake  <ebb9@byu.net>
39541
39542         areadlinkat-with-size: new module
39543         * modules/areadlinkat-with-size: New module.
39544         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
39545         * lib/areadlink.h (areadlinkat): Declare it.
39546         * MODULES.html.sh (File system functions): Mention it.
39547         * modules/areadlinkat-with-size-tests: New test.
39548         * tests/test-areadlinkat-with-size.c: New file.
39549
39550         xreadlinkat: new module
39551         * modules/xreadlinkat: New module.
39552         * lib/xreadlinkat.c (xreadlinkat): New file.
39553         * lib/xreadlink.h (xreadlinkat): Declare it.
39554         * MODULES.html.sh (File system functions): Mention it.
39555
39556         areadlinkat: new module
39557         * lib/at-func.c (FUNC_FAIL): New define.
39558         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
39559         * modules/areadlinkat: New module.
39560         * lib/linkat.c (areadlinkat): Move...
39561         * lib/areadlinkat.c (areadlinkat): ...to new file.
39562         * lib/areadlink.h (areadlinkat): Declare it.
39563         * modules/linkat (Depends-on): Add areadlinkat.
39564         * MODULES.html.sh (File system functions): Mention it.
39565         * modules/areadlinkat-tests: New test.
39566         * tests/test-areadlinkat.c: New file.
39567
39568         areadlink, areadlink-with-size: add tests
39569         * modules/areadlink-tests: New test.
39570         * modules/areadlink-with-size-tests: Likewise.
39571         * tests/test-areadlink.h: New file.
39572         * tests/test-areadlink.c: Likewise.
39573         * tests/test-areadlink-with-size.c: Likewise.
39574
39575         maint: minor cleanups
39576         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
39577         _UNUSED_PARAMETER_ instead.
39578         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
39579         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
39580         * modules/linkat-tests (Files): Distribute test-link.h.
39581
39582         openat, utimens: whitespace cleanup
39583         * lib/openat.c: Prefer space throughout, rather than mix of 8
39584         spaces vs. tabs.
39585         * lib/at-func.c: Likewise.
39586         * lib/utimens.c: Likewise.
39587
39588         openat: avoid using wrong fd
39589         * lib/openat.c (openat_permissive): Reject user's fd if saving the
39590         working directory chooses same fd.
39591         * lib/at-func.c (AT_FUNC_NAME): Likewise.
39592
39593         mkdir, mkdirat: fix cygwin 1.5.x bug
39594         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
39595         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
39596         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
39597         bug.
39598         (gl_PREREQ_MKDIR): Delete unused macro.
39599         * modules/mkdir (Files): Track file rename.
39600         (configure.ac): Update macro name.
39601         * modules/openat (Depends-on): Add mkdir.
39602         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
39603
39604         mkdir, mkdirat: add tests
39605         * modules/mkdir-tests: New test.
39606         * tests/test-mkdir.h: New file.
39607         * tests/test-mkdir.c: Likewise.
39608         * tests/test-mkdirat.c: Likewise.
39609         * modules/openat-tests (Files): Add new files.
39610         (Makefile.am): Run new test.
39611
39612 2009-10-06  Eric Blake  <ebb9@byu.net>
39613
39614         doc: tweak *at function documentation
39615         * doc/posix-functions/faccessat.texi (faccessat): Mention
39616         known issue with replacement.
39617         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
39618         * doc/posix-functions/linkat.texi (linkat): Likewise.
39619         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
39620         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
39621         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
39622         * doc/posix-functions/renameat.texi (renameat): Likewise.
39623         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
39624
39625         openat: fix GNU/Hurd bug in unlinkat
39626         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
39627         broken.
39628         * doc/posix-functions/unlink.texi (unlink): Document this.
39629         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
39630
39631         fdopendir: fix GNU/Hurd bug
39632         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
39633         allowing non-directory fds.
39634         * lib/fdopendir.c (rpl_fdopendir): Work around it.
39635         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
39636         * modules/dirent (Makefile.am): Substitute it.
39637         * lib/dirent.in.h (fdopendir): Declare replacement.
39638         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
39639         * tests/test-fdopendir.c (main): Test something other than
39640         /dev/null, since on Hurd that behaves like a directory.
39641
39642         test-symlink: port to GNU/Hurd
39643         * tests/test-symlink.h (test_symlink): Relax expected errno.
39644
39645         doc: tweak more cygwin information
39646         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
39647         now compatible with glibc.
39648         * doc/posix-functions/getopt.texi (getopt): Likewise.
39649
39650         getopt-gnu: add another test
39651         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
39652         guarantee behavior relied on by m4.
39653         * tests/test-getopt.c (main): Use it.
39654         * modules/getopt-posix-tests (Depends-on): Add setenv.
39655         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
39656
39657         getopt: fix compilation on darwin
39658         * lib/getopt.in.h (includes): Leave breadcrumbs during system
39659         include.
39660         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
39661         Reported by Ludovic Courtès.
39662
39663 2009-10-06  Bruno Haible  <bruno@clisp.org>
39664
39665         * modules/size_max (Description): Discourage its use.
39666         Reported by Simon Josefsson.
39667
39668 2009-10-06  Jim Meyering  <meyering@redhat.com>
39669
39670         linkat: avoid compilation failure
39671         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
39672
39673 2009-10-05  Eric Blake  <ebb9@byu.net>
39674
39675         linkat: support Linux 2.6.17
39676         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
39677         linkat on Linux, but allow cache variable override.
39678         * lib/linkat.c (rpl_linkat): Define override.
39679         * modules/linkat (Depends-on): Add symlinkat.
39680         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
39681         * modules/unistd (Makefile.am): Substitute it.
39682         * lib/unistd.in.h (linkat): Declare replacement.
39683         Reported by Pádraig Brady.
39684
39685         quotearg: port test to systems with C.UTF-8 locale
39686         * tests/test-quotearg.c (struct result_strings): Add another
39687         member, differentiating between C.ASCII and C.UTF-8 handling.
39688         (compare_strings): Add parameter.
39689         (main): Adjust all callers.
39690
39691         getopt: avoid clash with FreeBSD _getopt_internal
39692         * lib/getopt.in.h (_getopt_internal): Override the name.
39693         * lib/getopt_int.h (includes): Pick up any overrides.
39694         Reported by Reuben Thomas.
39695
39696         hash: allow C89 compilation
39697         * lib/hash.c (check_tuning): Move declaration before statement.
39698         Reported by Reuben Thomas.
39699
39700 2009-10-05  Karl Berry  <karl@gnu.org>
39701
39702         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
39703
39704 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
39705             Bruno Haible  <bruno@clisp.org>
39706
39707         * lib/uname.c (uname): Use a table-driven algorithm to compute
39708         Windows NT versions.
39709
39710 2009-10-04  Bruno Haible  <bruno@clisp.org>
39711
39712         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
39713         program_invocation_short_name.
39714         * modules/progname (configure.ac): Test for presence of
39715         program_invocation_short_name.
39716         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
39717
39718 2009-10-04  Bruno Haible  <bruno@clisp.org>
39719
39720         * lib/progname.c (set_program_name): Fix comment.
39721         Reported by Jim Meyering.
39722
39723 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
39724             Bruno Haible  <bruno@clisp.org>
39725
39726         * lib/uname.c: Include <string.h>.
39727         (uname): Do only one call to GetVersionEx in the common case.
39728
39729 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
39730             Bruno Haible  <bruno@clisp.org>
39731
39732         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
39733         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
39734         (uname): Add support for Windows CE and various non-x86 CPU types.
39735
39736 2009-10-03  Bruno Haible  <bruno@clisp.org>
39737
39738         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
39739         invocation to tests/configure.ac.
39740         Reported by Ian Beckwith <ianb@erislabs.net>.
39741
39742 2009-10-02  Eric Blake  <ebb9@byu.net>
39743
39744         fchdir: avoid compiler warning
39745         * lib/fchdir.c (canonicalize_file_name)
39746         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
39747
39748         test-open: support mingw errno values
39749         * tests/test-open.h (test_open): Relax test.
39750         * tests/test-fopen.h (test_fopen): Likewise.
39751         * tests/test-openat-safer.c (main): Likewise.
39752
39753         open: fix opening directory on mingw
39754         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
39755
39756         test-open: on GNU/Hurd, /dev/null is a directory
39757         * tests/test-fopen.h (main): Rename...
39758         (test_fopen): ...to this.  Use a guaranteed non-directory when
39759         confirming open behavior on trailing slash.
39760         * tests/test-openat-safer.c (main): Likewise.
39761         * tests/test-open.h (main): Likewise....
39762         (test_open): ...to this.
39763         * tests/test-fopen.c (main): Adjust caller.
39764         * tests/test-fopen-safer.c (main): Likewise.
39765         * tests/test-open.c (main): Likewise.
39766         * tests/test-fcntl-safer.c (main): Likewise.
39767         Reported by Samuel Thibault.
39768
39769         rename, fchdir: don't ignore chdir failure
39770         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
39771         * lib/rename.c (rpl_rename) [W32]: Likewise.
39772         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
39773         an empty destination directory if source cannot be renamed,
39774         although there is still possibility for failure.
39775         * doc/posix-functions/rename.texi (rename): Document the race.
39776         Reported by Jim Meyering.
39777
39778         maint: cleanup whitespace in recent commits
39779         * lib/rename.c (rpl_rename): Remove tabs.
39780         * tests/test-link.h (test_link): Likewise.
39781         * lib/fchdir.c (get_name): Likewise.
39782         Reported by Jim Meyering.
39783
39784 2009-10-02  Ben Pfaff  <blp@gnu.org>
39785
39786         relocatable-prog-wrapper: Add missing dependency on
39787         double-slash-root.
39788         * modules/relocatable-prog-wrapper: Add dependency.
39789         Reported by Ian Beckwith <ianb@erislabs.net>.
39790
39791 2009-10-02  Eric Blake  <ebb9@byu.net>
39792
39793         renameat: fix Solaris bugs
39794         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
39795         needed fixing.
39796         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
39797         * modules/stdio (Makefile.am): Substitute it.
39798         * lib/stdio.in.h (renameat): Declare replacement.
39799         * lib/renameat.c (rpl_renameat): Implement fix.
39800
39801         renameat: new module
39802         * modules/renameat: New file.
39803         * lib/renameat.c (renameat): Likewise.
39804         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
39805         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
39806         * modules/stdio (Makefile.am): Substitute them.
39807         * lib/stdio.in.h (renameat): Declare it.
39808         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
39809         * doc/posix-functions/renameat.texi (renameat): Likewise.
39810         * modules/renameat-tests: New test.
39811         * tests/test-renameat.c: Likewise.
39812
39813         rename: fix mingw bugs
39814         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
39815         directory overwrite bugs.
39816
39817         rename: fix another cygwin 1.5 bug
39818         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
39819         checks.
39820         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
39821         unnecessary cygwin workarounds.  Also work around bug with moving
39822         full directory onto an empty one.
39823         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
39824
39825         rename-dest-slash: merge into rename module
39826         * modules/rename-dest-slash (Status): Mark obsolete.
39827         (Depends-on): Add rename.
39828         (Files): Let rename do it all.
39829         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
39830         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
39831         * m4/rename-dest-slash.m4: ...so this file can be deleted.
39832         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
39833         * lib/rename.c (rpl_rename): Update comments.
39834
39835         rename: fix cygwin 1.5.x bugs
39836         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
39837         * lib/rename.c (rpl_rename): Work around them.
39838         * modules/rename (Depends-on): Add same-inode.
39839
39840         rename: fix Solaris 10 bug
39841         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
39842         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
39843         was the only bug.
39844
39845         rename: fix Solaris 9 bug
39846         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
39847         on non-directory.  Avoid calling exit.
39848         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
39849         strdup.
39850         * modules/rename-tests (Depends-on): Drop lstat.
39851         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
39852         (gl_PREREQ_RENAME): Delete unused macro.
39853
39854         rename-dest-slash: fix NetBSD bug
39855         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
39856         links.
39857         * modules/rename-dest-slash (Depends-on): Add same-inode.
39858
39859         rename-tests: new test, exposes several platform bugs
39860         * modules/rename-tests: New file.
39861         * tests/test-rename.h: Likewise.
39862         * tests/test-rename.c: Likewise.
39863         * doc/posix-functions/rename.texi (rename): Improve documentation,
39864         including bugs that will eventually be fixed in gnulib.
39865
39866 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
39867
39868         * lib/uname.c: Include <stdlib.h>
39869         (uname): Assume version info is available.
39870
39871 2009-10-02  Jim Meyering  <meyering@redhat.com>
39872
39873         gnu-web-doc-update: correct --help output
39874         * build-aux/gnu-web-doc-update: Make --help output relevant.
39875
39876         gnu-web-doc-update: add standard options
39877         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
39878
39879         gnu-web-doc-update: New module.
39880         Use this script to automatically update the on-line web documentation
39881         for your GNU project at http://www.gnu.org/software/$pkg/manual/
39882         * modules/gnu-web-doc-update: New file, from coreutils.
39883         * build-aux/gnu-web-doc-update: New script.
39884
39885 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
39886
39887         link: LoadLibrary is not needed.
39888         * lib/link.c: Use GetModuleHandle.
39889
39890 2009-10-01  Eric Blake  <ebb9@byu.net>
39891
39892         getopt: bump serial number
39893         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
39894         change.
39895
39896         tests: tighten link, rmdir, and remove tests
39897         * tests/test-link.h (includes): No need to use <config.h> here.
39898         Clean up if directory hard link was created, otherwise test for
39899         trailing '.'.
39900         * tests/test-linkat.c (main): Simplify.
39901         * tests/test-remove.c (main): Enhance test for trailing '.'.
39902         * tests/test-rmdir.h (test_rmdir_func): Likewise.
39903
39904 2009-10-01  Jim Meyering  <meyering@redhat.com>
39905
39906         maint.mk: requiring "make major" was annoying, for a "minor" release.
39907         What is intended is "stable", to contrast with alpha and beta,
39908         so require "make stable", not "make major".
39909         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
39910         (get_tool_versions): Likewise.
39911         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
39912
39913 2009-09-30  Ben Pfaff  <blp@gnu.org>
39914
39915         Fix broken build of replacement for Windows tmpfile().
39916         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
39917         flags argument added along with the 'mkostemp' module.
39918
39919 2009-09-28  Bruno Haible  <bruno@clisp.org>
39920
39921         Avoid identifier clash with POSIX function 'remove' defined as a macro.
39922         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
39923         to 'remove_elt'.
39924         (gl_list_remove): Update.
39925         * lib/gl_list.c (gl_list_remove): Update.
39926         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
39927         to 'remove_elt'.
39928         (gl_oset_remove): Update.
39929         * lib/gl_list.c (gl_oset_remove): Update.
39930         Reported by Eric Blake.
39931
39932 2009-09-28  Eric Blake  <ebb9@byu.net>
39933
39934         doc: mention yet more cygwin 1.7 status
39935         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
39936         cygwin.
39937         * doc/glibc-functions/execvpe.texi (execvpe): New file.
39938         * doc/gnulib.texi (Glibc unistd.h): Mention it.
39939
39940         argp: fix test failure
39941         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
39942         that are not upper-case.  Pass correct range to tolower.
39943
39944 2009-09-27  Jim Meyering  <meyering@redhat.com>
39945
39946         test-yesno: work around sparc-dash here-document infelicity
39947         Without this change, the literal \177 byte in a here document
39948         would make dash 0.5.5.1-3 access uninitialized memory.
39949         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
39950         Instead, use a marker, "@", and filter through tr to create the desired
39951         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
39952
39953 2009-09-27  Bruno Haible  <bruno@clisp.org>
39954
39955         Disable untested support for new flavours of ACLs on AIX.
39956         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
39957         progress.
39958         * lib/set-mode-acl.c (qset_acl): Likewise.
39959
39960 2008-12-07  Bruno Haible  <bruno@clisp.org>
39961
39962         Add support for new flavours of ACLs on AIX. (Untested.)
39963         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
39964         (file_has_acl): Add support for newer AIX.
39965         * lib/set-mode-acl.c (qset_acl): Likewise.
39966         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
39967         Rainer Tammer <tammer@tammer.net>.
39968
39969 2009-09-26  Eric Blake  <ebb9@byu.net>
39970
39971         argp: fix compilation of getopt
39972         * lib/getopt.in.h (includes): Use different guard than glibc.
39973         Reported by Sergey Poznyakoff.
39974
39975         doc: mention more cygwin 1.7 status
39976         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
39977         bug.
39978         * doc/posix-functions/execl.texi (execl): Likewise.
39979         * doc/posix-functions/execle.texi (execle): Likewise.
39980         * doc/posix-functions/execlp.texi (execlp): Likewise.
39981         * doc/posix-functions/execv.texi (execv): Likewise.
39982         * doc/posix-functions/execve.texi (execve): Likewise.
39983         * doc/posix-functions/execvp.texi (execvp): Likewise.
39984         * doc/glibc-functions/canonicalize_file_name.texi
39985         (canonicalize_file_name): Cygwin 1.7 now provides this.
39986         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
39987         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
39988         on AT_SYMLINK_NOFOLLOW.
39989
39990 2009-09-24  Eric Blake  <ebb9@byu.net>
39991
39992         test-linkat: make test more robust
39993         * tests/test-linkat.c (main): Avoid collision with EEXIST.
39994
39995         getopt: fix inclusion guards for cygwin
39996         * modules/getopt-posix (Depends-on): Add include-next.
39997         (Makefile.am): Substitute more items in replacement header.
39998         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
39999         <getopt.h>.
40000         * lib/getopt.in.h (includes): Use split inclusion guard, and
40001         prefer <getopt.h> over include <unistd.h> when one is present.
40002         (option): Also override name of 'struct option'.
40003
40004         same-inode: revert prior change; it is not yet ready
40005         * NEWS: Undo mention of this change.
40006         * lib/same-inode.h (same-inode.h): Undo tri-state change.
40007         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
40008         * lib/cycle-check.c (cycle_check): Likewise.
40009         * lib/same.c (same_name): Likewise.
40010         * lib/at-func2.c (at_func2): Likewise.
40011
40012 2009-09-23  Eric Blake  <ebb9@byu.net>
40013
40014         linkat: new module
40015         * modules/linkat: New file.
40016         * lib/at-func2.c (at_func2): Likewise.
40017         * lib/linkat.c (linkat): Likewise.
40018         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
40019         * lib/openat-priv.h (at_func2): Add declaration.
40020         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
40021         * modules/unistd (Makefile.am): Substitute them.
40022         * lib/unistd.in.h (linkat): Declare it.
40023         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
40024         * doc/posix-functions/linkat.texi (linkat): Likewise.
40025         * doc/posix-functions/link.texi (link): Tweak wording.
40026         * tests/test-link.c (main): Move guts...
40027         * tests/test-link.h (test_link): ...into new file.
40028         * modules/linkat-tests: New test.
40029         * tests/test-linkat.c: Likewise.
40030         * modules/link-tests (Files): Ship new file.
40031         (Depends-on): Add stdbool.
40032
40033         dirname: add library-safe mdir_name
40034         * lib/dirname.h (mdir_name): New prototype.
40035         * lib/dirname.c (dir_name): Move guts...
40036         (mdir_name): ...to new function that avoids xalloc_die.
40037
40038         fchdir: another mingw fix
40039         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
40040         * lib/fchdir.c (get_name): New helper method; skips canonicalize
40041         on mingw (where it has not yet been ported), and make it optional
40042         elsewhere.
40043         (_gl_register_fd): Use it.
40044
40045         same-inode: make SAME_INODE tri-state, to port to mingw
40046         * NEWS: Mention this change.
40047         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
40048         st_ino always being 0.
40049         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
40050         * lib/cycle-check.c (cycle_check): Likewise.
40051         * lib/same.c (same_name): Likewise.
40052
40053         lstat: avoid mingw compilation error
40054         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
40055         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
40056         lstat ourselves.
40057         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
40058         was adequate.
40059         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
40060         the checks for lstat.
40061         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
40062
40063         link: fix test failure on Solaris 9
40064         * lib/link.c (rpl_link): Don't assume link will catch bogus
40065         trailing slash on source.
40066
40067         test-symlinkat: enhance test
40068         * tests/test-readlink.c (main): Move guts...
40069         * tests/test-readlink.h (test_readlink): ...into new file.
40070         * tests/test-symlink.c (main): Move guts...
40071         * tests/test-symlink.h (test_symlink): ...into new file.
40072         * tests/test-symlinkat.c (main): Use new files for further
40073         coverage.
40074         (do_symlink, do_readlink): New helper functions.
40075         * modules/symlink-tests (Files): Ship new file.
40076         (Depends-on): Add stdbool.
40077         * modules/readlink-tests (Files): Ship new file.
40078         (Depends-on): Add stdbool.
40079         * modules/symlinkat-tests (Files): Use new files.
40080
40081 2009-09-23  Eric Blake  <ebb9@byu.net>
40082
40083         readlink: document portability issue with symlink length
40084         * doc/posix-functions/lstat.texi (lstat): Mention that some file
40085         systems have bogus st_size on symlinks, and mention the
40086         areadlink-with-size module.
40087         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
40088         * doc/posix-functions/readlink.texi (readlink): Mention the
40089         areadlink module, and ERANGE failure.
40090         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
40091         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
40092
40093         readlink: fix Solaris 9 bug with trailing slash
40094         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
40095         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
40096         * doc/posix-functions/readlink.texi (readlink): Document this.
40097         * modules/readlink-tests: New test.
40098         * tests/test-readlink.c: Likewise.
40099
40100         readlink: fix cygwin 1.5.x bug with return type
40101         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
40102         * lib/unistd.in.h (readlink): Use ssize_t.
40103         * lib/readlink.c (readlink): Likewise.
40104         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
40105         * modules/unistd (Makefile.am): Substitute it.
40106         * lib/unistd.in.h (readlink): Declare replacement.
40107         * doc/posix-functions/readlink.texi (readlink): Document this.
40108
40109         symlink: use throughout gnulib
40110         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
40111         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
40112         symlink is not used.
40113         * modules/symlinkat (Depends-on): Add symlink.
40114         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
40115         * modules/canonicalize-tests (Depends-on): Likewise.
40116         * modules/lstat-tests (Depends-on): Likewise.
40117         * modules/openat-tests (Depends-on): Likewise.
40118         * modules/remove-tests (Depends-on): Likewise.
40119         * modules/rmdir-tests (Depends-on): Likewise.
40120         * modules/unlink-tests (Depends-on): Likewise.
40121         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
40122         * tests/test-canonicalize.c (symlink): Likewise.
40123         * tests/test-fstatat.c (symlink): Likewise.
40124         * tests/test-lstat.c (symlink): Likewise.
40125         * tests/test-remove.c (symlink): Likewise.
40126         * tests/test-rmdir.c (symlink): Likewise.
40127         * tests/test-unlink.c (symlink): Likewise.
40128         * tests/test-unlinkat.c (symlink): Likewise.
40129
40130         symlink: new module, for Solaris 9 bug
40131         * modules/symlink: New file.
40132         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
40133         * lib/symlink.c: Likewise.
40134         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
40135         * modules/unistd (Makefile.am): Substitute them.
40136         * lib/unistd.in.h (symlink): Declare replacement.
40137         * MODULES.html.sh (File system functions): Mention it.
40138         * doc/posix-functions/symlink.texi (symlink): Likewise.
40139         * modules/symlink-tests: New test.
40140         * tests/test-symlink.c: Likewise.
40141
40142 2009-09-23  Bruno Haible  <bruno@clisp.org>
40143
40144         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
40145         when needed.
40146         Test case: gnulib-tool --import --with-tests atexit inttypes.
40147         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
40148
40149 2009-09-23  Bruno Haible  <bruno@clisp.org>
40150
40151         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
40152         subcommand, not in a subshell.
40153
40154 2009-09-22  Eric Blake  <ebb9@byu.net>
40155
40156         unistd: sort replacement declarations
40157         * lib/unistd.in.h: Sort declarations.
40158
40159         open, openat: minor optimization
40160         * lib/open.c (open): If open succeeded, len is non-zero.
40161         * lib/openat.c (rpl_openat): Likewise.
40162
40163         link-follow: ensure correct result
40164         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
40165         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
40166         distinguish between possible failures.
40167
40168 2009-09-21  Eric Blake  <ebb9@byu.net>
40169
40170         fts: avoid compiler warning
40171         * lib/fts.c (dirent_inode_sort_may_be_useful)
40172         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
40173
40174 2009-09-19  Bruno Haible  <bruno@clisp.org>
40175
40176         * lib/progreloc.c (canonicalize_file_name): New declaration.
40177
40178 2009-09-19  Eric Blake  <ebb9@byu.net>
40179
40180         link: fix quoting
40181         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
40182
40183         openat: fix openat bugs on Solaris 9
40184         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
40185         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
40186         * modules/openat (Depends-on): Add open.
40187         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
40188         * modules/fcntl-h (Makefile.am): Substitute it.
40189         * lib/fcntl.in.h (openat): Declare replacement.
40190         * doc/posix-functions/openat.texi (openat): Document this.
40191
40192         openat: move fstatat and unlinkat into correct files
40193         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
40194         compiled.
40195         * lib/openat.c (fstatat, unlinkat): Move...
40196         * lib/fstatat.c (fstatat): ...into correct files.
40197         * lib/unlinkat.c (unlinkat): Likewise.
40198
40199         openat: fix unlinkat bugs on Solaris 9
40200         * lib/unlinkat.c (unlinkat): New file.
40201         * modules/openat (Depends-on): Add unlink.
40202         (Files): Distribute it.
40203         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
40204         trailing slash behavior is broken.
40205         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
40206         * modules/unistd (Makefile.am): Substitute it.
40207         * lib/unistd.in.h (unlinkat): Declare replacement.
40208         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
40209
40210         openat: fix fstatat bugs on Solaris 9
40211         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
40212         stat.
40213         * doc/posix-functions/fstatat.texi (fstatat): Document this.
40214
40215         test-unlinkat: enhance test, to expose Solaris 9 bug
40216         * tests/test-unlink.c (main): Factor guts...
40217         * tests/test-unlink.h (test_rmdir_func): ...into new file.
40218         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
40219         * tests/test-rmdir.c (main): Adjust caller.
40220         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
40221         (unlinker): New helper function.
40222         (rmdirat): Enhance check.
40223         * modules/rmdir-tests (Depends-on): Add stdbool.
40224         * modules/unlink-tests (Depends-on): Likewise.
40225         (Files): Add test-unlink.h.
40226         * modules/openat-tests (Files): Likewise.
40227         (Depends-on): Add unlinkdir.
40228
40229         test-fstatat: new test, to expose Solaris 9 bugs
40230         * tests/test-stat.c (main): Factor guts...
40231         * tests/test-stat.h (test_stat_func): ...into new file.
40232         * tests/test-lstat.c (main): Factor guts...
40233         * tests/test-lstat.h (test_lstat_func): ...into new file.
40234         * tests/test-fstatat.c: New file.
40235         * modules/stat-tests (Files): Add test-stat.h.
40236         * modules/lstat-tests (Files): Add test-lstat.h.
40237         (Depends-on): Add stdbool.
40238         * modules/openat-tests (Depends-on): Add pathmax.
40239         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
40240         (Makefile.am): Run new test.
40241
40242         remove: new module, for mingw and Solaris 9 bugs
40243         * modules/remove: New file.
40244         * lib/remove.c: Likewise.
40245         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
40246         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
40247         * modules/stdio (Makefile.am): Use them.
40248         * lib/stdio.in.h (remove): Declare replacement.
40249         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
40250         * doc/posix-functions/remove.texi (remove): Likewise.
40251         * modules/remove-tests: New test.
40252         * tests/test-remove.c: Likewise.
40253
40254         unlink: new module, for Solaris 9 bug
40255         * modules/unlink: New file.
40256         * lib/unlink.c: Likewise.
40257         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
40258         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
40259         * modules/unistd (Makefile.am): Use them.
40260         * lib/unistd.in.h (stat): Declare replacement.
40261         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
40262         * doc/posix-functions/unlink.texi (unlink): Likewise.
40263         * modules/unlink-tests: New test.
40264         * tests/test-unlink.c: Likewise.
40265
40266         lstat: fix Solaris 9 bug
40267         * lib/lstat.c (lstat): Also check for trailing slash on
40268         non-symlink, non-directories.  Use stat module to simplify logic.
40269         * doc/posix-functions/lstat.texi (lstat): Document it.
40270         * modules/lstat-tests (Depends-on): Add errno, same-inode.
40271         (configure.ac): Check for symlink.
40272         * tests/test-lstat.c (main): Add more tests.
40273
40274         stat: add as dependency to other modules
40275         * modules/chown (Depends-on): Add stat.
40276         * modules/euidaccess (Depends-on): Likewise.
40277         * modules/fchdir (Depends-on): Likewise.
40278         * modules/isdir (Depends-on): Likewise.
40279         * modules/link (Depends-on): Likewise.
40280         * modules/lstat (Depends-on): Likewise.
40281         * modules/mkdir-p (Depends-on): Likewise.
40282         * modules/modechange (Depends-on): Likewise.
40283         * modules/open (Depends-on): Likewise.
40284         * modules/readlink (Depends-on): Likewise.
40285         * modules/same (Depends-on): Likewise.
40286
40287         stat: fix Solaris 9 bug
40288         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
40289         slash.
40290         * lib/stat.c (rpl_stat): Work around it.
40291         * doc/posix-functions/stat.texi (stat): Update documentation.
40292
40293         stat: new module, for mingw bug
40294         * modules/stat: New file.
40295         * lib/stat.c: Likewise.
40296         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
40297         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
40298         * modules/sys_stat (Makefile.am): Use them.
40299         * lib/sys_stat.in.h (stat): Declare replacement.
40300         * lib/openat.c (fstatat): Deal with lstat and stat being function
40301         macros.
40302         * modules/openat (Depends-on): Add inline.
40303         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
40304         * doc/posix-functions/stat.texi (stat): Likewise.
40305         * modules/stat-tests: New test.
40306         * tests/test-stat.c: Likewise.
40307
40308 2009-09-19  Jim Meyering  <meyering@redhat.com>
40309
40310         syntax-check: detect unnecessary inclusion of canonicalize.h
40311         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
40312
40313 2009-09-19  Eric Blake  <ebb9@byu.net>
40314
40315         canonicalize-lgpl: adjust clients to use correct header
40316         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
40317         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
40318         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
40319         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
40320         * lib/progreloc.c (includes): Likewise.
40321
40322 2009-09-19  Jim Meyering  <meyering@redhat.com>
40323
40324         test-posixtm.c: correct a comment
40325         * tests/test-posixtm.c: Correct first-line comment.
40326         Spotted by Eric Blake.
40327
40328 2009-09-16  Jim Meyering  <meyering@redhat.com>
40329
40330         posixtm-tests: make T const-correct; add a test case
40331         * tests/test-posixtm.c (T): Declare const.
40332         Add a test for -(2^31+1).
40333         Remove useless can-succeed-only-in-2002 test.
40334
40335         posixtm-tests: adjust the sole failing test
40336         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
40337         expected output matches what mktime now produces.  Cross-checked via
40338         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
40339
40340         posixtm: move #ifdef'd tests into a new module
40341         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
40342         * tests/test-posixtm.c: ... this new file.
40343         * modules/posixtm-tests: New module.
40344
40345 2009-09-19  Eric Blake  <ebb9@byu.net>
40346
40347         openat: simplify use of at-func.c
40348         * lib/at-func.c (includes): Include prerequisites here, to
40349         simplify requirements on client files.
40350         * lib/openat-priv.h: Add double-inclusion guard.
40351         * lib/faccessat.c (includes): Simplify.
40352         * lib/fchmodat.c (includes): Likewise.
40353         * lib/fchownat.c (includes): Likewise.
40354         * lib/mkdirat.c (includes): Likewise.
40355         * lib/mkfifoat.c (includes): Likewise.
40356         * lib/symlinkat.c (includes): Likewise.
40357
40358         openat: allow return of fd 0
40359         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
40360         * modules/save-cwd (Depends-on): Replace fcntl-safer with
40361         unistd-safer.
40362         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
40363         <fcntl.h>; this module does not leak fds.
40364         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
40365         must be allowed to return 0, leaving openat_safer to add the
40366         safety.
40367         (openat_permissive): Avoid writing to just-opened fd 2 if
40368         restoring the current directory fails.
40369         * lib/openat-die.c (openat_restore_fail): Add comment.
40370         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
40371         (save_cwd): Guarantee safe fd, but without use of open_safer.
40372         * tests/test-openat.c: New test.
40373         * modules/openat-tests (Files, Makefile.am): Distribute and build
40374         new file.
40375
40376         relocatable-prog-wrapper: fix build
40377         * modules/relocatable-prog-wrapper (Files): Update name of
40378         canonicalize m4 file, broken on 2009-09-17.
40379         Reported by emad hajjar <aleppos@hotmail.com>.
40380
40381 2009-09-19  Bruno Haible  <bruno@clisp.org>
40382
40383         * lib/safe-alloc.h: Use the standard header with GPL copyright.
40384         * lib/safe-alloc.c: Likewise.
40385         Reported by Ian Beckwith <ianb@erislabs.net>.
40386
40387 2009-09-18  Bruno Haible  <bruno@clisp.org>
40388
40389         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
40390         Reported by <erobles@sensacd.com.mx>.
40391
40392 2009-09-17  Eric Blake  <ebb9@byu.net>
40393
40394         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
40395         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
40396         slashes when checking if last component is missing.
40397         * tests/test-canonicalize.c (main): Test this.
40398
40399         canonicalize, canonicalize-lgpl: honor // if distinct from /
40400         * modules/canonicalize (Files): Add double-slash-root.m4.
40401         * modules/canonicalize-lgpl (Files): Likewise.
40402         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
40403         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
40404         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
40405         fallback definition.
40406         (canonicalize_filename_mode): Use it to protect //.
40407         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
40408         (__realpath): Likewise.
40409         * tests/test-canonicalize.c (main): Test this.
40410         * tests/test-canonicalize-lgpl.c (main): Likewise.
40411         * modules/canonicalize-tests (Depends-on): Add same-inode.
40412         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
40413
40414         canonicalize-lgpl: fix glibc bug with trailing slash
40415         * m4/canonicalize-lgpl.m4: Move contents...
40416         * m4/canonicalize.m4: ...here.
40417         (gl_CANONICALIZE_LGPL): Factor realpath check...
40418         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
40419         glibc 2.3.5 bug, fixed 2005-04-27.
40420         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
40421         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
40422         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
40423         * modules/canonicalize-lgpl (Files): Manage file rename.
40424         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
40425         * modules/stdlib (Makefile.am): Substitute witness.
40426         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
40427         is needed.
40428         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
40429         replacement is required.
40430         * lib/canonicalize.c (canonicalize_file_name): Likewise.
40431         * doc/glibc-functions/canonicalize_file_name.texi
40432         (canonicalize_file_name): Document this.
40433         * doc/posix-functions/realpath.texi (realpath): Likewise.
40434
40435         canonicalize-lgpl: reject non-directory with trailing slash
40436         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
40437         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
40438         catches failures in glibc 2.3.5.
40439         * tests/test-canonicalize.c (main): Likewise.
40440
40441         canonicalize-lgpl: use native realpath if it works
40442         * lib/canonicalize-lgpl.c (realpath): Guard with
40443         FUNC_REALPATH_WORKS.
40444         * lib/stdlib.in.h (realpath): Make declaration optional based on
40445         HAVE_REALPATH.
40446         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
40447         native realpath works.
40448         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
40449         * modules/stdlib (Makefile.am): Substitute witness.
40450
40451         canonicalize, canonicalize-lgpl: use <stdlib.h>
40452         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
40453         (Include): Mention <stdlib.h>.
40454         (configure.ac): Mention functions we provide.
40455         * modules/canonicalize (configure.ac): Likewise.
40456         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
40457         realpath if canonicalize_file_name is missing.
40458         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
40459         * modules/stdlib (Makefile.am): Substitute witnesses.
40460         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
40461         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
40462         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
40463         * NEWS: Document this.
40464         * doc/glibc-functions/canonicalize_file_name.texi
40465         (canonicalize_file_name): Likewise.
40466         * doc/posix-functions/realpath.texi (realpath): Likewise.
40467         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
40468
40469         test-canonicalize: consolidate into single C program
40470         * tests/test-canonicalize.sh: Delete; move setup into...
40471         * tests/test-canonicalize.c (main): ...the program, making it
40472         easier to run in debugger.  Add some tests.
40473         * modules/canonicalize-tests (Files): Remove unused file.
40474         (Depends-on): Add progname.
40475         (configure.ac, Makefile.am): Simplify.
40476
40477         test-canonicalize-lgpl: consolidate into single C program
40478         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
40479         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
40480         easier to run in debugger.  Add some tests.
40481         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
40482         (configure.ac, Makefile.am): Simplify.
40483
40484         canonicalize: avoid resolvepath
40485         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
40486         unnecessary checks.
40487         * lib/canonicalize.c (includes): Simplify.
40488         (canonicalize_file_name): Drop resolvepath implementation.
40489         * modules/canonicalize (Depends-on): Drop filenamecat.
40490
40491         canonicalize: don't lose errno
40492         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
40493         over calls to free.
40494
40495         canonicalize: simplify errno handling
40496         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
40497         assignment.
40498
40499         canonicalize, canonicalize-lgpl: update module dependencies
40500         * modules/canonicalize (Depends-on): Add extensions, lstat,
40501         pathmax, stdlib.
40502         (Files): Drop pathmax.h.
40503         (configure.ac): Adjust macro name.
40504         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
40505         lstat, stdlib, sys_stat.
40506         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
40507         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
40508         extensions.
40509         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
40510         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
40511         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
40512         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
40513         declaration, if available.
40514         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
40515         we can rely on the readlink module.
40516         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
40517         (includes): Use <unistd.h> unconditionally.
40518
40519 2009-09-17  Eric Blake  <ebb9@byu.net>
40520
40521         maint: make Include sections of modules consistent
40522         * modules/alloca: Use only header name; no need to list #include.
40523         * modules/alloca-opt: Likewise.
40524         * modules/arpa_inet: Likewise.
40525         * modules/canon-host: Likewise.
40526         * modules/configmake: Likewise.
40527         * modules/dirent: Likewise.
40528         * modules/eealloc: Likewise.
40529         * modules/environ: Likewise.
40530         * modules/fchdir: Likewise.
40531         * modules/fcntl: Likewise.
40532         * modules/fcntl-h: Likewise.
40533         * modules/gethrxtime: Likewise.
40534         * modules/gettime: Likewise.
40535         * modules/ignore-value: Likewise.
40536         * modules/inet_ntop: Likewise.
40537         * modules/inet_pton: Likewise.
40538         * modules/inttypes: Likewise.
40539         * modules/isnand-nolibm: Likewise.
40540         * modules/isnanf-nolibm: Likewise.
40541         * modules/mbchar: Likewise.
40542         * modules/mbfile: Likewise.
40543         * modules/mbiter: Likewise.
40544         * modules/mbuiter: Likewise.
40545         * modules/netdb: Likewise.
40546         * modules/netinet_in: Likewise.
40547         * modules/nproc: Likewise.
40548         * modules/pagealign_alloc: Likewise.
40549         * modules/poll: Likewise.
40550         * modules/printf-frexp: Likewise.
40551         * modules/pthread: Likewise.
40552         * modules/putenv: Likewise.
40553         * modules/random_r: Likewise.
40554         * modules/relocatable-prog: Likewise.
40555         * modules/search: Likewise.
40556         * modules/select: Likewise.
40557         * modules/selinux-h: Likewise.
40558         * modules/settime: Likewise.
40559         * modules/signal: Likewise.
40560         * modules/size_max: Likewise.
40561         * modules/socklen: Likewise.
40562         * modules/ssize_t: Likewise.
40563         * modules/stdarg: Likewise.
40564         * modules/stdbool: Likewise.
40565         * modules/stddef: Likewise.
40566         * modules/stdint: Likewise.
40567         * modules/stdio: Likewise.
40568         * modules/stdlib: Likewise.
40569         * modules/string: Likewise.
40570         * modules/strings: Likewise.
40571         * modules/sys_file: Likewise.
40572         * modules/sys_ioctl: Likewise.
40573         * modules/sys_select: Likewise.
40574         * modules/sys_socket: Likewise.
40575         * modules/sys_stat: Likewise.
40576         * modules/sys_time: Likewise.
40577         * modules/sys_times: Likewise.
40578         * modules/sys_utsname: Likewise.
40579         * modules/sys_wait: Likewise.
40580         * modules/sysexits: Likewise.
40581         * modules/time: Likewise.
40582         * modules/times: Likewise.
40583         * modules/tmpfile: Likewise.
40584         * modules/trim: Likewise.
40585         * modules/unistd: Likewise.
40586         * modules/wchar: Likewise.
40587         * modules/wctype: Likewise.
40588
40589 2009-09-17  Bruno Haible  <bruno@clisp.org>
40590
40591         Make getdate.y compile on QNX and NetBSD 5 / i386.
40592         * m4/getdate.m4 (gl_GETDATE): Conditionally define
40593         TIME_T_FITS_IN_LONG_INT.
40594         * lib/getdate.y (long_time_t): New type.
40595         (relative_time): Change type of 'seconds' field to long_time_t.
40596         (get_date): Update types of local variables. Check against overflow
40597         during conversion from long_time_t to time_t.
40598         Reported by Matt Kraai <kraai@ftbfs.org>
40599         and Hasso Tepper <hasso@netbsd.org>.
40600
40601 2009-09-17  Bruno Haible  <bruno@clisp.org>
40602
40603         * modules/COPYING: Update copyright years.
40604         * modules/README: Likeiwse.
40605         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
40606         Reported by Ian Beckwith <ianb@erislabs.net>.
40607
40608 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
40609
40610         * users.txt: Update references for gnuit package.
40611
40612 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
40613
40614         * m4/getdelim.m4: Fix typo in copyright line.
40615
40616 2009-09-17  Bruno Haible  <bruno@clisp.org>
40617
40618         * lib/atoll.c: Use the standard header with GPL copyright.
40619         * lib/argz.in.h: Likewise.
40620         * lib/glob.c: Likewise.
40621         * lib/glob-libc.h: Likewise.
40622         * lib/random_r.c: Likewise.
40623         * lib/siglist.h: Likewise.
40624         * lib/strsignal.c: Likewise.
40625         Reported by Ian Beckwith <ianb@erislabs.net>.
40626
40627 2009-09-17  Eric Blake  <ebb9@byu.net>
40628
40629         rmdir: ensure correct dependency order
40630         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
40631
40632 2009-09-17  Bruno Haible  <bruno@clisp.org>
40633
40634         Disable assertion that fails on NetBSD 5 / i386.
40635         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
40636         Reported by Sam Steingold <sds@gnu.org>
40637         and Hasso Tepper <hasso@netbsd.org>.
40638
40639 2009-09-16  Eric Blake  <ebb9@byu.net>
40640
40641         unlinkdir: port to mingw
40642         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
40643         on which no one can unlink a directory.
40644
40645         stdlib: sort witness names
40646         * modules/stdlib (Makefile.am): Sort replacements.
40647         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
40648         * lib/stdlib.in.h: Likewise.
40649
40650         parse-duration-tests: avoid link failure
40651         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
40652         LIBINTL.
40653         Reported by Tom G. Christensen.
40654
40655         openat-tests: ensure unlinkat behaves like rmdir
40656         * tests/test-rmdir.c (main): Factor guts...
40657         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
40658         * modules/rmdir-tests (Files): Ship new file.
40659         * modules/openat-tests: New test.
40660         * tests/test-unlinkat.c: Likewise.
40661
40662         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
40663         * modules/rmdir-errno (Status, Notice): Now obsolete.
40664
40665         rmdir: work around cygwin 1.5.x and mingw bugs
40666         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
40667         * lib/rmdir.c (rmdir): Work around it.
40668         * modules/rmdir (Status, Notice): No longer obsolete.
40669         (Files): Add dos.m4.
40670         (Depends-on): Add unistd.
40671         (configure.ac): Set witnesses.
40672         (License): Relax to LGPLv2+.
40673         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
40674         * modules/unistd (Makefile.am): Substitute witnesses.
40675         * lib/unistd.in.h (rmdir): Declare replacement.
40676         * doc/posix-functions/rmdir.texi (rmdir): Document this.
40677         * modules/rmdir-tests: New tests.
40678         * tests/test-rmdir.c: Likewise.
40679
40680 2009-09-15  Eric Blake  <ebb9@byu.net>
40681
40682         fchdir: improve use of replacement functions
40683         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
40684         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
40685         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
40686         REPLACE_CLOSEDIR.
40687         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
40688         * modules/sys_stat (Makefile.am): Substitute correct witness.
40689         * modules/dirent (Makefile.am): Likewise.
40690         * modules/unistd (Makefile.am): Likewise.
40691         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
40692         * lib/unistd.in.h (dup): Likewise.
40693         * lib/sys_stat.in.h (fstat): Likewise.
40694
40695         maint: ignore gnulib-tool temp files
40696         * .gitignore: Ignore files created during gnulib-tool --test.
40697
40698 2009-09-13  Jim Meyering  <meyering@redhat.com>
40699
40700         posixtm: don't reject a time that specify "60" as the number of seconds
40701         * lib/posixtm.c (posixtime): The code to reject invalid dates
40702         would also reject a time specified with the .60 suffix.
40703         But POSIX allows that, in order to accommodate leap seconds.
40704         So don't reject it.
40705         (main): Adjust tests accordingly.
40706         * modules/posixtm (Depends-on): Add stpcpy.
40707
40708 2009-09-11  Jim Meyering  <meyering@redhat.com>
40709
40710         announce-gen: include [$release_type] in emitted Subject:
40711         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
40712         e.g., [stable] in the emitted Subject: line.
40713
40714 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40715
40716         Remove obsolete macros from several modules.
40717         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
40718         obsolete Autoconf macros with their modern counterparts.
40719         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
40720         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
40721         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
40722         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
40723         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
40724         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
40725         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
40726         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
40727         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
40728         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
40729         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
40730         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
40731         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
40732         * m4/sockets.m4 (gl_SOCKETS): Likewise.
40733         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
40734         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
40735         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
40736         * m4/time_r.m4 (gl_TIME_R): Likewise.
40737         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
40738         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
40739         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
40740
40741         Fix copyright header in build-aux scripts.
40742         * build-aux/git-version-gen: Fix copyright header to match GPLv3
40743         recommendation.
40744         * build-aux/ncftpput-ftp: Likewise.
40745         * build-aux/update-copyright: Likewise.
40746
40747 2009-09-09  Eric Blake  <ebb9@byu.net>
40748
40749         test-link: allow Linux choice of errno
40750         * tests/test-link.c (main): Relax test for alternate error.
40751
40752         strndup: fix improper m4 caching
40753         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
40754         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
40755         (gl_PREREQ_STRNDUP): Delete.
40756         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
40757         * modules/string (Makefile.am): Substitute it.
40758         * lib/string.in.h (strndup): Modernize prototype.
40759
40760         getcwd: port to mingw
40761         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
40762         different from the POSIX assumptions made throughout the getcwd
40763         module; fortunately, the mingw getcwd does not need replacement.
40764         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
40765         * modules/getcwd-tests: New test.
40766         * tests/test-getcwd.c: Likewise.
40767
40768         link: fix platform bugs
40769         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
40770         * lib/link.c (link): Work around them.  Fix related mingw bug.
40771         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
40772         * modules/unistd (Makefile.am): Substitute it.
40773         * lib/unistd.in.h (link): Declare replacement.
40774         * doc/posix-functions/link.texi (link): Document this.
40775         * modules/link (Depends-on): Add strdup-posix, sys_stat.
40776
40777         test-link: consolidate into single C program, test more cases
40778         * tests/test-link.sh: Delete.
40779         * tests/test-link.c: Test more error conditions.  Exposes bugs on
40780         at least Cygwin and Solaris.
40781         * modules/link-tests (Files): Remove unused file.
40782         (Depends-on): Add errno, sys_stat.
40783         (Makefile.am): Simplify.
40784
40785 2009-09-08  Bruno Haible  <bruno@clisp.org>
40786
40787         Work around towlower, towupper bug on mingw.
40788         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
40789         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
40790         * doc/posix-functions/towlower.texi: Mention the mingw bug.
40791         * doc/posix-functions/towupper.texi: Likewise.
40792         Reported by Eric Blake.
40793
40794 2009-09-08  Jim Meyering  <meyering@redhat.com>
40795
40796         build: don't try to run autoheader if we don't use it
40797         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
40798         is not used in configure.ac.
40799
40800 2009-09-08  Eric Blake  <ebb9@byu.net>
40801
40802         euidaccess: fix compilation error
40803         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
40804
40805         rawmemchr: relax license
40806         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
40807         okay.
40808         Reported by Jim Meyering.
40809
40810         mkfifoat: new module
40811         * modules/mkfifoat: New file.
40812         * lib/mkfifoat.c: Likewise.
40813         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
40814         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
40815         * modules/sys_stat (Makefile.am): Use them.
40816         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
40817         * MODULES.html.sh (File system functions): Mention module.
40818         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
40819         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
40820         * modules/mkfifoat-tests: New test.
40821         * tests/test-mkfifoat.c: Likewise.
40822
40823         strchrnul: relax license
40824         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
40825         okay.
40826         Reported by Jim Meyering.
40827
40828 2009-09-08  Eric Blake  <ebb9@byu.net>
40829
40830         fstatat: fix compilation on Solaris
40831         * lib/fstatat.c (includes): Add fcntl.h.
40832         Reported by Pádraig Brady.
40833
40834 2009-09-07  Eric Blake  <ebb9@byu.net>
40835
40836         rename: modernize replacement
40837         * modules/rename (Depends-on): Add stdio.
40838         (configure.ac): Declare witness.
40839         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
40840         stdio take care of replacement.
40841         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
40842         * modules/stdio (Makefile.am): Substitute them.
40843         * lib/stdio.in.h (rename): Declare replacement.
40844         * lib/rename.c (includes): Allow cross-compilation to non-windows
40845         machines.
40846         * doc/posix-functions/rename.texi (rename): Improve
40847         documentation.
40848
40849         stdio: sort witness names
40850         * modules/stdio (Makefile.am): Sort replacements.
40851         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
40852         * lib/stdio.in.h: Likewise.
40853
40854         getcwd: minor cleanups
40855         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
40856         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
40857
40858         openat: provide more convenience names
40859         * modules/faccessat (configure.ac): Add C witness.
40860         * lib/unistd.in.h (readlinkat): Fix typo.
40861         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
40862         convenience wrappers.
40863         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
40864         wrappers in syntax checks.
40865
40866 2009-09-06  Eric Blake  <ebb9@byu.net>
40867
40868         doc: fix comments in recent patches
40869         * lib/faccessat.c: Mention correct function.
40870         * lib/fchmodat.c: Likewise.
40871         * lib/fchownat.c: Likewise.
40872         * lib/symlinkat.c: Likewise.
40873         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
40874         constants.
40875
40876         faccessat, symlinkat: continue cleanup of previous patch
40877         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
40878         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
40879         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
40880         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
40881         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
40882         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
40883         set.
40884
40885 2009-09-06  Bruno Haible  <bruno@clisp.org>
40886
40887         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
40888         (fstatat): Declare if GNULIB_FSTATAT is set.
40889         (mkdirat): Declare if GNULIB_MKDIRAT is set.
40890         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
40891         (unlinkat): Declare if GNULIB_UNLINKAT is set.
40892         * modules/fcntl-h (Files): Remove m4/openat.m4.
40893         * modules/sys_stat (Files): Remove m4/openat.m4.
40894         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
40895         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
40896         * modules/unistd (Files): Remove m4/openat.m4.
40897         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
40898         GNULIB_OPENAT.
40899         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
40900         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
40901         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
40902         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
40903         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
40904         gl_OPENAT_DEFAULTS.
40905         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
40906         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
40907         Don't require gl_OPENAT_DEFAULTS.
40908         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
40909         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
40910         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
40911         (gl_OPENAT_DEFAULTS): Remove macro.
40912
40913 2009-09-06  Bruno Haible  <bruno@clisp.org>
40914
40915         * modules/openat (configure.ac): Remove unneeded witness.
40916
40917 2009-09-06  Bruno Haible  <bruno@clisp.org>
40918
40919         Set errno to ENOSYS when a function is entirely unsupported.
40920         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
40921         EOPNOTSUPP.
40922         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
40923         * modules/chown (Depends-on): Remove errno.
40924
40925 2009-09-06  Bruno Haible  <bruno@clisp.org>
40926
40927         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
40928
40929 2009-09-06  Bruno Haible  <bruno@clisp.org>
40930
40931         * lib/sys_stat.in.h: Fix preprocessor command indentation.
40932
40933 2009-09-06  Ben Pfaff  <blp@gnu.org>
40934             Bruno Haible  <bruno@clisp.org>
40935
40936         Work around a glibc bug in strtok_r.
40937         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
40938         Undefine if UNDEFINE_STRTOK_R is set.
40939         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
40940         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
40941         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
40942         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
40943         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
40944         UNDEFINE_STRTOK_R.
40945         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
40946
40947 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
40948
40949         exclude: minor fix
40950         * lib/exclude.c: Include wctype.h
40951
40952 2009-09-06  Akim Demaille  <demaille@gostai.com>
40953
40954         bootstrap: improve error message
40955         * build-aux/bootstrap (find_tool): Upon failure, report the list
40956         of candidates.
40957         Honor the initial value of the envvar.
40958
40959 2009-09-05  Eric Blake  <ebb9@byu.net>
40960
40961         symlinkat: new module
40962         * modules/symlinkat: New file.
40963         * lib/symlinkat.c: Likewise.
40964         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
40965         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
40966         * modules/unistd (Makefile.am): Use them.
40967         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
40968         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
40969         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
40970         * MODULES.html.sh (File system functions): Mention module.
40971         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
40972         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
40973         * modules/symlinkat-tests: New test.
40974         * tests/test-symlinkat.c: Likewise.
40975
40976         test-openat-safer: add more checks
40977         * tests/test-openat-safer.c (main): Check more code paths.
40978
40979 2009-09-05  Jim Meyering  <meyering@redhat.com>
40980
40981         syntax-check: detect unnecessary inclusion of openat.h
40982         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
40983
40984 2009-09-05  Bruno Haible  <bruno@clisp.org>
40985
40986         Support towlower, towupper.
40987         * doc/posix-functions/towlower.texi: Mention module wctype.
40988         * doc/posix-functions/towupper.texi: Likewise.
40989         * lib/wctype.in.h (towlower, towupper): New functions.
40990         * tests/test-wctype.c: Include stdio.h, stdlib.h.
40991         (ASSERT): New macro.
40992         (e): New variable.
40993         (main): Test also towlower, towupper. Test WEOF argument.
40994         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
40995
40996 2009-09-05  Bruno Haible  <bruno@clisp.org>
40997
40998         Fix conversion behaviour when the input is invalid.
40999         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
41000         mark occurring in first pass of indirect conversion.
41001         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
41002         input.
41003         Found by clang's static analyzer.
41004
41005 2009-09-05  Bruno Haible  <bruno@clisp.org>
41006
41007         * tests/test-striconveh.c (main): Test indirect conversion on platforms
41008         where direct conversion is possible.
41009
41010 2009-09-04  Eric Blake  <ebb9@byu.net>
41011
41012         openat: fail with ENOENT on empty name
41013         * lib/openat-proc.c (openat_proc_name): Special-case the empty
41014         buffer.
41015
41016         link-follow: fix logic bug in prior patch
41017         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
41018         reversed sense of yes and no in prior patch.  Avoid confusing
41019         compilation failure with desired semantics.
41020
41021         link-follow: accomodate mingw and cross-compilation
41022         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
41023         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
41024         cross-compilation results to -1, to make linkat easier to
41025         implement when cross-compiling.  Trivially support mingw.
41026         * modules/link-follow (configure.ac): Call new name.
41027         * NEWS: Mention this.
41028
41029 2009-09-03  Eric Blake  <ebb9@byu.net>
41030
41031         faccessat: compile replacement
41032         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
41033         needed.
41034
41035         fts: fix compilation error
41036         * lib/fts.c (includes): Re-add "openat.h", for
41037         openat_needs_fchdir.
41038
41039         faccessat: new module
41040         * modules/faccessat: New file.
41041         * lib/faccessat.c: Likewise.
41042         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
41043         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
41044         * modules/unistd (Makefile.am): Use it.
41045         * lib/unistd.in.h (faccessat): Declare it.
41046         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
41047         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
41048         * MODULES.html.sh (File system functions): Mention it.
41049         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
41050         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
41051
41052         euidaccess: prefer POSIX over non-standard implementation
41053         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
41054         * lib/euidaccess.c (euidaccess): Use it if available.
41055
41056         openat: make template easier to use
41057         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
41058         AT_FUNC_F2 to be undefined.
41059         (VALIDATE_FLAG): New macro; use it to reject bad flags.
41060         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
41061         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
41062         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
41063         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
41064         Likewise.
41065         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
41066         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
41067         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
41068         Likewise.
41069
41070         openat: declare in POSIX headers
41071         * NEWS: Mention this.
41072         * modules/openat (configure.ac): Declare witnesses.
41073         (Depends-on): Add fcntl-h, sys_stat, unistd.
41074         (Include): Mention correct headers.
41075         * modules/fcntl-h (Depends-on): Add link-warning.
41076         (Files): Add openat.m4.
41077         (Makefile.am): Substitute witnesses.
41078         * modules/sys_stat (Files, Makefile.am): Likewise.
41079         * modules/unistd (Files, Makefile.am): Likewise.
41080         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
41081         (gl_OPENAT_DEFAULTS): New macro.
41082         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
41083         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
41084         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
41085         (SYS_STAT_H): Remove unused variable.
41086         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
41087         * lib/fcntl--.h (includes): Remove unneeded header.
41088         * lib/openat-safer.c (includes): Likewise.
41089         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
41090         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
41091         appropriate headers.
41092         (__OPENAT_PREFIX): Delete.
41093         * lib/fcntl.in.h (openat): Provide declaration.
41094         (AT_FDCWD): Fix Solaris bug.
41095         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
41096         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
41097         * lib/fchmodat.c (includes):  Adjust to find declaration.
41098         * lib/fchownat.c (includes): Likewise.
41099         * lib/mkdirat.c (includes): Likewise.
41100         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
41101         still visible.
41102
41103 2009-09-02  Eric Blake  <ebb9@byu.net>
41104
41105         errno: use consistently
41106         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
41107         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
41108         * lib/canonicalize.c (ELOOP): Likewise.
41109         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
41110         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
41111         * lib/lchown.c (EOPNOTSUPP): Likewise.
41112         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
41113         * lib/savewd.c (ESTALE): Likewise.
41114         * lib/settime.c (ENOSYS): Likewise.
41115         * lib/utimens.c (ENOSYS): Likewise.
41116         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
41117         * lib/chdir-safer.c (ELOOP): Likewise.
41118         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
41119         * modules/c-stack (Depends-on): Add errno.
41120         * modules/canonicalize (Depends-on): Likewise.
41121         * modules/chdir-safer (Depends-on): Likewise.
41122         * modules/fdopendir (Depends-on): Likewise.
41123         * modules/inet_ntop (Depends-on): Likewise.
41124         * modules/inet_pton (Depends-on): Likewise.
41125         * modules/lchown (Depends-on): Likewise.
41126         * modules/openat (Depends-on): Likewise.
41127         * modules/savewd (Depends-on): Likewise.
41128         * modules/settime (Depends-on): Likewise.
41129         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
41130
41131         fts: avoid leaking fds
41132         * modules/fts (Depends-on): Add cloexec.
41133         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
41134         flag.
41135
41136         fts: make directory fds more robust
41137         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
41138         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
41139
41140         backupfile, chdir-long, fts, savedir: make safer
41141         * lib/backupfile.c (includes): Use "dirent--.h", since
41142         numbered_backup can write to stderr during readdir.
41143         * lib/savedir.c (includes): Likewise.
41144         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
41145         emulation can write to stderr on failure.
41146         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
41147         * lib/getcwd.c: Document why opendir_safer is unused.
41148         * lib/glob.c: Likewise.
41149         * lib/scandir.c: Likewise.
41150         * lib/openat-proc.c: Likewise, for open_safer.
41151         * modules/backupfile (Depends-on): Add dirent-safer.
41152         * modules/savedir (Depends-on): Likewise.
41153         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
41154         * modules/chdir-long (Depends-on): Add openat-safer.
41155
41156         openat-safer: new module
41157         * modules/openat-safer: New file.
41158         * lib/openat-safer.c: Likewise.
41159         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
41160         * lib/fcntl-safer.h (openat_safer): Declare.
41161         * lib/fcntl--.h (openat): Override.
41162         * MODULES.html.sh (File descriptor based I/O): Mention it.
41163         * lib/openat.h: Add double-inclusion guards.
41164         * lib/openat.c (includes): Only include "fcntl-safer.h", not
41165         "fcntl--.h", so we can implement openat.
41166         * modules/openat-safer-tests: New test.
41167         * tests/test-openat-safer.c: New file.
41168
41169         dirent-safer: new module
41170         * modules/dirent-safer: New file.
41171         * lib/dirent--.h: Likewise.
41172         * lib/dirent-safer.h: Likewise.
41173         * lib/opendir-safer.c: Likewise.
41174         * m4/dirent-safer.m4: Likewise.
41175         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
41176         * modules/dirent-safer-tests: New test.
41177         * tests/test-dirent-safer.c: New file.
41178         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
41179
41180         fdopendir: optimize on mingw
41181         * lib/unistd.in.h (_gl_directory_name): New prototype.
41182         * lib/fchdir.c (_gl_directory_name): Implement it.
41183         (fchdir): Use it to simplify implementation.
41184         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
41185         fchdir, when available, to avoid calling [f]chdir().
41186
41187         fdopendir: split into its own module
41188         * lib/openat.c (fdopendir): Move...
41189         * lib/fdopendir.c: ...into new file.
41190         * modules/fdopendir: New module.
41191         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
41192         * modules/openat (Depends-on): Add fdopendir.
41193         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
41194         fdopendir here.
41195         * modules/savedir (Depends-on): Only need fdopendir, not full
41196         openat.
41197         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
41198         * lib/openat.h (fdopendir): Drop prototype.
41199         * lib/dirent.in.h (fdopendir): Provide prototype.
41200         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
41201         * modules/dirent (Makefile.am): Substitute them.
41202         * MODULES.html.sh (File system functions): Mention it.
41203         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
41204         * modules/fdopendir-tests: New file.
41205         * tests/test-fdopendir.c: Likewise.
41206
41207         fchdir: use more consistent macro convention
41208         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
41209         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
41210         REPLACE_FCHDIR, rather than relying on config.h macros.
41211         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
41212         inside a single make-time REPLACE_FCHDIR block, rather than using
41213         the config.h FCHDIR_REPLACEMENT.
41214         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
41215         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
41216         Manage fstat replacement.
41217         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
41218         REPLACE_FCHDIR.
41219         * modules/sys_stat (Files): Add m4/unistd_h.m4.
41220         (Makefile.am): Substitute REPLACE_FCHDIR.
41221         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
41222         FCHDIR_REPLACEMENT.
41223         * lib/dup-safer.c (dup_safer): Likewise.
41224         * lib/dup2.c (rpl_dup2): Likewise.
41225         * lib/dup3.c (rpl_dup3): Likewise.
41226         * lib/open.c (rpl_open): Likewise.
41227
41228         fchdir: simplify error handling, and support dup3
41229         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
41230         stdbool, malloc-posix, realloc-posix.
41231         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
41232         (ensure_dirs_slot): Return false on allocation failure.
41233         (rpl_dup2): Delete.
41234         (_gl_register_dup): New function.
41235         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
41236         (_gl_register_fd): Close fd on allocation failure.
41237         * lib/fcntl.in.h (_gl_register_fd): Update signature.
41238         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
41239         prototype.
41240         (rpl_dup2_fchdir): Delete prototype.
41241         * lib/open.c (open): Update caller.
41242         * lib/dup2.c (dup2): Track fchdir metadata.
41243         * lib/dup3.c (dup3): Likewise.
41244         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
41245         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
41246
41247 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41248
41249         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
41250         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
41251         don't pass arguments to AC_OUTPUT.
41252
41253 2009-09-02  Bruno Haible  <bruno@clisp.org>
41254
41255         * modules/mkdtemp (License): Relicense under LGPLv2+.
41256         Reported by Paolo Bonzini.
41257
41258 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41259
41260         Replace uses of obsolete autoconf macros in Jim's modules.
41261         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
41262         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
41263         can evoke a warning from autoconf when run with -Wobsolete
41264         enabled.  They were declared obsolete for good reasons (see
41265         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
41266         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
41267         should not continue using the deprecated macros.
41268         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
41269         obsolete Autoconf macros with modern counterparts.
41270         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
41271         * m4/dos.m4 (gl_AC_DOS): Likewise.
41272         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
41273         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
41274         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
41275         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
41276         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
41277         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
41278         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
41279         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
41280         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
41281         Likewise.
41282         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
41283         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
41284         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
41285         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
41286         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
41287         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
41288
41289 2009-09-01  Eric Blake  <ebb9@byu.net>
41290
41291         fchdir: fix off-by-one bug in previous patch
41292         * lib/fchdir.c (rpl_fstat): Use correct bounds.
41293         (_gl_unregister_fd): Delete useless if.
41294
41295 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
41296
41297         maint.mk: sort the list of syntax-check rules
41298         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
41299         easier to get a sense of progress when the rules are run sequentially
41300         and take a long time.
41301
41302 2009-09-01  Simon Josefsson  <simon@josefsson.org>
41303
41304         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
41305         * modules/netinet_in: Likewise.
41306         * modules/sys_file: Likewise.
41307         * modules/sys_ioctl: Likewise.
41308         * modules/sys_select: Likewise.
41309         * modules/sys_socket: Likewise.
41310         * modules/sys_stat: Likewise.
41311         * modules/sys_time: Likewise.
41312         * modules/sys_times: Likewise.
41313         * modules/sys_utsname: Likewise.
41314         * modules/sys_wait: Likewise.
41315
41316 2009-09-01  Jim Meyering  <meyering@redhat.com>
41317
41318         fts: help ensure that return values are not ignored
41319         * lib/fts_.h (__GNUC_PREREQ): Define.
41320         (__attribute_warn_unused_result__): Define.
41321         (fts_children, fts_close, fts_open, fts_read): Declare with
41322         __attribute_warn_unused_result__.
41323
41324         fts: fts_close now fails also when closing a dir file descriptor fails
41325         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
41326         and propagate to caller, along with errno.
41327
41328         announce-gen: correct formatting in --help output
41329         * build-aux/announce-gen (usage): Move the one-line description in
41330         --help output "up", to where it belongs, just after Usage:.
41331
41332 2009-08-31  Eric Blake  <ebb9@byu.net>
41333
41334         fchdir: port to mingw
41335         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
41336         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
41337         opened, then use a substitute.
41338         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
41339         replacement.
41340         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
41341         (_gl_register_fd): No need to check stat if open already filters
41342         all directories.
41343         (fchdir): Fix error condition to match POSIX.
41344         * modules/fchdir (Depends-on): Add sys_stat.
41345         * doc/posix-functions/open.texi (open): Document the limitation.
41346         * modules/fchdir-tests: New file.
41347         * tests/test-fchdir.c: Likewise.
41348
41349         canonicalize: allow cross-testing from cygwin to mingw
41350         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
41351         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
41352         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
41353         Likewise.
41354         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
41355         target does not support symlinks.
41356         * tests/test-canonicalize-lgpl.sh: Likewise.
41357
41358         chown: avoid compilation warning on mingw
41359         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
41360         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
41361         mingw.
41362         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
41363         * modules/chown (Depends-on): Add errno.
41364
41365 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
41366
41367         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
41368         command.
41369
41370 2009-08-31  Jim Meyering  <meyering@redhat.com>
41371
41372         canonicalize: remove useless initialization
41373         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
41374         initialization of local, "end".
41375
41376 2009-08-30  Bruno Haible  <bruno@clisp.org>
41377
41378         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
41379         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
41380         ENOSYS.
41381
41382 2009-08-30  Bruno Haible  <bruno@clisp.org>
41383
41384         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
41385         /usr/xpg4/bin/tr when it exists.
41386         * tests/test-pipe-filter-gi1.sh: Likewise.
41387
41388 2009-08-30  Bruno Haible  <bruno@clisp.org>
41389
41390         Work around deficient /usr/bin/id program on Solaris.
41391         * tests/test-file-has-acl.sh (ID): New variable.
41392         * tests/test-set-mode-acl.sh (ID): Likewise.
41393         * tests/test-copy-acl.sh (ID): Likewise.
41394         * tests/test-copy-file.sh (ID): Likewise.
41395
41396 2009-08-30  Bruno Haible  <bruno@clisp.org>
41397
41398         New module 'xstriconveh'.
41399         * lib/xstriconveh.h: New file.
41400         * lib/xstriconveh.c: New file.
41401         * modules/xstriconveh: New file.
41402
41403 2009-08-30  Bruno Haible  <bruno@clisp.org>
41404
41405         Make it easier to use mem_cd_iconveh.
41406         * lib/striconveh.h (iconveh_t): New type.
41407         (iconveh_open, iconveh_close): New declarations.
41408         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
41409         with a single 'const iconveh_t *' argument.
41410         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
41411         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
41412         with a single 'const iconveh_t *' argument.
41413         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
41414         * tests/test-striconveh.c (main): Update.
41415         * NEWS: Mention the change.
41416
41417 2009-08-30  Bruno Haible  <bruno@clisp.org>
41418
41419         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
41420         problem.
41421
41422 2009-08-30  Bruno Haible  <bruno@clisp.org>
41423
41424         Work around iconv_open problem on Solaris.
41425         * lib/iconv_open-solaris.gperf: New file.
41426         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
41427         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
41428         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
41429         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
41430         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
41431         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
41432
41433 2009-08-29  Jim Meyering  <meyering@redhat.com>
41434
41435         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
41436         * top/maint.mk (cvs-check): Remove target; it was just an alias
41437         to the better-named vc-diff-check.
41438         (maintainer-distcheck): Remove rule.  It was used only from
41439         the (alpha/beta/major) target, and all of its commands but one
41440         were coreutils-specific.
41441         (vc-dist): Remove rule.
41442         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
41443         Run vc-diff-check, not vc-dist.
41444         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
41445
41446 2009-08-27  Bruno Haible  <bruno@clisp.org>
41447
41448         * tests/test-bitrotate.c (main): Remove test that uses a shift count
41449         of 0.
41450
41451 2009-08-27  Bruno Haible  <bruno@clisp.org>
41452
41453         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
41454         compilers.
41455         * doc/func.texi: Document the SunPRO C bug.
41456
41457 2009-08-27  Bruno Haible  <bruno@clisp.org>
41458
41459         Fix link error on Solaris.
41460         * tests/test-parse-duration.c (xstrdup): Remove function.
41461
41462 2009-08-26  Pádraig Brady  <P@draigbrady.com>
41463
41464         ignore-value: handle pointer types, too
41465         * lib/ignore-value.h (__attribute__): Remove definition.
41466         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
41467         of a more concise and more-often effective "(void) i" statement.
41468         (ignore_ptr): New function to suppress warnings from functions that
41469         return pointers, and to make it explicit that one function doesn't
41470         handle all cases.
41471
41472 2009-08-25  Bruno Haible  <bruno@clisp.org>
41473
41474         dup2: work around a Linux bug.
41475         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
41476         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
41477         * doc/posix-functions/dup2.texi: Mention the Linux bug.
41478         Reported by Simon Josefsson.
41479
41480 2009-08-25  Jim Meyering  <meyering@redhat.com>
41481
41482         libguestfs uses gnulib
41483         * users.txt: Add libguestfs.
41484
41485 2009-08-24  Eric Blake  <ebb9@byu.net>
41486
41487         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
41488         * lib/pipe2.c (includes): Add binary-io.h.
41489         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
41490
41491 2009-08-24  Bruno Haible  <bruno@clisp.org>
41492
41493         Tolerate declared but missing accept4 syscall.
41494         * lib/accept4.c (accept4): Invoke original accept4 function first, if
41495         available.
41496         * lib/sys_socket.in.h (accept4): If the function is already present,
41497         override it.
41498         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
41499         * modules/accept4 (Makefile.am): Compile accept4.c always.
41500         Reported by Paolo Bonzini and Eric Blake.
41501
41502 2009-08-23  Bruno Haible  <bruno@clisp.org>
41503
41504         New module 'accept4'.
41505         * lib/sys_socket.in.h (accept4): New declaration.
41506         * lib/accept4.c: New file.
41507         * m4/accept4.m4: New file.
41508         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
41509         GNULIB_ACCEPT4, HAVE_ACCEPT4.
41510         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
41511         HAVE_ACCEPT4.
41512         * modules/accept4: New file.
41513         * doc/glibc-functions/accept4.texi: Mention the new module.
41514
41515 2009-08-24  Jim Meyering  <meyering@redhat.com>
41516
41517         progname: also set global program_invocation_name, when possible
41518         Before this change, a libtool-enabled program that calls glibc's
41519         error function would report the program name as
41520         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
41521         * modules/progname (configure.ac): Check for a declaration of
41522         program_invocation_name.
41523         * lib/progname.c:  Include <errno.h>.
41524         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
41525         Set program_invocation_name.
41526
41527 2009-08-23  Bruno Haible  <bruno@clisp.org>
41528
41529         * lib/dup3.c: Include <string.h>.
41530
41531 2009-08-23  Bruno Haible  <bruno@clisp.org>
41532
41533         * lib/dup3.c (dup3): Test only once whether the system actually exists.
41534         * lib/pipe2.c (pipe2): Likewise.
41535         Suggested by Eric Blake.
41536
41537 2009-08-23  Bruno Haible  <bruno@clisp.org>
41538
41539         Tolerate declared but missing dup3 syscall.
41540         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
41541         * lib/unistd.in.h (dup3): If the function is already present,
41542         override it.
41543         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
41544         * modules/dup3 (Makefile.am): Compile dup3.c always.
41545         Reported by Paolo Bonzini.
41546
41547 2009-08-23  Bruno Haible  <bruno@clisp.org>
41548
41549         Tolerate declared but missing pipe2 syscall.
41550         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
41551         available.
41552         * lib/unistd.in.h (pipe2): If the function is already present,
41553         override it.
41554         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
41555         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
41556         Reported by Paolo Bonzini.
41557
41558 2009-08-23  Bruno Haible  <bruno@clisp.org>
41559
41560         * lib/pipe2.c (pipe2): Move #ifs inside function.
41561
41562 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
41563
41564         quotearg: document limitations of quote_these_too
41565         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
41566         those limitations are created.
41567         * lib/quotearg.h (set_char_quoting): Document that digits and
41568         letters that are special after backslash are not permitted.
41569         (quotearg_char): Cross-reference set_char_quoting documentation.
41570
41571 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
41572
41573         quotearg: implement custom_quoting_style
41574         * lib/quotearg.c: (struct quoting_options): Add left_quote and
41575         right_quote fields.
41576         (set_custom_quoting): New public function.
41577         (quotearg_buffer_restyled): Add left_quote and right_quote
41578         arguments, handle them very much like locale quoting, and update
41579         all uses.
41580         (quotearg_n_custom): New public function.
41581         (quotearg_n_custom_mem): New public function.
41582         (quotearg_custom): New public function.
41583         (quotearg_custom_mem): New public function.
41584         * lib/quotearg.h: Prototype and document new public functions.
41585         (enum quoting_style): For escape_quoting_style and
41586         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
41587         ignored even though they're otherwise like c_quoting_style.
41588         Add custom_quoting_style member and document with comparison to
41589         clocale_quoting_style.
41590         * tests/test-quotearg.c (custom_quotes): New array.
41591         (custom_results): New array.
41592         (main): Extend to test custom quoting.
41593
41594 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
41595
41596         quotearg: fix right quote escaping when it's in quote_these_too
41597         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
41598         quote, be sure to prepend only one backslash.
41599         * tests/test-quotearg.c (use_quote_double_quotes): New function.
41600         (main): Test it.
41601
41602 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
41603
41604         quotearg-tests: test escaping of embedded locale quotes
41605         * tests/test-quotearg.c (struct result_strings): Add member for
41606         new input.
41607         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
41608         (inputs): Add new input.
41609         (results_g): Add expected results.
41610         (flag_results): Likewise.
41611         (locale_results): Likewise.
41612         (compare_strings): Check those.
41613
41614 2009-08-23  Bruno Haible  <bruno@clisp.org>
41615
41616         Tests for module 'dup3'.
41617         * modules/dup3-tests: New file.
41618         * tests/test-dup3.c: New file.
41619
41620         New module 'dup3'.
41621         * lib/unistd.in.h (dup3): New declaration.
41622         * lib/dup3.c: New file.
41623         * m4/dup3.m4: New file.
41624         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
41625         HAVE_DUP3.
41626         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
41627         * modules/dup3: New file.
41628         * doc/glibc-functions/dup3.texi: Mention the new module.
41629
41630 2009-08-23  Bruno Haible  <bruno@clisp.org>
41631
41632         Tweak the dup2 test.
41633         * tests/test-dup2.c (main): Create the test file empty. Verify that an
41634         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
41635         the test file is still empty. Fix argument order of lseek.
41636
41637 2009-08-23  Bruno Haible  <bruno@clisp.org>
41638
41639         Avoid test link errors when the modules getopt-gnu, gettext are used.
41640         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
41641         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
41642
41643 2009-08-23  Bruno Haible  <bruno@clisp.org>
41644
41645         Fix getdtablesize() on mingw.
41646         * lib/getdtablesize.c (getdtablesize): Implement differently.
41647         * lib/unistd.in.h (getdtablesize): Improve comment.
41648
41649 2009-08-23  Bruno Haible  <bruno@clisp.org>
41650
41651         New module 'mkostemp'.
41652         Based on Ulrich Drepper's 2007-08-10 change in glibc.
41653         * lib/stdlib.in.h (mksotemp): New declaration.
41654         * lib/mkostemp.c: New file, from glibc with modifications.
41655         * lib/tempname.h (GT_FILE): Remove outdated comment.
41656         (gen_tempname): Add flags argument.
41657         * lib/tempname.c (__GT_BIGFILE): Remove macro.
41658         (__GT_FILE): Map to 1.
41659         (small_open, large_open): Remove macros.
41660         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
41661         * lib/mkstemp.c (mkstemp): Update.
41662         * lib/mkdtemp.c (mkdtemp): Likewise.
41663         * m4/mkostemp.m4: New file.
41664         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
41665         HAVE_MKOSTEMP.
41666         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
41667         HAVE_MKOSTEMP.
41668         * modules/mkostemp: New file, based on modules/mkstemp.
41669         * doc/glibc-functions/mkostemp.texi: Mention the new module.
41670         * NEWS: Mention the change.
41671
41672 2009-08-23  Bruno Haible  <bruno@clisp.org>
41673
41674         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
41675         Reported by Eric Blake.
41676
41677 2009-08-23  Bruno Haible  <bruno@clisp.org>
41678
41679         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
41680         Reported by Eric Blake.
41681
41682 2009-08-23  Bruno Haible  <bruno@clisp.org>
41683
41684         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
41685         * modules/pipe2 (Depends-on): Likewise.
41686
41687 2009-08-23  Eric Blake  <ebb9@byu.net>
41688
41689         fcntl-h: add O_TTY_INIT support
41690         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
41691         * tests/test-fcntl-h.c (o): Test it.
41692         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
41693
41694         fcntl-h: rename from fcntl, in preparation for fcntl(2)
41695         * modules/fcntl: Move <fcntl.h> header replacement...
41696         * modules/fcntl-h: ...to new name, so as not to collide with
41697         like-named function.
41698         * tests/test-fcntl.c: Rename...
41699         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
41700         * modules/fcntl-tests: Rename...
41701         * modules/fcntl-h-tests: ...to this.  Update test file name.
41702         * modules/chdir-long (Depends-on): Update clients.
41703         * modules/chdir-safer (Depends-on): Likewise.
41704         * modules/fcntl-safer (Depends-on): Likewise.
41705         * modules/fts (Depends-on): Likewise.
41706         * modules/mkancesdirs (Depends-on): Likewise.
41707         * modules/mkdir-p (Depends-on): Likewise.
41708         * modules/open (Depends-on): Likewise.
41709         * modules/savewd (Depends-on): Likewise.
41710         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
41711         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
41712
41713 2009-08-22  Bruno Haible  <bruno@clisp.org>
41714
41715         * modules/binary-io (License): Relicense under LGPL.
41716         * modules/pipe2 (License): Likewise.
41717
41718 2009-08-22  Bruno Haible  <bruno@clisp.org>
41719
41720         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
41721         return value.
41722         * lib/pipe-filter-gi.c (filter_init): Likewise.
41723         Reported by Eric Blake.
41724
41725 2009-08-22  Bruno Haible  <bruno@clisp.org>
41726
41727         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
41728         * modules/pipe (Depends-on): Add pipe2.
41729
41730 2009-08-22  Bruno Haible  <bruno@clisp.org>
41731
41732         Tests for module 'pipe2'.
41733         * modules/pipe2-tests: New file.
41734         * tests/test-pipe2.c: New file.
41735
41736         New module 'pipe2'.
41737         * lib/unistd.in.h (pipe2): New declaration.
41738         * lib/pipe2.c: New file.
41739         * m4/pipe2.m4: New file.
41740         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
41741         HAVE_PIPE2.
41742         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
41743         * modules/pipe2: New file.
41744         * doc/glibc-functions/pipe2.texi: Mention the new module.
41745
41746 2009-08-22  Bruno Haible  <bruno@clisp.org>
41747
41748         Reference some new glibc functions.
41749         * doc/glibc-functions/accept4.texi: New file.
41750         * doc/glibc-functions/dup3.texi: New file.
41751         * doc/glibc-functions/mkostemp.texi: New file.
41752         * doc/glibc-functions/pipe2.texi: New file.
41753         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
41754         (Glibc sys/socket.h): Refer to accept4.
41755         (Glibc unistd.h): Refer to dup3, pipe2.
41756         Reported by Eric Blake.
41757
41758 2009-08-22  Jim Meyering  <meyering@redhat.com>
41759             Bruno Haible  <bruno@clisp.org>
41760
41761         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
41762         This makes it so packages using automake-1.11's silent-rules option
41763         can print e.g., a single "GEN    configmake.h" line, rather than
41764         the 30+ statements that perform the job.  If you want to see the
41765         actual commands, you can still run "make V=1".
41766         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
41767         so that make output is abbreviated when those variables are defined
41768         appropriately.
41769         * modules/argz: Likewise.
41770         * modules/arpa_inet: Likewise.
41771         * modules/byteswap: Likewise.
41772         * modules/configmake: Likewise.
41773         * modules/dirent: Likewise.
41774         * modules/errno: Likewise.
41775         * modules/fcntl: Likewise.
41776         * modules/float: Likewise.
41777         * modules/fnmatch: Likewise.
41778         * modules/getopt-posix: Likewise.
41779         * modules/glob: Likewise.
41780         * modules/iconv_open: Likewise.
41781         * modules/inttypes: Likewise.
41782         * modules/localcharset: Likewise.
41783         * modules/locale: Likewise.
41784         * modules/math: Likewise.
41785         * modules/netdb: Likewise.
41786         * modules/netinet_in: Likewise.
41787         * modules/poll: Likewise.
41788         * modules/posix_spawnp-tests: Likewise.
41789         * modules/sched: Likewise.
41790         * modules/search: Likewise.
41791         * modules/selinux-h: Likewise.
41792         * modules/signal: Likewise.
41793         * modules/spawn: Likewise.
41794         * modules/stdarg: Likewise.
41795         * modules/stdbool: Likewise.
41796         * modules/stddef: Likewise.
41797         * modules/stdint: Likewise.
41798         * modules/stdio: Likewise.
41799         * modules/stdlib: Likewise.
41800         * modules/string: Likewise.
41801         * modules/strings: Likewise.
41802         * modules/sys_file: Likewise.
41803         * modules/sys_ioctl: Likewise.
41804         * modules/sys_select: Likewise.
41805         * modules/sys_socket: Likewise.
41806         * modules/sys_stat: Likewise.
41807         * modules/sys_time: Likewise.
41808         * modules/sys_times: Likewise.
41809         * modules/sys_utsname: Likewise.
41810         * modules/sys_wait: Likewise.
41811         * modules/sysexits: Likewise.
41812         * modules/time: Likewise.
41813         * modules/unistd: Likewise.
41814         * modules/wchar: Likewise.
41815         * modules/wctype: Likewise.
41816
41817 2009-08-22  Jim Meyering  <meyering@redhat.com>
41818
41819         announce-gen: detect write failure
41820         * build-aux/announce-gen: Add Coda at end.
41821         Remove equivalent-but-more-verbose block at top.
41822
41823 2009-08-19  Akim Demaille  <demaille@gostai.com>
41824
41825         bootstrap: --help to stdout.
41826         * bootstrap (usage): Don't send --help to stderr.
41827         Use a here doc instead of a long string.
41828
41829 2009-08-21  Eric Blake  <ebb9@byu.net>
41830
41831         test-popen-safer: split from test-popen
41832         * tests/test-popen.c (main): Move...
41833         * tests/test-popen.h: ...into new file.
41834         * tests/test-popen-safer2.c: New file.
41835         * modules/popen-tests (Files): Add test-popen.h.
41836         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
41837         Suggested by Bruno Haible.
41838
41839         test-fcntl-safer: split from test-open
41840         * tests/test-open.c (main): Move...
41841         * tests/test-open.h: ...into new file.
41842         * tests/test-fcntl-safer.c: New file.
41843         * modules/open-tests (Files): Add test-open.h.
41844         * modules/fcntl-safer-tests: New file.
41845         Suggested by Bruno Haible.
41846
41847         test-fopen-safer: split from test-fopen
41848         * tests/test-fopen.c (main): Move...
41849         * tests/test-fopen.h: ...into new file.
41850         * tests/test-fopen-safer.c: New file.
41851         * modules/fopen-tests (Files): Add test-fopen.h.
41852         * modules/fopen-safer-tests: New file.
41853         Suggested by Bruno Haible.
41854
41855 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
41856
41857         popen-safer: test O_CLOEXEC at run-time.
41858         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
41859
41860 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
41861
41862         fcntl: move more flags to the header
41863         * lib/cloexec.c: Do not define FD_CLOEXEC here.
41864         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
41865         * lib/fcntl.in.h: Do both things here.
41866
41867 2009-08-21  Jim Meyering  <meyering@redhat.com>
41868
41869         consistently remove $@-t before redirecting to it
41870         * modules/argz: Remove $@-t and $@ before redirecting to the former.
41871         * modules/alloca-opt: Likewise.
41872         * modules/byteswap: Likewise.
41873         * modules/fnmatch: Likewise.
41874         * modules/getopt-posix: Likewise.
41875         * modules/glob: Likewise.
41876         * modules/poll: Likewise.
41877         * modules/posix_spawnp-tests: Likewise.
41878         * modules/sys_socket: Likewise.
41879         * modules/sysexits: Likewise.
41880
41881 2009-08-21  Eric Blake  <ebb9@byu.net>
41882
41883         popen: simplify access to original popen
41884         * lib/popen.c (rpl_popen): No need to worry about popen being a
41885         macro.
41886         Reported by Bruno Haible.
41887
41888 2009-08-20  Eric Blake  <ebb9@byu.net>
41889
41890         build: avoid some compiler warnings
41891         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
41892         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
41893         type.
41894         (new_exclude_segment, excluded_file_pattern_p)
41895         (excluded_file_name_p): Reduce scope.
41896         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
41897         old-style declaration.
41898
41899 2009-08-20  Simon Josefsson  <simon@josefsson.org>
41900
41901         * tests/test-exclude1.sh: Handle Windows EOL.
41902         * tests/test-exclude2.sh: Likewise.
41903         * tests/test-exclude3.sh: Likewise.
41904         * tests/test-exclude4.sh: Likewise.
41905         * tests/test-exclude5.sh: Likewise.
41906         * tests/test-exclude6.sh: Likewise.
41907         * tests/test-exclude7.sh: Likewise.
41908
41909 2009-08-19  Akim Demaille  <demaille@gostai.com>
41910
41911         bootstrap: find sha1sum when named gsha1sum.
41912         * bootstrap (find_tool): New.
41913         ($SHA1SUM): New.
41914         Use it.
41915
41916 2009-08-20  Jim Meyering  <meyering@redhat.com>
41917
41918         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
41919         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
41920         expression that converts "." in a file name to "\." in the resulting
41921         regexp.  Start with a dummy statement, so that prior shell variable
41922         definitions are expanded portably.  Reported by Simon Josefsson.
41923
41924 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
41925
41926         Fix polling for writeability of a screen buffer.
41927         * lib/poll.c: Distinguish input and screen buffers for the
41928         Win32 implementation.
41929         * lib/select.c: Likewise.
41930
41931 2009-08-19  Eric Blake  <ebb9@byu.net>
41932
41933         popen-safer: prevent popen from clobbering std descriptors
41934         * modules/popen-safer: New file.
41935         * lib/popen-safer.c: Likewise.
41936         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
41937         * lib/stdio--.h (popen): Provide override.
41938         * lib/stdio-safer.h (popen_safer): Provide declaration.
41939         * tests/test-popen.c (includes): Partially test this.
41940         * modules/popen-safer-tests: New file, for more tests.
41941         * tests/test-popen-safer.c: Likewise.
41942         * MODULES.html.sh (file stream based Input/Output): Mention it.
41943
41944         tests: test some of the *-safer modules
41945         * modules/fopen-safer (Depends-on): Add fopen.
41946         * modules/fcntl-safer (Depends-on): Add fcntl.
41947         * modules/stdlib-safer (Depends-on): Add stdlib.
41948         (configure.ac): Set indicator.
41949         * modules/unistd-safer (configure.ac): Likewise.
41950         * modules/tmpfile-safer (configure.ac): Likewise.
41951         (Depends-on): Add tmpfile.
41952         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
41953         active.
41954         * tests/test-fopen.c (includes): Test safer versions when they are
41955         in use.
41956         * tests/test-open.c (includes): Likewise.
41957
41958         popen: fix cygwin 1.5 bug when stdin closed
41959         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
41960         * modules/popen: New file.
41961         * modules/popen-tests: Likewise.
41962         * tests/test-popen.c: Likewise.
41963         * m4/popen.m4: Likewise.
41964         * lib/popen.c: Likewise.
41965         * lib/stdio.in.h (popen): New declaration.
41966         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
41967         * modules/stdio (Makefile.am): Likewise.
41968         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
41969
41970 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
41971
41972         maint.mk: give full control over update-copyright exclusions
41973         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
41974         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
41975         (update-copyright): Don't force inclusion of top-level
41976         ChangeLog.  Don't force exclusion of all COPYING files, but make
41977         them the default exclusion instead.
41978
41979 2009-08-16  Bruno Haible  <bruno@clisp.org>
41980
41981         Fix test failures on Solaris 10.
41982         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
41983         tests when Solaris iconv() is used.
41984         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
41985         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
41986         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
41987         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
41988         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
41989
41990 2009-08-16  Bruno Haible  <bruno@clisp.org>
41991
41992         Fix test failures on Solaris 10.
41993         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
41994         'tr' program and pass it as first argument.
41995         * tests/test-pipe-filter-gi1.sh: Likewise.
41996         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
41997         program as first argument.
41998         * tests/test-pipe-filter-gi1.c (main): Likewise.
41999
42000 2009-08-16  Eric Blake  <ebb9@byu.net>
42001
42002         fpurge: fix previous commits
42003         * modules/fpurge (Makefile.am): Make replacement conditional,
42004         partially reverting 2007-04-29 change; missed in previous
42005         attempt.
42006         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
42007         is missing.
42008
42009 2009-08-16  Bruno Haible  <bruno@clisp.org>
42010
42011         Clarify fpurge's effect on the file position.
42012         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
42013         * tests/test-fpurge.c (main): Make a second pass for checking the file
42014         position.
42015
42016 2009-08-16  Bruno Haible  <bruno@clisp.org>
42017
42018         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
42019         declaration of fpurge is missing.
42020         * tests/test-fpurge.c (main): Check that the file has not more contents
42021         than expected. Close the file before removing it.
42022
42023 2009-08-15  Eric Blake  <ebb9@byu.net>
42024
42025         fpurge: don't wrap working cygwin implementation
42026         * lib/fpurge.c (fpurge): Fix comment typo.
42027         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
42028         1.7 to avoid replacement.
42029         * tests/test-fpurge.c (main): Enhance test.
42030
42031 2009-08-15  Eric Blake  <ebb9@byu.net>
42032         and Jim Meyering  <meyering@redhat.com>
42033
42034         test-update-copyright: skip if perl is insufficient
42035         * tests/test-update-copyright.sh: Failure to run maintainer tool
42036         should not cause testsuite failure on cygwin 1.5.
42037
42038 2009-08-14  Eric Blake  <ebb9@byu.net>
42039
42040         doc: mention more functions added in cygwin 1.7.0
42041         * doc/posix-headers/limits.texi (limits.h): Update for recent
42042         cygwin additions.
42043         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
42044         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
42045         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
42046         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
42047         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
42048
42049 2009-08-14  Eric Blake  <ebb9@byu.net>
42050
42051         maint.mk: simplify update-copyright rule
42052         * top/maint.mk (update-copyright-local): Delete, and document how
42053         to do it in cfg.mk instead.
42054         (update-copyright-exclude-regexp): Delete, and document how to do
42055         it in .x-update-copyright instead.
42056         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
42057         exclude ChangeLog.
42058
42059 2009-08-14  Bruno Haible  <bruno@clisp.org>
42060
42061         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
42062
42063 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
42064
42065         maint.mk: support update-copyright-env
42066         * top/maint.mk (update-copyright-env): Define place-holder.
42067         (update-copyright): Expand $(update-copyright-env) before
42068         invoking update-copyright.
42069
42070 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
42071
42072         update-copyright: implement forced reformatting
42073         * build-aux/update-copyright: Implement and document
42074         UPDATE_COPYRIGHT_FORCE.
42075         * tests/test-update-copyright.sh: Test it.
42076
42077 2009-08-14  Eric Blake  <ebb9@byu.net>
42078         and Bruno Haible  <bruno@clisp.org>
42079
42080         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
42081         * tests/test-locale.c: Revert previous patch related to NULL.
42082         * tests/test-stdio.c: Likewise.
42083         * tests/test-stdlib.c: Likewise.
42084         * tests/test-string.c: Likewise.
42085         * tests/test-unistd.c: Likewise.
42086         * modules/time-tests (Depends-on): Add verify.
42087         * modules/wchar-tests (Depends-on): Likewise.
42088         * tests/test-time.c: Test for NULL compliance.
42089         * tests/test-wchar.c: Likewise.
42090         * modules/locale (Depends-on): Add stddef.
42091         * modules/stdio (Depends-on): Likewise.
42092         * modules/stdlib (Depends-on): Likewise.
42093         * modules/string (Depends-on): Likewise.
42094         * modules/time (Depends-on): Likewise.
42095         * modules/unistd (Depends-on): Likewise.
42096         * modules/wchar (Depends-on): Likewise.
42097         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
42098         * lib/stdlib.in.h (includes): Likewise.
42099         * lib/string.in.h (includes): Likewise.
42100         * lib/time.in.h (includes): Likewise.
42101         * lib/unistd.in.h (includes): Likewise.
42102         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
42103         replaced.
42104         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
42105         * m4/stddef_h.m4: New file.
42106         * modules/stddef: Likewise.
42107         * lib/stddef.in.h: Likewise.
42108         * modules/stddef-tests: Likewise.
42109         * tests/test-stddef.c: Likewise.
42110         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
42111         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
42112         * doc/posix-headers/locale.texi (locale.h): Likewise.
42113         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
42114         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
42115         * doc/posix-headers/string.texi (string.h): Likewise.
42116         * doc/posix-headers/time.texi (time.h): Likewise.
42117         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
42118         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
42119
42120 2009-08-14  Eric Blake  <ebb9@byu.net>
42121
42122         doc: improve git diff of texinfo files
42123         * .gitattributes: Add rule for *.texi files, with hint on how to
42124         use it.
42125         Copied from m4, and based on a report by Bruno Haible.
42126
42127 2009-08-14  Bruno Haible  <bruno@clisp.org>
42128
42129         Disable multithread support by default on Cygwin 1.5.x for real.
42130         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
42131
42132 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
42133
42134         update-copyright: much ado about intervals
42135         * build-aux/update-copyright: Implement and document
42136         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
42137         of copyright year intervals.
42138         Also, document UPDATE_COPYRIGHT_YEAR.
42139         * tests/test-update-copyright.sh: Test it.
42140
42141         update-copyright: convert 2-digit to 4-digit years
42142         * build-aux/update-copyright: Implement and document.
42143         * tests/test-update-copyright.sh: Update.
42144
42145 2009-08-14  Jim Meyering  <meyering@redhat.com>
42146
42147         test-exclude: avoid coreutils "make check" failure
42148         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
42149         just as in test-argmatch.c.
42150
42151 2009-08-13  Eric Blake  <ebb9@byu.net>
42152
42153         test-dup2: fix bad assumption
42154         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
42155         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
42156
42157         test-version-etc: fix CRLF portability issue
42158         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
42159         recognize \r.
42160         * tests/test-argp-version-etc-1.sh: Likewise.
42161
42162         getopt: update client modules
42163         * modules/argp (Depends-on): Use getopt-gnu.
42164         * modules/git-merge-changelog (Depends-on): Likewise.
42165         * modules/long-options (Depends-on): Likewise.
42166         * modules/xstrtol (Depends-on): Likewise.
42167
42168 2009-08-13  Simon Josefsson  <simon@josefsson.org>
42169
42170         * tests/test-version-etc.sh: Don't fail on different
42171         project/version.  Don't fail on CRLF differences.  Rewrite to use
42172         multiple -e instead of multiple sed forks, suggested by Eric Blake
42173         <ebb9@byu.net>.
42174         * tests/test-argp-version-etc-1.sh: Likewise.
42175
42176 2009-08-13  Simon Josefsson  <simon@josefsson.org>
42177
42178         * tests/test-version-etc.sh: Don't fail on different
42179         project/version.
42180
42181 2009-08-12  Bruno Haible  <bruno@clisp.org>
42182
42183         Tests for modules 'getopt-posix', 'getopt-gnu'.
42184         * modules/getopt-posix-tests: New file.
42185         * tests/test-getopt.c: New file.
42186         * tests/test-getopt.h: New file.
42187         * tests/test-getopt_long.h: New file.
42188
42189         New modules 'getopt-posix', 'getopt-gnu'.
42190         * modules/getopt-gnu: New file, renamed from modules/getopt.
42191         * modules/getopt-posix: New file.
42192         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
42193         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
42194         (gl_GETOPT): Remove macro.
42195         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
42196         Disable the test against BSD systems that declare optreset. Test
42197         against mingw bug. Test against lack of support of optional arguments
42198         on many platforms.
42199         * doc/glibc-headers/getopt.texi: Update module name and list of
42200         relevant platforms.
42201         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
42202         'getopt-gnu' and more portability problems.
42203         * NEWS: Mention the changes.
42204
42205 2009-08-12  Bruno Haible  <bruno@clisp.org>
42206
42207         Ensure that optarg etc. get declared by <unistd.h>.
42208         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
42209         AC_USE_SYSTEM_EXTENSIONS.
42210         * modules/getopt (Depends-on): Add 'extensions'.
42211
42212 2009-08-12  Bruno Haible  <bruno@clisp.org>
42213
42214         Avoid test link errors.
42215         * modules/pipe-filter-ii-tests (Makefile.am): Define
42216         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
42217         * modules/pipe-filter-gi-tests (Makefile.am): Define
42218         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
42219         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
42220
42221 2009-08-12  Bruno Haible  <bruno@clisp.org>
42222
42223         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
42224         gl_GETOPT_SUBSTITUTE before.
42225         (gl_GETOPT): Use it.
42226         * m4/argp.m4 (gl_ARGP): Update.
42227         Reported by Sergey Poznyakoff.
42228
42229         * m4/getopt.m4: Reorder macros.
42230         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
42231         (gl_GETOPT_SUBSTITUTE): Remove macro.
42232
42233 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
42234
42235         Minor improvement in gitlog-to-changelog
42236
42237         * build-aux/gitlog-to-changelog: New option `--format' makes
42238         output format string configurable.
42239
42240 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
42241
42242         Optimize exclude: use hash tables for non-wildcard patterns.
42243
42244         * lib/exclude.c: Include hash.h and mbuiter.h
42245         (struct exclude_pattern, exclude_segment): New data types.
42246         (struct exclude): Rewrite.
42247         (fnmatch_pattern_has_wildcards): New function.
42248         (new_exclude_segment, free_exclude_segment): New functions.
42249         (excluded_file_pattern_p, excluded_file_name_p): New functions.
42250         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
42251         * lib/exclude.h (is_fnmatch_pattern): New prototype.
42252         * modules/exclude: Depend on hash and mbuiter.
42253
42254         * modules/exclude-tests: New file.
42255         * tests/test-exclude.c: New file.
42256         * tests/test-exclude1.sh: New file.
42257         * tests/test-exclude2.sh: New file.
42258         * tests/test-exclude3.sh: New file.
42259         * tests/test-exclude4.sh: New file.
42260         * tests/test-exclude5.sh: New file.
42261         * tests/test-exclude6.sh: New file.
42262         * tests/test-exclude7.sh: New file.
42263
42264 2009-08-12  Bruno Haible  <bruno@clisp.org>
42265
42266         Ensure that getopt() gets declared by <unistd.h>.
42267         * lib/unistd.in.h: Conditionally include getopt.h.
42268         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
42269         Set GNULIB_UNISTD_H_GETOPT.
42270         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
42271         GNULIB_UNISTD_H_GETOPT.
42272         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
42273
42274 2009-08-12  Bruno Haible  <bruno@clisp.org>
42275
42276         Clarify logic.
42277         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
42278         gl_replace_getopt instead of GETOPT_H.
42279
42280 2009-08-12  Bruno Haible  <bruno@clisp.org>
42281
42282         * m4/getopt.m4: Add comments.
42283
42284 2009-08-12  Bruno Haible  <bruno@clisp.org>
42285
42286         Disable multithread support by default on Cygwin 1.5.x.
42287         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
42288         set gl_use_threads=no if not specified otherwise.
42289
42290 2009-08-11  Bruno Haible  <bruno@clisp.org>
42291
42292         Avoid compilation error on NetBSD 5.0.
42293         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
42294         * tests/test-stdio.c: Likewise.
42295         * tests/test-stdlib.c: Likewise.
42296         * tests/test-string.c: Likewise.
42297         * tests/test-unistd.c: Likewise.
42298         Reported by Greg Troxel <gdt@ir.bbn.com>
42299         at <https://savannah.gnu.org/support/?106973>.
42300
42301 2009-08-11  Bruno Haible  <bruno@clisp.org>
42302
42303         * modules/dup2-tests (Depends-on): Remove close.
42304
42305         Undo 2009-07-19 commit.
42306         * modules/acl-tests (Depends-on): Remove close.
42307         * modules/binary-io-tests (Depends-on): Likewise.
42308         * modules/closein-tests (Depends-on): Likewise.
42309         * modules/flock-tests (Depends-on): Likewise.
42310         * modules/fsync-tests (Depends-on): Likewise.
42311         * modules/lseek-tests (Depends-on): Likewise.
42312         * modules/pipe-tests (Depends-on): Likewise.
42313         * modules/posix_spawn-tests (Depends-on): Likewise.
42314         * modules/posix_spawnp-tests (Depends-on): Likewise.
42315         * modules/stat-time-tests (Depends-on): Likewise.
42316         * modules/yesno-tests (Depends-on): Likewise.
42317
42318 2009-08-10  Bruno Haible  <bruno@clisp.org>
42319
42320         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
42321
42322 2009-08-10  Bruno Haible  <bruno@clisp.org>
42323
42324         Fix a gcc warning.
42325         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
42326
42327 2009-08-10  Bruno Haible  <bruno@clisp.org>
42328
42329         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
42330         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
42331         not only the first time.
42332         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
42333         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
42334         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
42335         is 1, not only the the first time.
42336
42337 2009-08-10  Bruno Haible  <bruno@clisp.org>
42338
42339         Make it possible to use module 'gethostname' without module 'close'.
42340         * lib/unistd.in.h (close): Evoke a link error only if
42341         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
42342         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
42343         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
42344         * modules/unistd (Makefile.am): Substitute
42345         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
42346         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
42347         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
42348         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
42349         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
42350         * modules/sys_ioctl (Makefile.am): Substitute
42351         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
42352         * modules/socket (configure.ac): On native Windows, set
42353         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
42354         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
42355         Reported by Sam Steingold <sds@gnu.org>.
42356
42357 2009-08-10  Bruno Haible  <bruno@clisp.org>
42358
42359         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
42360         * modules/ioctl (configure.ac): Likewise.
42361
42362 2009-08-10  Bruno Haible  <bruno@clisp.org>
42363
42364         Avoid collision between gnulib wrapper and libintl wrapper.
42365         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
42366         already defined in intl/printf.c.
42367         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
42368         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
42369
42370 2009-08-09  Bruno Haible  <bruno@clisp.org>
42371
42372         Make <sys/select.h> really self-contained, also on Solaris 10.
42373         * lib/sys_select.in.h: Include <string.h>.
42374         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
42375         Solaris 10 problem.
42376         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
42377         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
42378         Reported by Jim Meyering.
42379
42380 2009-08-09  Bruno Haible  <bruno@clisp.org>
42381
42382         Avoid warnings from 'aclocal' that are due to a use of macro name
42383         AM_XGETTEXT_OPTION that is not defined in automake.
42384         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
42385         automake.
42386         * modules/error (configure.ac): Likewise.
42387         * modules/propername (configure.ac): Likewise.
42388         * modules/vasprintf (configure.ac): Likewise.
42389         * modules/verror (configure.ac): Likewise.
42390         * modules/xprintf (configure.ac): Likewise.
42391         * modules/xvasprintf (configure.ac): Likewise.
42392
42393 2009-08-08  Bruno Haible  <bruno@clisp.org>
42394
42395         Avoid compilation error in C++ mode.
42396         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
42397         Reported by Sam Steingold <sds@gnu.org>.
42398
42399 2009-08-08  Bruno Haible  <bruno@clisp.org>
42400
42401         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
42402         for the various Unix platforms.
42403         * doc/posix-headers/limits.texi: Update platforms list regarding
42404         HOST_NAME_MAX.
42405         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
42406
42407 2009-08-07  Jim Meyering  <meyering@redhat.com>
42408
42409         selinux-at: fix typo in a comment
42410         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
42411         Spotted by Paolo Bonzini.
42412
42413         selinux-at: remove redundant m4 code, add documentation
42414         * modules/selinux-at (configure.ac): Remove redundant code.
42415         LIB_SELINUX is already set via the dependent module, selinux-h.
42416         (Include): Add quotes around selinux-at.h.
42417         * lib/selinux-at.h: Add documentation.
42418         Reported by Bruno Haible in
42419         http://marc.info/?l=gnulib-bug&m=124958988300749
42420
42421 2009-08-07  Bruno Haible  <bruno@clisp.org>
42422
42423         Avoid link error on MacOS X 10.3 and 10.4.
42424         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
42425         on non-ELF systems.
42426         * lib/argp-pv.c (argp_program_version): Likewise.
42427         Reported by Simon Josefsson.
42428
42429 2009-08-07  Simon Josefsson  <simon@josefsson.org>
42430
42431         * tests/test-version-etc.sh: Use $EXEEXT.
42432
42433 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
42434
42435         update-copyright: update documentation to point to maint.mk
42436         * build-aux/update-copyright: Here.
42437
42438 2009-08-06  Jim Meyering  <meyering@redhat.com>
42439
42440         maint.mk: support update-copyright-local
42441         * top/maint.mk (update-copyright-local): Define place-holder.
42442         (update-copyright): Depend on $(update-copyright-local).
42443
42444 2009-08-06  Jim Meyering  <meyering@redhat.com>
42445
42446         selinux-at: new module
42447         Initially written for coreutils, this module will soon be
42448         used by findutils, too.
42449         * MODULES.html.sh [Misc]: Add selinux-at.
42450         * lib/selinux-at.h: New file, from coreutils.
42451         * lib/selinux-at.c: Likewise.
42452         * modules/selinux-at: Likewise.
42453         (License): Change from LGPL to GPL, since it depends
42454         on the GPL'd openat module.
42455
42456         doc: update README
42457         * README: Remove references to cogito.
42458         Remove cvs-repo-updating instructions from 2007.
42459         Don't imply that CVS is better if you have limited disk space.
42460
42461 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
42462
42463         update-copyright: support C-style comments
42464         * build-aux/update-copyright: Implement and document.
42465         * tests/test-update-copyright.sh: Test.
42466
42467 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
42468
42469         update-copyright: support omitted "(C)"
42470         * build-aux/update-copyright: Implement and document.  Also,
42471         allow variable whitespace before "(C)".
42472         * tests/test-update-copyright.sh: Test.
42473
42474 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
42475
42476         update-copyright: don't trip on non-FSF copyright statements
42477         * build-aux/update-copyright: Fix so that the first correctly
42478         formatted FSF copyright statement is recognized no matter what
42479         appears before it.  Update documentation.
42480         * tests/test-update-copyright.sh: Test that.
42481
42482 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
42483
42484         update-copyright: clean up code a little
42485         * build-aux/update-copyright: Append "_re" to the name of any
42486         variable holding a regular expression.
42487         Replace "old" and "new" with "stmt" in variable names.
42488         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
42489         handled correctly.
42490         Format code more consistently.
42491
42492 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
42493
42494         update-copyright-tests: improve portability
42495         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
42496         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
42497
42498 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
42499
42500         update-copyright: support @copyright{} and &copy;
42501         * build-aux/update-copyright: Implement and document.
42502         * tests/test-update-copyright.sh: Test.
42503
42504 2009-08-04  Jim Meyering  <meyering@redhat.com>
42505
42506         update-copyright-tests: correctly test EOL=\r\n handling
42507         * tests/test-update-copyright.sh: Put \r at the end of some lines
42508         for the dos-eol tests.  Based on a patch by Joel E. Denny.
42509
42510         maint.mk: make update-copyright exclusion list more configurable
42511         * top/maint.mk (update-copyright): Default to excluding COPYING,
42512         but allow an override, in case someone does want to update that file.
42513
42514         maint.mk: don't update copyright date in COPYING
42515         * top/maint.mk (update-copyright): Exclude COPYING.
42516
42517         maint.mk: add a copyright-updating rule
42518         * top/maint.mk (update-copyright): New rule.
42519         Derived from coreutils/Makefile.am.
42520
42521         update-copyright: rename some variables
42522         * build-aux/update-copyright: Rename a few variables for clarity.
42523         Tweak syntax.  List Joel E. Denny as coauthor.
42524
42525 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
42526
42527         update-copyright: fix bug for 2-digit last year and add tests
42528         * build-aux/update-copyright: Fix bug.
42529         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
42530         specified.
42531         * modules/update-copyright-tests: New
42532         * tests/test-update-copyright.sh: New.
42533
42534 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
42535
42536         update-copyright: handle leading tabs in line prefix
42537         * build-aux/update-copyright: Count leading tabs as 8 spaces
42538         when computing margin.  This helps with the formatting of
42539         ChangeLogs, for example.
42540         Fix documentation a little.
42541
42542 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
42543
42544         update-copyright: support EOL=\r\n
42545         * build-aux/update-copyright: Implement that.
42546
42547 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
42548
42549         update-copyright: automatically format copyright statements
42550         * build-aux/update-copyright: Implement that.
42551         Also, be a little more predictable and safer by always failing
42552         when the full copyright format is not perfectly recognized as an
42553         unbroken whole.  Discussed at
42554         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
42555         Rewrite documentation.
42556
42557 2009-08-03  Bruno Haible  <bruno@clisp.org>
42558
42559         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
42560
42561 2009-08-02  Bruno Haible  <bruno@clisp.org>
42562
42563         Tests for module 'uname'.
42564         * modules/uname-tests: New file.
42565         * tests/test-uname.c: New file.
42566
42567         New module 'uname'.
42568         * lib/uname.c: New file.
42569         * m4/uname.m4: New file.
42570         * modules/uname: New file.
42571         * doc/posix-functions/uname.texi: Mention the new module.
42572
42573 2009-08-02  Bruno Haible  <bruno@clisp.org>
42574
42575         Tests for module 'sys_utsname'.
42576         * modules/sys_utsname-tests: New file.
42577         * tests/test-sys_utsname.c: New file.
42578
42579         New module 'sys_utsname'.
42580         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
42581         * m4/sys_utsname_h.m4: New file.
42582         * modules/sys_utsname: New file.
42583         * doc/posix-headers/sys_utsname.texi: Mention the new module.
42584
42585 2009-08-02  Bruno Haible  <bruno@clisp.org>
42586
42587         Implicitly initialize the sockets library.
42588         * lib/gethostname.c: Include sockets.h.
42589         (rpl_gethostname): Invoke gl_sockets_startup.
42590         * lib/socket.c: Include sockets.h.
42591         (rpl_socket): Invoke gl_sockets_startup.
42592         * modules/gethostname (Depends-on): Add sockets.
42593         * modules/socket (Depends-on): Likewise.
42594         * tests/test-poll.c: Don't include sockets.h.
42595         (main): Don't invoke gl_sockets_startup.
42596         * tests/test-select.c: Don't include sockets.h.
42597         (main): Don't invoke gl_sockets_startup.
42598
42599 2009-08-02  Bruno Haible  <bruno@clisp.org>
42600
42601         Allow multiple calls to gl_sockets_startup.
42602         * lib/sockets.c (initialized_sockets_version): New variable.
42603         (gl_sockets_startup): Do nothing if already called for this or a higher
42604         version.
42605         (gl_sockets_cleanup): Reset initialized_sockets_version.
42606
42607 2009-08-03  Simon Josefsson  <simon@josefsson.org>
42608
42609         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
42610         different project/version.
42611
42612 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
42613             Bruno Haible  <bruno@clisp.org>
42614
42615         Tests for module 'pipe-filter-gi'.
42616         * modules/pipe-filter-gi-tests: New file.
42617         * tests/test-pipe-filter-gi1.sh: New file.
42618         * tests/test-pipe-filter-gi1.c: New file.
42619         * tests/test-pipe-filter-gi2.sh: New file.
42620         * tests/test-pipe-filter-gi2-main.c: New file.
42621         * tests/test-pipe-filter-gi2-child.c: New file.
42622
42623         New module 'pipe-filter-gi'.
42624         * lib/pipe-filter-gi.c: New file.
42625         * modules/pipe-filter-gi: New file.
42626
42627 2009-08-02  Bruno Haible  <bruno@clisp.org>
42628             Paolo Bonzini  <bonzini@gnu.org>
42629
42630         Tests for module 'pipe-filter-ii'.
42631         * modules/pipe-filter-ii-tests: New file.
42632         * tests/test-pipe-filter-ii1.sh: New file.
42633         * tests/test-pipe-filter-ii1.c: New file.
42634         * tests/test-pipe-filter-ii2.sh: New file.
42635         * tests/test-pipe-filter-ii2-main.c: New file.
42636         * tests/test-pipe-filter-ii2-child.c: New file.
42637
42638         New module 'pipe-filter-ii'.
42639         * lib/pipe-filter.h: New file.
42640         * lib/pipe-filter-ii.c: New file.
42641         * lib/pipe-filter-aux.h: New file.
42642         * modules/pipe-filter-ii: New file.
42643
42644 2009-08-02  Simon Josefsson  <simon@josefsson.org>
42645
42646         * lib/gc-libgcrypt.c: Change copyright to FSF.
42647         * lib/gc-gnulib.c: Likewise.
42648
42649 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
42650
42651         * lib/gethostname.c: Include limits.h.
42652
42653 2009-08-02  Simon Josefsson  <simon@josefsson.org>
42654             Bruno Haible  <bruno@clisp.org>
42655
42656         Ensure HOST_NAME_MAX as part of the gethostname module.
42657         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
42658         define also HOST_NAME_MAX.
42659         * tests/test-gethostname.c: Include <limits.h>.
42660         (main): Check also HOST_NAME_MAX.
42661         * doc/posix-headers/limits.texi: Document the mingw problem.
42662
42663 2009-08-02  Bruno Haible  <bruno@clisp.org>
42664
42665         * lib/gethostname.c (gethostname): Fix handling of large len argument.
42666         Add comments.
42667
42668 2009-03-31  Simon Josefsson  <simon@josefsson.org>
42669
42670         * lib/gethostname.c: Add Windows wrapper.
42671         * m4/gethostname.m4: Look for gethostname in -lws2_32.
42672         * modules/gethostname: Depend on sys_socket & errno, for also
42673         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
42674         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
42675
42676 2009-07-31  Jim Meyering  <meyering@redhat.com>
42677
42678         getloadavg: fix symbol name in comment
42679         * lib/getloadavg.c: Correct a typo I introduced when adding
42680         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
42681         Matt Kraai spotted the problem.
42682
42683 2009-07-29  Matt Kraai  <mkraai@beckman.com>
42684
42685         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
42686         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
42687         code also if ! defined N_NAME_POINTER.
42688         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
42689         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
42690         but the n_name member is a 12-byte array.
42691
42692 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
42693
42694         update-copyright: generalize comment handling
42695         * build-aux/update-copyright: Handle copyright statements
42696         within more comment styles.
42697         Document usage.
42698         Report any file with an external copyright holder or parse failure.
42699
42700 2009-07-29  Jim Meyering  <meyering@redhat.com>
42701
42702         mktime: correct setting of REPLACE_MKTIME
42703         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
42704
42705         update-copyright: new module
42706         * modules/update-copyright: New file.
42707         * build-aux/update-copyright: New file.
42708         * MODULES.html.sh (maint+release support): Add update-copyright.
42709
42710 2009-07-27  Bruno Haible  <bruno@clisp.org>
42711
42712         Fix compilation error when <ctime> is used and mktime is replaced.
42713         * lib/time.in.h (mktime): New declaration.
42714         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
42715         REPLACE_MKTIME instead of defining mktime in config.h.
42716         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
42717         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
42718         Reported by Ross McFarland <rwmcfa1@neces.com>.
42719
42720 2009-07-27  Bruno Haible  <bruno@clisp.org>
42721
42722         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
42723         Reported by Matt Kraai <mkraai@beckman.com>.
42724
42725 2009-07-25  Jim Meyering  <meyering@redhat.com>
42726
42727         maint.mk: avoid warnings about missing files
42728         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
42729         diagnostic when .prev-version does not exist.
42730         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
42731         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
42732         nonexistent cfg.mk.
42733         Suggestions from Simon Josefsson.
42734
42735 2009-07-25  Bruno Haible  <bruno@clisp.org>
42736
42737         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
42738         defined as macros. Needed on QNX 6.4.1.
42739         Reported by Matt Kraai <mkraai@beckman.com>.
42740
42741 2009-07-23  Jim Meyering  <meyering@redhat.com>
42742
42743         maint.mk: invoke "make dist" with a working value of XZ_OPT
42744         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
42745
42746 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
42747
42748         Make fseeko.c compile on QNX.
42749         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
42750
42751 2009-07-22  Peter Simons  <simons@cryp.to>
42752
42753         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
42754         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
42755         * lib/md4.h: Likewise.
42756         * lib/md5.h: Likewise.
42757         * lib/sha1.h: Likewise.
42758         * lib/sha256.h: Likewise.
42759         * lib/sha512.h: Likewise.
42760
42761         tests-sha1: don't assign literal string to 'char *' variable
42762         * tests/test-sha1.c (main): Declare locals with "const" to match
42763         attributes of the right hand side.
42764
42765 2009-07-21  Eric Blake  <ebb9@byu.net>
42766
42767         dup2: fix more mingw problems
42768         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
42769         fd to itself.
42770         * doc/posix-functions/dup2.texi (dup2): Document the bug.
42771         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
42772         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
42773         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
42774         care of mingw bugs.
42775
42776 2009-07-21  Jim Meyering  <meyering@redhat.com>
42777
42778         vc-list-files: avoid failure when /bin/sh is dash
42779         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
42780         On some Debian based systems, /bin/sh is a symlink to dash, and running
42781         this command would omit the "/" following each 'tests' prefix:
42782           dash -x build-aux/vc-list-files -C . tests
42783         That is because bash and dash work differently:
42784           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
42785           bash ok
42786           dash odd
42787
42788 2009-07-21  Eric Blake  <ebb9@byu.net>
42789
42790         dup2-tests: test previous patch
42791         * modules/dup2-tests: New file.
42792         * tests/test-dup2.c: Likewise.
42793         * tests/test-open.c (main): Avoid unspecified behavior.
42794         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
42795         test.
42796
42797         dup2: work around mingw and cygwin 1.5 bug
42798         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
42799         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
42800         * modules/unistd (Makefile.am): Substitute it.
42801         * lib/unistd.in.h (dup2): Declare the replacement.
42802         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
42803         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
42804         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
42805         * modules/execute (Depends-on): Add dup2.
42806         * modules/fseterr (Depends-on): Likewise.
42807         * modules/pipe (Depends-on): Likewise.
42808         * modules/posix_spawn-internal (Depends-on): Likewise.
42809
42810 2009-07-21  Bruno Haible  <bruno@clisp.org>
42811
42812         * modules/.gitattributes: New file.
42813
42814 2009-07-20  Bruno Haible  <bruno@clisp.org>
42815
42816         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
42817         (main): Use it.
42818
42819 2009-07-20  Eric Blake  <ebb9@byu.net>
42820
42821         test-pipe: make a bit more robust.
42822         * tests/test-pipe.c (myerr): Allow error messages regardless of
42823         what we do to stderr.
42824         (test_pipe): Rearrange to avoid deadlock.
42825         (child_main): Try a larger read, to ensure we avoided deadlock.
42826         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
42827         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
42828         if misused.
42829
42830 2009-07-19  Jim Meyering  <meyering@redhat.com>
42831
42832         fts: avoid false-positive cycle-detection
42833         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
42834         for each new command line argument.
42835
42836 2009-07-19  Bruno Haible  <bruno@clisp.org>
42837
42838         Fix build error on mingw with the modules sys_select and unistd.
42839         * modules/acl-tests (Depends-on): Add close.
42840         * modules/binary-io-tests (Depends-on): Likewise.
42841         * modules/closein-tests (Depends-on): Likewise.
42842         * modules/flock-tests (Depends-on): Likewise.
42843         * modules/fsync-tests (Depends-on): Likewise.
42844         * modules/lseek-tests (Depends-on): Likewise.
42845         * modules/pipe-tests (Depends-on): Likewise.
42846         * modules/posix_spawn-tests (Depends-on): Likewise.
42847         * modules/posix_spawnp-tests (Depends-on): Likewise.
42848         * modules/stat-time-tests (Depends-on): Likewise.
42849         * modules/yesno-tests (Depends-on): Likewise.
42850
42851 2009-07-19  Bruno Haible  <bruno@clisp.org>
42852
42853         Unify conditionals.
42854         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
42855         macros, not at the compiler macros.
42856         * lib/pipe.c: Likewise.
42857         * lib/execute.c: Likewise.
42858         * lib/spawni.c: Likewise.
42859
42860 2009-07-19  Bruno Haible  <bruno@clisp.org>
42861
42862         Fix handling of closed stdin/stdout/stderr on mingw.
42863         * lib/w32spawn.h: Include unistd.h.
42864         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
42865         file descriptor with O_NOINHERIT flag.
42866         (fd_safer_noinherit): New function, based on fd-safer.c.
42867         (dup_safer_noinherit): New function, based on dup-safer.c.
42868         (undup_safer_noinherit): New function.
42869         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
42870         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
42871         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
42872         instead of fd_safer.
42873         * tests/test-pipe.c: Include <windows.h>.
42874         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
42875         result.
42876
42877         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
42878         from main.
42879         (test_pipe): Pass an extra argument for disambiguation.
42880         (main): Invoke parent_main or child_main.
42881
42882         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
42883         consistently.
42884
42885 2009-07-18  Eric Blake  <ebb9@byu.net>
42886
42887         test-pipe: fix mingw build
42888         * tests/test-pipe.c (main): Avoid fcntl on mingw.
42889
42890 2009-07-18  Bruno Haible  <bruno@clisp.org>
42891
42892         * modules/pipe-tests (Makefile.am): Fix typo.
42893
42894 2009-07-18  Eric Blake  <ebb9@byu.net>
42895
42896         error: fix mingw build
42897         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
42898         Reported by Bruno Haible.
42899
42900         error: avoid undefined use of stdout
42901         * lib/error.c (error, error_at_line): Check that fd 1 is open
42902         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
42903         is handling faults and the close_stdout module wants to report the
42904         detection of closed stdout as an error.
42905
42906 2009-07-17  Eric Blake  <ebb9@byu.net>
42907
42908         pipe: be robust in face of closed fds
42909         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
42910         should cause child to misbehave.
42911         * modules/pipe-tests: New module.
42912         * tests/test-pipe.c: New file.
42913         * tests/test-pipe.sh: New file.
42914         Reported by Akim Demaille.
42915
42916 2009-07-14  Bruno Haible  <bruno@clisp.org>
42917
42918         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
42919         Reported by anonymous kc.
42920
42921 2009-07-07  Jim Meyering  <meyering@redhat.com>
42922
42923         maint.mk: don't look for translatable strings in *.m4 or *.mk
42924         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
42925         when searching for translatable strings.
42926
42927 2009-07-05  Jim Meyering  <meyering@redhat.com>
42928
42929         remove superfluous parentheses in STREQ definition
42930         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
42931         * lib/getugroups.c (STREQ): Likewise.
42932         * lib/fnmatch.c (STREQ): Likewise.
42933         Spotted by Bruno Haible.
42934
42935 2009-07-04  Jim Meyering  <meyering@redhat.com>
42936
42937         argv-iter: new module
42938         * MODULES.html.sh: Add argv-iter.
42939         * lib/argv-iter.c, lib/argv-iter.h: New files.
42940         * modules/argv-iter: New file.
42941         * modules/argv-iter-tests: New file.
42942         * tests/test-argv-iter.c: Test it.
42943
42944 2009-07-04  Bruno Haible  <bruno@clisp.org>
42945
42946         Fix assertion.
42947         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
42948         contains more exact copies of a given entry than file2, leave the extra
42949         copies unpaired rather than aborting.
42950         Reported by Eric Blake.
42951
42952 2009-07-02  Bruno Haible  <bruno@clisp.org>
42953
42954         Speedup git-merge-changelog for git cherry-pick.
42955         * lib/git-merge-changelog.c (struct entries_mapping): New type.
42956         (entries_mapping_get): New function, extracted from compute_mapping.
42957         (entries_mapping_reverse_get): New function.
42958         (compute_mapping): Add a 'full' argument. Return the result in a
42959         'struct entries_mapping'.
42960         (main): Update. Access the mappings through entries_mapping_get.
42961         Reported by Eric Blake.
42962
42963 2009-07-02  Bruno Haible  <bruno@clisp.org>
42964
42965         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
42966         best_i.
42967
42968 2009-07-02  Bruno Haible  <bruno@clisp.org>
42969
42970         Speed up approximate search for matching ChangeLog entries.
42971         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
42972         argument. Call fstrcmp_bounded instead of fstrcmp.
42973         (compute_mapping, try_split_merged_entry, main): Update callers.
42974
42975 2009-07-02  Bruno Haible  <bruno@clisp.org>
42976
42977         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
42978
42979 2009-06-30  Bruno Haible  <bruno@clisp.org>
42980
42981         Reduce the number of uc_is_cased calls.
42982         * lib/unicase.h (casing_suffix_context_t): Add
42983         'first_char_except_ignorable' field.
42984         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
42985         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
42986         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
42987         Update initializer.
42988         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
42989         case-ignorable characters.
42990         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
42991         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
42992         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
42993         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
42994         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
42995
42996 2009-06-30  Bruno Haible  <bruno@clisp.org>
42997
42998         Tests for module 'unicase/ignorable'.
42999         * modules/unicase/ignorable-tests: New file.
43000         * tests/unicase/test-ignorable.c: New file, generated by
43001         gen-uni-tables.
43002
43003         Tests for module 'unicase/cased'.
43004         * modules/unicase/cased-tests: New file.
43005         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
43006         * tests/unicase/test-predicate-part1.h: New file, derived from
43007         tests/unictype/test-predicate-part1.h.
43008         * tests/unicase/test-predicate-part2.h: New file, same as
43009         tests/unictype/test-predicate-part2.h.
43010
43011         Fix evaluation of "Before C" condition of FINAL_SIGMA.
43012         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
43013         (output_casing_properties): New function.
43014         (main): Call it.
43015         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
43016         * lib/unicase/cased.c: Include unictype/bitmap.h.
43017         (uc_is_cased): Define through a bitmap lookup.
43018         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
43019         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
43020         (uc_is_case_ignorable): Define through a bitmap lookup.
43021         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
43022         lib/unictype/bitmap.h.
43023         (Depends-on): Add inline. Clean up.
43024         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
43025         lib/unictype/bitmap.h.
43026         (Depends-on): Add inline. Clean up.
43027         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
43028         recognition.
43029         * tests/unicase/test-u16-tolower.c (main): Likewise.
43030         * tests/unicase/test-u32-tolower.c (main): Likewise.
43031
43032 2009-06-30  Bruno Haible  <bruno@clisp.org>
43033
43034         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
43035         * lib/unicase/u16-casemap.c: Likewise.
43036         * lib/unicase/u32-casemap.c: Likewise.
43037
43038 2009-06-29  Bruno Haible  <bruno@clisp.org>
43039
43040         Define u32_casefold as a wrapper around u32_ct_casefold.
43041         * lib/unicase/u32-casefold.c: Update.
43042         * modules/unicase/u32-casefold (Depends-on): Add
43043         unicase/u32-ct-casefold, unicase/empty-prefix-context,
43044         unicase/empty-suffix-context. Clean up.
43045
43046         Define u16_casefold as a wrapper around u16_ct_casefold.
43047         * lib/unicase/u16-casefold.c: Update.
43048         * modules/unicase/u16-casefold (Depends-on): Add
43049         unicase/u16-ct-casefold, unicase/empty-prefix-context,
43050         unicase/empty-suffix-context. Clean up.
43051
43052         Define u8_casefold as a wrapper around u8_ct_casefold.
43053         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
43054         * lib/unicase/u8-casefold.c: Update.
43055         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
43056         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
43057
43058         Define u32_totitle as a wrapper around u32_ct_totitle.
43059         * lib/unicase/u32-totitle.c: Update.
43060         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
43061         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
43062
43063         Define u16_totitle as a wrapper around u16_ct_totitle.
43064         * lib/unicase/u16-totitle.c: Update.
43065         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
43066         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
43067
43068         Define u8_totitle as a wrapper around u8_ct_totitle.
43069         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
43070         functions.
43071         (FUNC): Delegate to U_CT_TOTITLE.
43072         * lib/unicase/u8-totitle.c: Update.
43073         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
43074         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
43075
43076         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
43077         invocation.
43078         * modules/unicase/u32-tolower (Depends-on): Add
43079         unicase/empty-prefix-context, unicase/empty-suffix-context.
43080
43081         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
43082         invocation.
43083         * modules/unicase/u16-tolower (Depends-on): Add
43084         unicase/empty-prefix-context, unicase/empty-suffix-context.
43085
43086         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
43087         * modules/unicase/u8-tolower (Depends-on): Add
43088         unicase/empty-prefix-context, unicase/empty-suffix-context.
43089
43090         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
43091         invocation.
43092         * modules/unicase/u32-toupper (Depends-on): Add
43093         unicase/empty-prefix-context, unicase/empty-suffix-context.
43094
43095         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
43096         invocation.
43097         * modules/unicase/u16-toupper (Depends-on): Add
43098         unicase/empty-prefix-context, unicase/empty-suffix-context.
43099
43100         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
43101         * modules/unicase/u8-toupper (Depends-on): Add
43102         unicase/empty-prefix-context, unicase/empty-suffix-context.
43103
43104         New module 'unicase/u32-ct-casefold'.
43105         * lib/unicase/u32-ct-casefold.c: New file.
43106         * modules/unicase/u32-ct-casefold: New file.
43107
43108         New module 'unicase/u16-ct-casefold'.
43109         * lib/unicase/u16-ct-casefold.c: New file.
43110         * modules/unicase/u16-ct-casefold: New file.
43111
43112         New module 'unicase/u8-ct-casefold'.
43113         * lib/unicase/u8-ct-casefold.c: New file.
43114         * lib/unicase/u-ct-casefold.h: New file, derived from
43115         lib/unicase/u-casefold.h.
43116         * modules/unicase/u8-ct-casefold: New file.
43117
43118         New module 'unicase/u32-ct-totitle'.
43119         * lib/unicase/u32-ct-totitle.c: New file.
43120         * modules/unicase/u32-ct-totitle: New file.
43121
43122         New module 'unicase/u16-ct-totitle'.
43123         * lib/unicase/u16-ct-totitle.c: New file.
43124         * modules/unicase/u16-ct-totitle: New file.
43125
43126         New module 'unicase/u8-ct-totitle'.
43127         * lib/unicase/u8-ct-totitle.c: New file.
43128         * lib/unicase/u-ct-totitle.h: New file, derived from
43129         lib/unicase/u-totitle.h.
43130         * modules/unicase/u8-ct-totitle: New file.
43131
43132         New module 'unicase/u32-ct-tolower'.
43133         * lib/unicase/u32-ct-tolower.c: New file.
43134         * modules/unicase/u32-ct-tolower: New file.
43135
43136         New module 'unicase/u16-ct-tolower'.
43137         * lib/unicase/u16-ct-tolower.c: New file.
43138         * modules/unicase/u16-ct-tolower: New file.
43139
43140         New module 'unicase/u8-ct-tolower'.
43141         * lib/unicase/u8-ct-tolower.c: New file.
43142         * modules/unicase/u8-ct-tolower: New file.
43143
43144         New module 'unicase/u32-ct-toupper'.
43145         * lib/unicase/u32-ct-toupper.c: New file.
43146         * modules/unicase/u32-ct-toupper: New file.
43147
43148         New module 'unicase/u16-ct-toupper'.
43149         * lib/unicase/u16-ct-toupper.c: New file.
43150         * modules/unicase/u16-ct-toupper: New file.
43151
43152         New module 'unicase/u8-ct-toupper'.
43153         * lib/unicase/u8-ct-toupper.c: New file.
43154         * modules/unicase/u8-ct-toupper: New file.
43155
43156         Add context arguments to u*_casemap functions.
43157         * lib/unicase/unicasemap.h: Include unicase.h.
43158         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
43159         suffix_context arguments.
43160         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
43161         functions.
43162         (FUNC): Add prefix_context and suffix_context arguments. Use
43163         uc_is_cased and uc_is_case_ignorable.
43164         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
43165         * lib/unicase/u16-casemap.c: Likewise.
43166         * lib/unicase/u32-casemap.c: Likewise.
43167         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
43168         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
43169         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
43170         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
43171         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
43172         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
43173
43174         New module 'unicase/u32-suffix-context'.
43175         * lib/unicase/u32-suffix-context.c: New file.
43176         * modules/unicase/u32-suffix-context: New file.
43177
43178         New module 'unicase/u16-suffix-context'.
43179         * lib/unicase/u16-suffix-context.c: New file.
43180         * modules/unicase/u16-suffix-context: New file.
43181
43182         New module 'unicase/u8-suffix-context'.
43183         * lib/unicase/u8-suffix-context.c: New file.
43184         * lib/unicase/u-suffix-context.h: New file.
43185         * modules/unicase/u8-suffix-context: New file.
43186
43187         New module 'unicase/empty-suffix-context'.
43188         * lib/unicase/empty-suffix-context.c: New file.
43189         * modules/unicase/empty-suffix-context: New file.
43190
43191         New module 'unicase/u32-prefix-context'.
43192         * lib/unicase/u32-prefix-context.c: New file.
43193         * modules/unicase/u32-prefix-context: New file.
43194
43195         New module 'unicase/u16-prefix-context'.
43196         * lib/unicase/u16-prefix-context.c: New file.
43197         * modules/unicase/u16-prefix-context: New file.
43198
43199         New module 'unicase/u8-prefix-context'.
43200         * lib/unicase/u8-prefix-context.c: New file.
43201         * lib/unicase/u-prefix-context.h: New file.
43202         * lib/unicase/context.h: New file.
43203         * modules/unicase/u8-prefix-context: New file.
43204
43205         New module 'unicase/empty-prefix-context'.
43206         * lib/unicase/empty-prefix-context.c: New file.
43207         * modules/unicase/empty-prefix-context: New file.
43208
43209         New module 'unicase/ignorable'.
43210         * lib/unicase/ignorable.c: New file.
43211         * modules/unicase/ignorable: New file.
43212
43213         New module 'unicase/cased'.
43214         * lib/unicase/caseprop.h: New file.
43215         * lib/unicase/cased.c: New file.
43216         * modules/unicase/cased: New file.
43217
43218         New functions for case mapping of substrings.
43219         * lib/unicase.h (casing_prefix_context_t): New type.
43220         (unicase_empty_prefix_context): New variable.
43221         (u8_casing_prefix_context, u16_casing_prefix_context,
43222         u32_casing_prefix_context, u8_casing_prefixes_context,
43223         u16_casing_prefixes_context, u32_casing_prefixes_context): New
43224         declarations.
43225         (casing_suffix_context_t): New type.
43226         (unicase_empty_suffix_context): New variable.
43227         (u8_casing_suffix_context, u16_casing_suffix_context,
43228         u32_casing_suffix_context, u8_casing_suffixes_context,
43229         u16_casing_suffixes_context, u32_casing_suffixes_context,
43230         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
43231         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
43232         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
43233         declarations.
43234
43235 2009-06-28  Jim Meyering  <meyering@redhat.com>
43236
43237         boostrap: indent only with spaces
43238         * build-aux/bootstrap: Indent only with spaces, never TABs.
43239
43240         bootstrap: split long lines
43241         * build-aux/bootstrap: Keep line length < 80.
43242
43243         bootstrap: sync from coreutils
43244         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
43245         just as autoreconf does.  Verify a list of prerequisite
43246         package-name,version-number pairs if defined in bootstrap.conf.
43247         Refer to README-prereq, if prerequisites are not satisfied.
43248
43249 2009-06-27  Eric Blake  <ebb9@byu.net>
43250
43251         tests: add test for bogus NULL definition
43252         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
43253         * tests/test-stdlib.c: Likewise.
43254         * tests/test-string.c: Likewise.
43255         * tests/test-locale.c: Likewise.
43256         * tests/test-unistd.c: Likewise.
43257         * modules/stdio-tests (Depends-on): Add verify.
43258         * modules/stdlib-tests (Depends-on): Likewise.
43259         * modules/string-tests (Depends-on): Likewise.
43260         * modules/locale-tests (Depends-on): Likewise.
43261         * modules/unistd-tests (Depends-on): Likewise.
43262
43263 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
43264
43265         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
43266         self-explaining comment.
43267         * m4/selinux-selinux-h: Update serial.
43268         (gl_LIBSELINUX): New macro, adding a warning for missing development
43269         packages to code extracted from...
43270         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
43271         Add warning for missing development packages here, too.
43272
43273 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
43274
43275         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
43276
43277 2009-06-25  Eric Blake  <ebb9@byu.net>
43278
43279         version-etc: fix regression
43280         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
43281         gcc.
43282         (version_etc): Use it, to catch bugs with trailing NULL.
43283         * lib/version-etc.c (version_etc_arn): Delete unused argument.
43284         (version_etc_va): Fix logic bug.
43285         * modules/version-etc-tests: Add test.
43286         * tests/test-version-etc.c: New file.
43287         * tests/test-version-etc.sh: Likewise.
43288
43289 2009-06-25  Sam Steingold  <sds@gnu.org>
43290
43291         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
43292         mbtowc declaration.
43293
43294 2009-06-25  Eric Blake  <ebb9@byu.net>
43295
43296         fpurge: migrate into <stdio.h>
43297         * lib/fpurge.h: Delete...
43298         * lib/stdio.in.h (fpurge): ...and declare here, instead.
43299         * lib/fpurge.c (fpurge): Change declaring header.
43300         * modules/fpurge (Files): Drop deleted file.
43301         (Depends-on): Add stdio.
43302         (configure.ac): Set witness.
43303         * modules/stdio (Makefile.am): Support fpurge macros.
43304         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
43305         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
43306         * lib/fflush.c: Update client.
43307         * tests/test-fpurge.c: Likewise.
43308         * NEWS: Mention the change.
43309
43310 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
43311
43312         * lib/argp-version-etc.c (program_authors): Add const
43313         qualifier.
43314         * lib/version-etc.c: Fix typos in the comments.
43315         * modules/argp-version-etc: Depends on version-etc.
43316
43317 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
43318
43319         argp-version-etc: new module.
43320
43321         * lib/argp-version-etc.c: New file.
43322         * lib/argp-version-etc.h: New file.
43323         * modules/argp-version-etc: New file.
43324         * modules/argp-version-etc-tests: New file.
43325         * tests/test-argp-version-etc.c: New test.
43326         * tests/test-argp-version-etc-1.sh: New test.
43327
43328 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
43329
43330         Provide additional interfaces and documentation for version-etc
43331         module.
43332
43333         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
43334         interfaces.
43335         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
43336         prototypes.
43337
43338 2009-06-24  Bruno Haible  <bruno@clisp.org>
43339
43340         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
43341         HAVE_LIB${NAME} macro.
43342         Reported by Sam Steingold <sds@gnu.org>.
43343
43344 2009-06-23  Simon Josefsson  <simon@josefsson.org>
43345
43346         * modules/hash-tests (test_hash_LDADD): Link to libintl when
43347         needed.
43348
43349 2009-06-21  Bruno Haible  <bruno@clisp.org>
43350
43351         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
43352         work.
43353         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
43354         together with LIB${NAME}, LTLIB${NAME}.
43355         Reported by Sam Steingold <sds@gnu.org>.
43356
43357 2009-06-20  Jim Meyering  <meyering@redhat.com>
43358
43359         tests: make sc_require_test_exit_idiom more generic
43360         * top/maint.mk (Exit_witness_file): New overridable variable.
43361         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
43362         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
43363
43364 2009-06-19  Jim Meyering  <meyering@redhat.com>
43365
43366         hash: reverse order of src/dst parameters in an internal interface
43367         * lib/hash.c (transfer_entries): Reverse order of parameters to
43368         put DST before SRC.  Adjust callers.
43369
43370         tests: test-hash: avoid wholesale duplication
43371         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
43372         Instead, use a loop and add a single conditional.
43373
43374         tests: test-hash: allow seed selection via a command line argument
43375         * tests/test-hash.c (get_seed): New function.
43376         (main): Use it.
43377
43378 2009-06-19  Eric Blake  <ebb9@byu.net>
43379
43380         hash: avoid memory leak on allocation failure
43381         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
43382         failure.  Factor repeated algorithm...
43383         (transfer_entries): ...into new helper routine.
43384         (hash_delete): React to hash_rehash return value.
43385
43386         hash: reduce memory pressure in hash_rehash no-op case
43387         * lib/hash.c (next_prime): Avoid overflow.
43388         (hash_initialize): Factor bucket size computation...
43389         (compute_bucket_size): ...into new helper function.
43390         (hash_rehash): Use new function and open coding to reduce memory
43391         pressure, and avoid a memory leak in USE_OBSTACK code.
43392         Reported by Jim Meyering.
43393
43394 2009-06-18  Eric Blake  <ebb9@byu.net>
43395
43396         hash: make rotation more obvious
43397         * modules/hash (Depends-on): Add bitrotate and stdint.
43398         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
43399         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
43400         (SIZE_MAX): Rely on headers for definition.
43401         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
43402         (raw_hasher): Use rotr_sz.
43403         Suggested by Jim Meyering.
43404
43405         hash: fix memory leak in last patch
43406         * lib/hash.c (hash_rehash): Avoid memory leak.
43407
43408         hash: avoid no-op rehashing
43409         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
43410
43411         hash: provide default callback functions
43412         * lib/hash.c (raw_hasher, raw_comparator): New functions.
43413         (hash_initialize): Use them as defaults.
43414         * tests/test-hash.c (main): Test this.
43415
43416         hash: minor optimization
43417         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
43418         when possible.
43419         (hash_initialize): Document this promise.
43420         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
43421         * tests/test-hash.c (hash_compare_strings): Test this.
43422
43423 2009-06-18  Bruno Haible  <bruno@clisp.org>
43424
43425         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
43426         going to be replaced anyway.
43427
43428 2009-06-18  Bruno Haible  <bruno@clisp.org>
43429
43430         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
43431         in one place.
43432         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
43433         be replaced anyway.
43434
43435 2009-06-18  Eric Blake  <ebb9@byu.net>
43436
43437         hash: check for resize before insertion
43438         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
43439         threshold before insertion, so that a pathological hash_rehash
43440         that fills every bucket can still trigger another rehash.
43441
43442 2009-06-18  Jim Meyering  <meyering@redhat.com>
43443
43444         hash-tests: add a loop around the small tests
43445         * tests/test-hash.c (main): Repeat small tests with selected
43446         small initial table sizes.
43447
43448 2009-06-17  Eric Blake  <ebb9@byu.net>
43449
43450         hash: minor cleanups
43451         * lib/hash.h (hash_entry): Make opaque, by moving...
43452         * lib/hash.c (hash_entry): ...here.
43453         (hash_insert): Clarify restrictions on what can be inserted.
43454         (hash_get_next): Clarify when it is safe to remove an element
43455         during traversal.
43456         (check_tuning): Skip verification when tuning is known safe.
43457         (hash_initialize): Clarify restrictions on tuning.
43458
43459 2009-06-17  Jim Meyering  <jim@meyering.net>
43460         and Eric Blake  <ebb9@byu.net>
43461
43462         hash-tests: new module
43463         * modules/hash-tests: New file.
43464         * tests/test-hash.c: New file.
43465
43466 2009-06-17  Eric Blake  <ebb9@byu.net>
43467
43468         strstr-simple: document new module
43469         * MODULES.html.sh: Document new module.
43470
43471         strstr, strcasestr: replace on platforms with broken memchr
43472         * modules/strstr: Split into...
43473         * modules/strstr-simple: ...new module that does not care about
43474         performance, but does care about glibc bug.
43475         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
43476         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
43477         if platform memchr is broken, per Debian bug 521737.
43478         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
43479         memchr.
43480         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
43481         * doc/posix-functions/strstr.texi (strstr): Document the fix.
43482         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
43483         * modules/mountlist (Depends-on): Add strstr-simple.
43484         * modules/gen-uni-tables (Depends-on): Likewise.
43485         * modules/argz (Depends-on): Add strstr.
43486
43487 2009-06-17  Bruno Haible  <bruno@clisp.org>
43488
43489         * modules/posix_spawn-internal (Depends-on): Add errno.
43490
43491 2009-06-17  Bruno Haible  <bruno@clisp.org>
43492
43493         Define missing ESTALE on Interix 3.5.
43494         * lib/errno.in.h (ESTALE): Assign a value if missing.
43495         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
43496         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
43497         missing.
43498         * doc/posix-headers/errno.texi: Mention the Interix bug.
43499         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
43500
43501 2009-06-15  Eric Blake  <ebb9@byu.net>
43502
43503         memchr, memchr2: add valgrind exception
43504         * lib/memchr.valgrind: New file.
43505         * lib/memchr2.valgrind: New file.
43506         * modules/memchr (Files): Distribute valgrind file.
43507         * modules/memchr2 (Files): Likewise.
43508
43509         docs: memchr is no longer obsolete
43510         * MODULES.html.sh: Move memchr from obsolete to string.h section.
43511         * lib/string.in.h (memchr): Simplify logic.
43512
43513 2009-06-14  Jim Meyering  <meyering@redhat.com>
43514
43515         link-follow: fix the "checking..." message to not mention trailing slash
43516         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
43517         never considered trailing slashes.
43518
43519 2009-06-14  Bruno Haible  <bruno@clisp.org>
43520
43521         * m4/memchr.m4: Mention also the bug on IA-64.
43522         * doc/posix-functions/memchr.texi: Likewise.
43523
43524 2009-06-12  Eric Blake  <ebb9@byu.net>
43525
43526         memchr: detect broken x86_64 and alpha implementations
43527         * modules/memchr-tests (Depends-on): Move mmap detection...
43528         * modules/memchr (Depends-on): ...here.
43529         (configure.ac): Set indicator.
43530         * lib/string.in.h (memchr): Declare replacement.
43531         * modules/string (Makefile.am): Trigger replacement.
43532         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
43533         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
43534         bugs.
43535         * doc/posix-functions/memchr.texi (memchr): Document the bug.
43536         * modules/getpagesize (License): Relax license.
43537
43538 2009-06-11  Bruno Haible  <bruno@clisp.org>
43539
43540         * lib/idpriv.h: Add more references.
43541
43542 2009-06-08  Bruno Haible  <bruno@clisp.org>
43543
43544         Tests for module 'idpriv-droptemp'.
43545         * modules/idpriv-droptemp-tests: New file.
43546         * tests/test-idpriv-droptemp.sh: New file.
43547         * tests/test-idpriv-droptemp.su.sh: New file.
43548         * tests/test-idpriv-droptemp.c: New file.
43549
43550         New module 'idpriv-droptemp'.
43551         * lib/idpriv-droptemp.c: New file.
43552         * modules/idpriv-droptemp: New file.
43553
43554 2009-06-08  Bruno Haible  <bruno@clisp.org>
43555
43556         Tests for module 'idpriv-drop'.
43557         * modules/idpriv-drop-tests: New file.
43558         * tests/test-idpriv-drop.sh: New file.
43559         * tests/test-idpriv-drop.su.sh: New file.
43560         * tests/test-idpriv-drop.c: New file.
43561
43562         New module 'idpriv-drop'.
43563         * lib/idpriv.h: New file.
43564         * lib-idpriv-drop.c: New file.
43565         * m4/idpriv.m4: New file.
43566         * modules/idpriv-drop: New file.
43567
43568 2009-06-08  Bruno Haible  <bruno@clisp.org>
43569
43570         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
43571         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
43572         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
43573         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
43574         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
43575         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
43576         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
43577
43578 2009-06-08  Eric Blake  <ebb9@byu.net>
43579
43580         test-strstr: use memory fence, when possible
43581         * tests/test-strstr.c (main): Use memory fence, in order to be
43582         more likely to trigger Debian bug 521737.
43583         * modules/strstr-tests (Files): Pull in additional files.
43584
43585         memchr: no longer obsolete, for wider field testing
43586         * modules/memchr (Status, Notice): Delete, this module is no
43587         longer obsolete.
43588         * modules/vasnprintf (Depends-on): Add memchr.
43589
43590 2009-06-07  Jim Meyering  <meyering@redhat.com>
43591
43592         hash: declare some functions with the warn_unused_result attribute
43593         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
43594
43595 2009-06-07  Bruno Haible  <bruno@clisp.org>
43596
43597         * tests/test-alignof.c: Don't test int64_t if it does not exist.
43598         Reported by Eric Blake.
43599
43600 2009-06-06  Eric Blake  <ebb9@byu.net>
43601
43602         test-alignof: fix typo with long double
43603         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
43604         compiler error.
43605
43606 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
43607
43608         Escape non-texinfo { and }s.
43609         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
43610         markup error.
43611
43612 2009-06-04  Jim Meyering  <meyering@redhat.com>
43613
43614         gitlog-to-changelog: don't infloop on an empty commit log
43615         * build-aux/gitlog-to-changelog: Warn about an empty log message.
43616         Reported by Boris Petersen <transacid@centerim.org>.
43617
43618 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
43619
43620         version-etc: extend for packagers
43621         Add three new configure options, intended for packagers:
43622           --with-packager="packager name"
43623           --with-packager-version="packager-specific version"
43624           --with-packager-bug-reports="packager bug reporting"
43625         An example with coreutils:
43626           $ ./configure \
43627             --with-packager=Gentoo \
43628             --with-packager-bug-report=http://bugs.gentoo.org/ \
43629             --with-packager-version="patchset 1.6"
43630           $ ./src/ls --version | head -n2
43631           ls (GNU coreutils) 7.1-dirty
43632           Packaged by Gentoo (patchset 1.6)
43633         Note that the bug reporting info via --help doesn't show up because
43634         coreutils uses its own custom emit_bug_reporting_address() implementation
43635         in src/system.h.  If it didn't, it'd look like:
43636           $ ./src/ls --help | tail -n4
43637           Report bugs to <bug-coreutils@gnu.org>.
43638           Report Gentoo bugs to <http://bugs.gentoo.org/>.
43639           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
43640           General help using GNU software: <http://www.gnu.org/gethelp/>.
43641         * lib/version-etc.c: Print new information, if provided.
43642         * m4/version-etc.m4: New file.
43643         * modules/version-etc (Files): Add m4/version-etc.m4.
43644         (configure.ac): Add gl_VERSION_ETC.
43645
43646 2009-05-31  Bruno Haible  <bruno@clisp.org>
43647
43648         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
43649         and 'int64_t'.
43650         * modules/alignof-tests (Dependencies): Add stdint.
43651         Reported by Eric Blake.
43652
43653 2009-05-31  Bruno Haible  <bruno@clisp.org>
43654
43655         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
43656         restriction due to compiler bugs.
43657         Reported by Eric Blake.
43658
43659 2009-05-31  Simon Josefsson  <simon@josefsson.org>
43660             Bruno Haible  <bruno@clisp.org>
43661
43662         Fix test-alignof failure.
43663         * lib/alignof.h (alignof_slot): New macro.
43664         (alignof_type): New macro, with the same semantics as the previous
43665         'alignof'.
43666         (alignof): Alias to alignof_slot.
43667         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
43668         check that the results are usable as constant expressions.
43669
43670 2009-05-31  Bruno Haible  <bruno@clisp.org>
43671
43672         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
43673         * tests/test-memchr.c (main): Check that memchr does not read past the
43674         first occurrence of the byte.
43675         * tests/test-strstr.c (main): Update comment.
43676         Suggested by Eric Blake.
43677
43678 2009-05-30  Bruno Haible  <bruno@clisp.org>
43679
43680         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
43681         detail how to use dumpbin.
43682         Reported by David Byron <dbyron@dbyron.com>.
43683
43684 2009-06-02  Simon Josefsson  <simon@josefsson.org>
43685
43686         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
43687
43688 2009-06-02  Simon Josefsson  <simon@josefsson.org>
43689
43690         * m4/manywarnings.m4: Add GCC 4.4 warnings.
43691
43692 2009-05-28  Bruno Haible  <bruno@clisp.org>
43693
43694         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
43695         build-aux/ files.
43696
43697 2009-05-28  Simon Josefsson  <simon@josefsson.org>
43698
43699         * gnulib-tool (func_import): Transform license on build-aux/ files too.
43700
43701 2009-05-27  Simon Josefsson  <simon@josefsson.org>
43702
43703         * gnulib-tool (sed_transform_main_lib_file)
43704         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
43705         regexps.
43706
43707 2009-05-26  Simon Josefsson  <simon@josefsson.org>
43708
43709         * tests/test-strstr.c: Add another self-test.
43710         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
43711         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
43712
43713 2009-05-23  Bruno Haible  <bruno@clisp.org>
43714
43715         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
43716         change.
43717
43718 2009-05-21  Bruno Haible  <bruno@clisp.org>
43719
43720         Simplify use of mode_t varargs.
43721         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
43722         uses 'mode_t' or 'int'.
43723         * lib/openat.c (openat): Likewise.
43724         * lib/open-safer.c (open_safer): Likewise.
43725         * m4/mode_t.m4: New file.
43726         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
43727         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
43728         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
43729         * modules/open (Files): Add m4/mode_t.m4.
43730         * modules/openat (Files): Likewise.
43731         * modules/fcntl-safer (Files): Likewise.
43732         Suggested by Eric Blake.
43733
43734 2009-05-21  Pádraig Brady  <P@draigbrady.com>
43735
43736         * doc/glibc-functions/fallocate.texi: New file.
43737         * doc/gnulib.texi: Include it.
43738
43739 2009-05-21  Eric Blake  <ebb9@byu.net>
43740             Bruno Haible  <bruno@clisp.org>
43741
43742         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
43743         invocations.
43744         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
43745
43746 2009-05-21  Eric Blake  <ebb9@byu.net>
43747             Bruno Haible  <bruno@clisp.org>
43748
43749         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
43750         include_next. Fix of 2008-11-20 commit.
43751         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
43752         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
43753         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
43754         NEXT_MATH_H.
43755         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
43756         instead of NEXT_MATH_H.
43757
43758 2009-05-21  Bruno Haible  <bruno@clisp.org>
43759
43760         Avoid redefinition warnings for SIZE_MAX.
43761         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
43762         Reported by Simon Josefsson.
43763
43764 2009-05-21  Bruno Haible  <bruno@clisp.org>
43765
43766         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
43767         AC_CACHE_VAL.
43768
43769 2009-05-20  Bruno Haible  <bruno@clisp.org>
43770
43771         Make zeroptr.h work on mingw.
43772         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
43773         mprotect.
43774         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
43775         * modules/memchr2-tests (configure.ac): Likewise.
43776         * modules/memcmp-tests (configure.ac): Likewise.
43777         * modules/memmem-tests (configure.ac): Likewise.
43778         * modules/memrchr-tests (configure.ac): Likewise.
43779         Reported by Simon Josefsson.
43780
43781 2009-05-20  Simon Josefsson  <simon@josefsson.org>
43782
43783         * tests/test-glob.c: Include string.h for strcmp prototype.
43784
43785 2009-05-20  Simon Josefsson  <simon@josefsson.org>
43786
43787         * modules/getdelim (Depends-on): Add explicit stdint, although it
43788         was implicitly already pulled in via realloc-posix.
43789         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
43790
43791 2009-05-20  Simon Josefsson  <simon@josefsson.org>
43792
43793         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
43794         G. Christensen" <tgc@jupiterrise.com>.
43795         * m4/sys_socket_h.m4: Check for sa_family_t.
43796         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
43797         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
43798         * tests/test-sys_socket.c: Check that sa_family_t works.
43799
43800 2009-05-18  Eric Blake  <ebb9@byu.net>
43801
43802         maint.mk: allow gnulib_dir in VPATH build
43803         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
43804
43805 2009-05-15  Jim Meyering  <meyering@redhat.com>
43806
43807         maint.mk: Give gnulib_dir a default definition.
43808         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
43809         Thus, most packages no longer need to specify this variable in cfg.mk
43810
43811 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
43812
43813         rename.m4: fix typos that would make non-mingw cross-configure fail
43814         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
43815
43816 2009-05-13  Eric Blake  <ebb9@byu.net>
43817
43818         mmap-anon: avoid out-of-order autoconf expansion
43819         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
43820         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
43821         * modules/memchr-tests (Depends-on): Add extensions.
43822         * modules/memchr2-tests (Depends-on): Add extensions.
43823         * modules/memcmp-tests (Depends-on): Add extensions.
43824         * modules/memmem-tests (Depends-on): Add extensions.
43825         * modules/memrchr-tests (Depends-on): Add extensions.
43826
43827 2009-05-13  Bruno Haible  <bruno@clisp.org>
43828
43829         Make some tests ISO C 99 compliant.
43830         * tests/zerosize-ptr.h: New file.
43831         * tests/test-memchr.c: Include zerosize-ptr.h.
43832         (main): Use a zero-size object pointer instead of NULL.
43833         * tests/test-memchr2.c: Include zerosize-ptr.h.
43834         (main): Use a zero-size object pointer instead of NULL.
43835         * tests/test-memcmp.c: Include zerosize-ptr.h.
43836         (main): Use a zero-size object pointer instead of NULL.
43837         * tests/test-memmem.c: Include zerosize-ptr.h.
43838         (main): Use a zero-size object pointer instead of NULL.
43839         * tests/test-memrchr.c: Include zerosize-ptr.h.
43840         (main): Use a zero-size object pointer instead of NULL.
43841         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
43842         m4/mmap-anon.m4.
43843         (Depends-on): Add getpagesize.
43844         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
43845         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
43846         m4/mmap-anon.m4.
43847         (Depends-on): Add getpagesize.
43848         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
43849         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
43850         m4/mmap-anon.m4.
43851         (Depends-on): Add getpagesize.
43852         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
43853         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
43854         m4/mmap-anon.m4.
43855         (Depends-on): Add getpagesize.
43856         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
43857         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
43858         m4/mmap-anon.m4.
43859         (Depends-on): Add getpagesize.
43860         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
43861
43862 2009-05-12  Bruno Haible  <bruno@clisp.org>
43863
43864         Tests for module 'alignof'.
43865         * modules/alignof-tests: New file.
43866         * tests/test-alignof.c: New file.
43867
43868 2009-05-12  Bruno Haible  <bruno@clisp.org>
43869
43870         Fix alignof macro.
43871         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
43872         vendor compilers that are always correct.
43873
43874 2009-05-12  Bruno Haible  <bruno@clisp.org>
43875
43876         Make the MAP_ANONYMOUS detection work on HP-UX 11.
43877         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
43878         not whether its fully works.
43879
43880 2009-05-12  Bruno Haible  <bruno@clisp.org>
43881
43882         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
43883
43884 2009-05-12  Jim Meyering  <meyering@redhat.com>
43885
43886         * top/maint.mk: Adjust backslash alignment.
43887
43888 2009-05-11  Simon Josefsson  <simon@josefsson.org>
43889
43890         * top/maint.mk: Make $(srcdir)/build-aux configurable.
43891
43892 2009-05-11  Eric Blake  <ebb9@byu.net>
43893
43894         argp: avoid undefined behavior
43895         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
43896         macros.
43897
43898 2009-05-08  Simon Josefsson  <simon@josefsson.org>
43899
43900         * tests/test-vc-list-files-git.sh: Do git config of user.email and
43901         user.name to prevent git commit from complaining.
43902
43903 2009-05-10  Bruno Haible  <bruno@clisp.org>
43904
43905         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
43906         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
43907         it rewrites every file name only once.
43908         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
43909
43910 2009-05-08  Bruno Haible  <bruno@clisp.org>
43911
43912         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
43913         instead of 'max'.
43914
43915 2009-05-08  Simon Josefsson  <simon@josefsson.org>
43916
43917         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
43918         sockaddr_storage test.
43919
43920 2009-05-07  Simon Josefsson  <simon@josefsson.org>
43921
43922         * modules/sys_socket (Makefile.am): Substitute
43923         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
43924         * m4/sys_socket_h.m4: Check for sockaddr_storage.
43925         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
43926         * tests/test-sys_socket.c: Check sockaddr_storage.
43927
43928 2009-05-08  Bruno Haible  <bruno@clisp.org>
43929
43930         New module 'alignof'.
43931         * lib/alignof.h: New file.
43932         * modules/alignof: New file.
43933
43934 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
43935             Bruno Haible  <bruno@clisp.org>
43936
43937         Fix test-file-has-acl on FreeBSD.
43938         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
43939         mask is implicitly added.
43940         * tests/test-file-has-acl.c: Include <signal.h>.
43941         (main): Terminate the test after 5 seconds.
43942         * modules/acl-tests (configure.ac): Check for alarm function.
43943
43944 2009-05-04  Bruno Haible  <bruno@clisp.org>
43945
43946         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
43947         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
43948         * modules/errno (configure.ac): Drop AC_REQUIRE.
43949         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
43950         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
43951
43952 2009-05-04  Simon Josefsson  <simon@josefsson.org>
43953
43954         * modules/glob-tests: New module.
43955         * tests/test-glob.c: Add.
43956
43957 2009-05-04  Simon Josefsson  <simon@josefsson.org>
43958
43959         * modules/fnmatch-tests: New module.
43960         * tests/test-fnmatch.c: Add.
43961
43962 2009-05-04  Eric Blake  <ebb9@byu.net>
43963
43964         maint: make the new no-submodule-changes rule VPATH-safe
43965         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
43966
43967 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
43968             Bruno Haible  <bruno@clisp.org>
43969
43970         acl: Fix infinite loop on FreeBSD.
43971         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
43972         of return value from acl_get_entry.
43973         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
43974         Likewise.
43975
43976 2009-05-03  Bruno Haible  <bruno@clisp.org>
43977
43978         * lib/acl-internal.h (acl_entries): Clarify return value.
43979         * lib/acl_entries.c (acl_entries): Likewise.
43980
43981 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
43982
43983         Bug fix in acl module.
43984         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
43985
43986 2009-05-03  Bruno Haible  <bruno@clisp.org>
43987
43988         Create gperf-generated file in the source dir, not in the build dir.
43989         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
43990         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
43991         * modules/unicase/locale-language (unicase/locale-languages.h):
43992         Likewise.
43993         * modules/unicase/special-casing (unicase/special-casing-table.h):
43994         Likewise.
43995         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
43996         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
43997         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
43998         Reported by Ralf Wildenhues.
43999
44000 2009-05-03  Bruno Haible  <bruno@clisp.org>
44001
44002         * modules/fnmatch (Description, configure.ac): Taken from
44003         fnmatch-posix.
44004         * modules/fnmatch-posix: Turn into a symbolic reference to the
44005         'fnmatch' module, and deprecate.
44006         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
44007
44008 2009-05-03  Bruno Haible  <bruno@clisp.org>
44009
44010         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
44011         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
44012         Reported by Ralf Wildenhues.
44013
44014 2009-05-04  Simon Josefsson  <simon@josefsson.org>
44015
44016         * m4/fnmatch.m4: Fix fnmatch re-define.
44017
44018 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
44019
44020         priv-set: new module and tests; adapt write-any-file
44021         * lib/priv-set.c: New file.
44022         * lib/priv-set.h: New file.
44023         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
44024         * lib/write-any-file.c: Simplify by using priv-set module.
44025         * m4/priv-set.m4: New file.
44026         * modules/priv-set: New file.
44027         * modules/unlinkdir: Add dependency on priv-set module.
44028         * modules/write-any-file: Likewise.
44029
44030         Tests for module 'priv-set'.
44031         * modules/priv-set-tests: New file.
44032         * tests/test-priv-set.c: New file.
44033
44034 2009-05-03  Jim Meyering  <meyering@redhat.com>
44035             Bruno Haible  <bruno@clisp.org>
44036
44037         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
44038         use the converted UTF-8 variant of the name instead.
44039
44040 2009-05-03  Jim Meyering  <meyering@redhat.com>
44041
44042         tests: tighten some getdate tests
44043         * tests/test-getdate.c (main): Tighten tests: require equality,
44044         not just greater than.  Set TZ envvar to UTC0.
44045
44046 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
44047
44048         getdate: correctly interpret "next monday" when run on a Monday
44049         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
44050         that e.g., "next tues" (when run on a tuesday) results in a date
44051         that is one week in the future, and not today's date.
44052         I.e., add a week when the wday is the same as the current one.
44053         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
44054         and earlier by Martin Bernreuther and Jan Minář.
44055         * tests/test-getdate.c (main): Check that "next DAY" is always in
44056         the future and that "last DAY" is always in the past.
44057
44058 2009-05-02  Jim Meyering  <meyering@redhat.com>
44059
44060         build: ensure that a release build fails when a submodule is unclean
44061         * top/maint.mk (no-submodule-changes): New rule.
44062         (alpha beta major): Depend on it.
44063
44064 2009-05-02  Bruno Haible  <bruno@clisp.org>
44065
44066         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
44067         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
44068         shell variable gl_fnmatch_required to detect which variant is
44069         requested.
44070         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
44071         gl_FUNC_FNMATCH_POSIX.
44072         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
44073         exclude fnmatch-posix.
44074
44075 2009-05-02  Bruno Haible  <bruno@clisp.org>
44076
44077         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
44078         * modules/mbsrtowcs (License): Change to LGPLv2+.
44079         * modules/strnlen1 (License): Likewise.
44080         Reported by Simon Josefsson.
44081
44082 2009-05-02  Bruno Haible  <bruno@clisp.org>
44083
44084         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
44085         "cross".
44086         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
44087         gnulib-tool was called with option --source-base=lib.
44088
44089 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44090
44091         Use automake *-local hooks without commands, for extensibility.
44092         * modules/localcharset (Makefile.am): Rename install-exec-local
44093         rule to install-exec-localcharset, and make it a prerequisite of
44094         install-exec-local.  Likewise, rename the uninstall-local rule to
44095         uninstall-localcharset, and make it a prerequisite of the former.
44096
44097 2009-05-01  Bruno Haible  <bruno@clisp.org>
44098
44099         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
44100         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
44101         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
44102         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
44103         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
44104         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
44105         m4/locale-zh.m4, m4/codeset.m4.
44106
44107         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
44108         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
44109         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
44110         m4/locale-zh.m4.
44111
44112         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
44113         REPLACE_WCRTOMB if mbstate_t must be replaced.
44114         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
44115         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
44116
44117 2009-05-01  Bruno Haible  <bruno@clisp.org>
44118
44119         Avoid compiler warnings when redefining macros defined by <libintl.h>.
44120         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
44121         dngettext, dcngettext, textdomain, bindtextdomain,
44122         bind_textdomain_codeset): Undefine before redefining.
44123
44124 2009-04-30  Bruno Haible  <bruno@clisp.org>
44125
44126         Fix bug introduced on 2009-04-25.
44127         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
44128         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
44129         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
44130         is defined.
44131         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
44132         is defined.
44133         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
44134         is defined.
44135         Reported by Elbert_Pol <elbert.pol@gmail.com>.
44136
44137 2009-04-28  Bruno Haible  <bruno@clisp.org>
44138
44139         Comment tweaks.
44140         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
44141         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
44142         * lib/unicase.h (u*_casexfrm): Likewise.
44143         Reported by Paolo Bonzini.
44144
44145 2009-04-28  Bruno Haible  <bruno@clisp.org>
44146
44147         Fix a compilation error.
44148         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
44149         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
44150         Reported by Jim Meyering.
44151
44152 2009-04-27  Bruno Haible  <bruno@clisp.org>
44153
44154         New module 'libunistring'.
44155         * modules/libunistring: New file.
44156         * m4/libunistring.m4: New file.
44157         * MODULES.html.sh (Unicode string functions): Add it.
44158
44159 2009-04-27  Eric Blake  <ebb9@byu.net>
44160
44161         maint.mk: allow package-specific header to provide <config.h>
44162         * top/maint.mk (sc_require_config_h): New variable.
44163         (sc_require_config_h, sc_require_config_h_first): Use it.
44164
44165 2009-04-27  Simon Josefsson  <simon@josefsson.org>
44166
44167         * top/maint.mk (sc_avoid_if_before_free): Except
44168         useless-if-before-free script.
44169
44170 2009-04-27  Eric Blake  <ebb9@byu.net>
44171
44172         maintainer-makefile: depend on all required helper scripts
44173         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
44174         useless-if-before-free.
44175         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
44176         version, rather than assuming gnulib checkout is available.
44177         Reported by Simen Josefsson.
44178
44179 2009-04-26  Bruno Haible  <bruno@clisp.org>
44180
44181         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
44182         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
44183         "../" or "..".
44184
44185 2009-04-26  Bruno Haible  <bruno@clisp.org>
44186
44187         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
44188         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
44189         AC_LIB_HAVE_LINKFLAGS.
44190
44191 2009-04-26  Bruno Haible  <bruno@clisp.org>
44192
44193         Simplify calling convention of u*_conv_from_encoding.
44194         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
44195         u32_conv_from_encoding): Expect a resultbuf argument and return the
44196         result directly as a pointer.
44197         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
44198         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
44199         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
44200         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
44201         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
44202         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
44203         Update.
44204         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
44205         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
44206         * lib/vasnprintf.c (VASNPRINTF): Update.
44207         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
44208         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
44209         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
44210         * NEWS: Mention the change.
44211
44212 2009-04-26  Bruno Haible  <bruno@clisp.org>
44213
44214         Simplify calling convention of u*_conv_to_encoding.
44215         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
44216         u32_conv_to_encoding): Expect a resultbuf argument and return the
44217         result directly as a pointer.
44218         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
44219         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
44220         freeing scaled_offsets if mem_iconveha failed.
44221         * lib/unicase/u-casexfrm.h (FUNC): Update.
44222         * lib/uninorm/u-normxfrm.h (FUNC): Update.
44223         * lib/vasnprintf.c (VASNPRINTF): Update.
44224         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
44225         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
44226         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
44227         * NEWS: Mention the change.
44228
44229 2009-04-26  Bruno Haible  <bruno@clisp.org>
44230
44231         Avoid test failures on AIX and OSF/1.
44232         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
44233         malloc(0).
44234         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
44235         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
44236         Likewise.
44237         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
44238         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
44239         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
44240         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
44241         * doc/posix-functions/malloc.texi: Document the portability problem
44242         related to malloc(0).
44243
44244 2009-04-26  Bruno Haible  <bruno@clisp.org>
44245
44246         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
44247         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
44248         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
44249
44250 2009-04-25  Bruno Haible  <bruno@clisp.org>
44251
44252         Avoid link error when creating a namespace clean library.
44253         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
44254         as macro with arguments if already defined as an alias.
44255         * lib/signbitf.c (gl_signbitf): Don't undefine.
44256         * lib/signbitd.c (gl_signbitd): Don't undefine.
44257         * lib/signbitl.c (gl_signbitl): Don't undefine.
44258
44259 2009-04-25  Jim Meyering  <meyering@redhat.com>
44260
44261         vc-list-files: fix another quoting bug
44262         * build-aux/vc-list-files: Avoid sed backslash expansion
44263         of pathological directory names.
44264
44265 2009-04-25  Eric Blake  <ebb9@byu.net>
44266
44267         vc-list-files: fix shell quoting error
44268         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
44269         timestamp.
44270
44271 2009-04-25  Jim Meyering  <meyering@redhat.com>
44272
44273         vc-list-files: restore lost functionality with subdir argument
44274         * build-aux/vc-list-files: When given a non-"." sub-directory
44275         argument, substitute the $dir/ prefix back onto each resulting name.
44276         Otherwise, coreutils' root_tests check would fail.
44277
44278 2009-04-24  Eric Blake  <ebb9@byu.net>
44279
44280         vc-list-files: ignore git symlinks
44281         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
44282         than ls-files, to ignore git symlinks.
44283
44284         maint.mk: import improvements from m4
44285         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
44286         (move_if_change): Delete unused macro.
44287         (news-date-check, vc-diff-check): Support VPATH builds.
44288         (announcement): Likewise.  Split --bootstrap-tools list...
44289         (boostrap-tools): ...into separate list, which can be overridden
44290         in cfg.mk.
44291         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
44292         requiring dependency on useless-if-before-free module.
44293         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
44294         Support VPATH builds.
44295
44296 2009-04-24  Jim Meyering  <meyering@redhat.com>
44297
44298         maint.mk: remove coreutils-specific rules and variables
44299         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
44300         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
44301         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
44302
44303         maint.mk: remove obsolete rule
44304         * top/maint.mk (rel-check): Remove rule.
44305         (WGET, WGETFLAGS): Remove now-unused variables.
44306
44307 2009-04-24  Simon Josefsson  <simon@josefsson.org>
44308
44309         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
44310         consistency.
44311
44312         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
44313         '$(PATH_SEPARATOR)' instead of ':'.
44314
44315 2009-04-24  Simon Josefsson  <simon@josefsson.org>
44316
44317         * lib/getopt1.c (main): Use 'const' for static array.
44318
44319 2009-04-24  Simon Josefsson  <simon@josefsson.org>
44320
44321         * top/maint.mk: Sync with coreutils.
44322         * NEWS: Explain incompatibilities.
44323
44324 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
44325             Bruno Haible  <bruno@clisp.org>
44326
44327         Fix cross-compilation results.
44328         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
44329         statement, as third argument of AC_TRY_RUN.
44330         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
44331         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
44332         Likewise.
44333         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
44334         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
44335         Likewise.
44336         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
44337         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
44338         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
44339
44340 2009-04-20  Bruno Haible  <bruno@clisp.org>
44341
44342         Avoid test failure on mingw.
44343         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
44344
44345 2009-04-20  Bruno Haible  <bruno@clisp.org>
44346
44347         Avoid compilation error on mingw.
44348         * modules/localename-tests (Depends-on): Add locale.
44349
44350 2009-04-19  Bruno Haible  <bruno@clisp.org>
44351
44352         Support for building a shared library on Windows platforms.
44353         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
44354         (main): Test the presence of UNINORM_NFC here.
44355         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
44356         (main): Test the presence of UNINORM_NFD here.
44357         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
44358         (main): Test the presence of UNINORM_NFKC here.
44359         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
44360         (main): Test the presence of UNINORM_NFKD here.
44361
44362 2009-04-19  Bruno Haible  <bruno@clisp.org>
44363
44364         Avoid a compiler warning.
44365         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
44366         Change type of variable 'sequence'.
44367
44368 2009-04-19  Bruno Haible  <bruno@clisp.org>
44369
44370         * modules/configmake (Makefile.am): When the contents of configmake.h
44371         does not change, arrange to preserve its modification time.
44372
44373 2009-04-17  Simon Josefsson  <simon@josefsson.org>
44374
44375         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
44376         gettext domain.
44377
44378 2009-04-16  Jim Meyering  <meyering@redhat.com>
44379
44380         useless-if-before-free: improve conversion code
44381         * build-aux/useless-if-before-free: Adjust code-in-comment to match
44382         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
44383
44384 2009-04-14  Bruno Haible  <bruno@clisp.org>
44385
44386         * modules/fcntl (Depends-on): Add extensions.
44387         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
44388
44389 2009-04-12  Ben Pfaff  <blp@gnu.org>
44390
44391         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
44392         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
44393
44394 2009-03-20  Ben Pfaff  <blp@gnu.org>
44395
44396         Make rename replace existing destinations on Windows.
44397         * m4/rename.m4: Add test for Mingw.
44398         * lib/rename.c: Add rename replacement that uses MoveFileEx with
44399         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
44400         * doc/posix-functions/rename.texi: Document.
44401
44402 2009-04-10  Bruno Haible  <bruno@clisp.org>
44403
44404         New include file "iconveh.h".
44405         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
44406         * lib/striconveh.h: Include it.
44407         (enum iconv_ilseq_handler): Remove definition.
44408         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
44409         striconveh.h.
44410         * lib/striconveha.c: Include striconveh.h.
44411         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
44412         * modules/striconveh (Files): Add lib/iconveh.h.
44413         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
44414         lib/striconveh.h.
44415
44416 2009-04-10  Bruno Haible  <bruno@clisp.org>
44417
44418         * lib/uniconv.h: Update comment.
44419
44420 2009-04-10  Bruno Haible  <bruno@clisp.org>
44421
44422         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
44423         always.
44424         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
44425         * lib/unistr/u16-mbtouc-aux.c: Likewise.
44426         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
44427         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
44428         "unistring-notinline.h", so that the function gets defined always.
44429         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
44430         * lib/unistr/u8-uctomb.c: Likewise.
44431         * lib/unistr/u16-mbtouc.c: Likewise.
44432         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
44433         * lib/unistr/u16-uctomb.c: Likewise.
44434         * lib/unistr/u32-mbtouc.c: Likewise.
44435         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
44436         * lib/unistr/u32-uctomb.c: Likewise.
44437
44438 2009-04-10  Bruno Haible  <bruno@clisp.org>
44439
44440         Mark 'utime' obsolete.
44441         * modules/utime (Status, Notice): New sections.
44442         Suggested by Jim Meyering.
44443
44444         Fix cross-compile guess for utime test.
44445         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
44446         autoconf.
44447         * doc/posix-functions/utime.texi: Give more precisions.
44448         Reported by Jan <ipif@ymail.com>.
44449
44450 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
44451
44452         filevercmp: correct today's change
44453         * lib/filevercmp.c: Also handle coreutils' test inputs.
44454         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
44455
44456         Fix regression in 'filevercmp' module. Thanks Sven Joachim
44457         for reporting it.
44458         * lib/filevercmp.c: Special handle for "", "." and "..".
44459         * tests/test-filevercmp.c: Enlarge the set suite.
44460
44461 2009-04-07  Jim Meyering  <meyering@redhat.com>
44462
44463         useless-if-before-free: show how to remove braced useless free, too
44464         * build-aux/useless-if-before-free: still only in a comment, though.
44465
44466 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
44467
44468         maint.mk: import changes to syntax-check macros from coreutils
44469         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
44470         Use them in the relevant macros.
44471
44472 2009-04-06  Bruno Haible  <bruno@clisp.org>
44473
44474         Fix unportable use of bit-fields.
44475         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
44476         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
44477         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
44478
44479 2009-04-06  Bruno Haible  <bruno@clisp.org>
44480
44481         Avoid test failures on AIX and OSF/1.
44482         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
44483         that malloc(0) = NULL.
44484         * tests/unicase/test-u8-tolower.c (check): Likewise.
44485         * tests/unicase/test-u8-totitle.c (check): Likewise.
44486         * tests/unicase/test-u8-toupper.c (check): Likewise.
44487         * tests/unicase/test-u16-casefold.c (check): Likewise.
44488         * tests/unicase/test-u16-tolower.c (check): Likewise.
44489         * tests/unicase/test-u16-totitle.c (check): Likewise.
44490         * tests/unicase/test-u16-toupper.c (check): Likewise.
44491         * tests/unicase/test-u32-casefold.c (check): Likewise.
44492         * tests/unicase/test-u32-tolower.c (check): Likewise.
44493         * tests/unicase/test-u32-totitle.c (check): Likewise.
44494         * tests/unicase/test-u32-toupper.c (check): Likewise.
44495         * tests/uninorm/test-u8-nfc.c (check): Likewise.
44496         * tests/uninorm/test-u8-nfd.c (check): Likewise.
44497         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
44498         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
44499         * tests/uninorm/test-u16-nfc.c (check): Likewise.
44500         * tests/uninorm/test-u16-nfd.c (check): Likewise.
44501         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
44502         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
44503         * tests/uninorm/test-u32-nfc.c (check): Likewise.
44504         * tests/uninorm/test-u32-nfd.c (check): Likewise.
44505         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
44506         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
44507
44508 2009-04-05  Bruno Haible  <bruno@clisp.org>
44509
44510         Work around an autoconf limitation.
44511         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
44512         comment line if it would be longer than 3 KB.
44513
44514 2009-04-05  Bruno Haible  <bruno@clisp.org>
44515
44516         Avoid test failure with libiconv-1.13.
44517         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
44518         of the expected test results.
44519
44520 2009-04-05  Bruno Haible  <bruno@clisp.org>
44521
44522         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
44523         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
44524         that it should be installed.
44525
44526 2009-04-05  Bruno Haible  <bruno@clisp.org>
44527
44528         * gnulib-tool: New option --copy-file.
44529         (func_usage): Document it.
44530         (func_dest_tmpfilename): Moved out of func_import.
44531         (func_add_file, func_update_file): New functions, extracted from
44532         func_import.
44533         (func_import): Update.
44534
44535 2009-04-05  Karl Berry  <karl@gnu.org>
44536
44537         * README: prominently mention gnulib-tool.
44538         Rearrange sections so getting the code is near the top.
44539
44540 2009-04-05  Bruno Haible  <bruno@clisp.org>
44541
44542         * lib/unicase.h: Mention u*_cmp2.
44543         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
44544         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
44545         * lib/unicase/ulc-casecmp.c: Likewise.
44546         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
44547         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
44548         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
44549         unistr/u8-cmp.
44550         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
44551         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
44552         unistr/u16-cmp.
44553         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
44554         unistr/u32-cmp.
44555
44556         * lib/uninorm.h: Mention u*_cmp2.
44557         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
44558         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
44559         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
44560         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
44561         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
44562         unistr/u8-cmp.
44563         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
44564         unistr/u16-cmp.
44565         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
44566         unistr/u32-cmp.
44567
44568         New module 'unistr/u32-cmp2'.
44569         * lib/unistr/u32-cmp2.c: New file.
44570         * modules/unistr/u32-cmp2: New file.
44571
44572         New module 'unistr/u16-cmp2'.
44573         * lib/unistr/u16-cmp2.c: New file.
44574         * modules/unistr/u16-cmp2: New file.
44575
44576         New module 'unistr/u8-cmp2'.
44577         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
44578         * lib/unistr/u8-cmp2.c: New file.
44579         * lib/unistr/u-cmp2.h: New file.
44580         * modules/unistr/u8-cmp2: New file.
44581
44582 2009-04-05  Bruno Haible  <bruno@clisp.org>
44583
44584         * lib/unictype.h (uc_property_is_valid): New macro.
44585         * tests/unictype/test-pr_byname.c (main): Use it.
44586
44587         * lib/unistr.h: Doc fixes.
44588         * lib/uniconv.h: Doc fixes.
44589         * lib/unictype.h: Doc fixes.
44590
44591 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
44592
44593         Port coreutils 7.2 to Solaris 8.
44594
44595         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
44596         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
44597         for Solaris 8.  This is a bit of a hack, as it means it's the
44598         caller's responsibility to add -lnsl if needed, but most likely it
44599         won't be needed since only getaddrinfo uses this and getaddrinfo
44600         isn't needed on Solaris 8.
44601
44602         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
44603         problem to Solaris 8 encountered with coreutils 7.2, which
44604         resulted in a message "fnmatch.c:292: warning: passing argument 4
44605         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
44606         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
44607
44608 2009-04-03  Simon Josefsson  <simon@josefsson.org>
44609
44610         * m4/ld-version-script.m4: Add FIXME comment.
44611
44612 2009-04-02  Simon Josefsson  <simon@josefsson.org>
44613
44614         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
44615         SOVERSION variable.
44616
44617 2009-04-02  Bruno Haible  <bruno@clisp.org>
44618
44619         * Makefile (info, html, dvi, pdf): Combine the rules.
44620         Suggested by Jim Meyering.
44621
44622 2009-04-01  Bruno Haible  <bruno@clisp.org>
44623
44624         * Makefile (info, html, dvi, pdf): New targets.
44625         Reported by Reuben Thomas <rrt@sc3d.org>.
44626
44627 2009-04-01  Bruno Haible  <bruno@clisp.org>
44628
44629         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
44630         can be put into PATH.
44631         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
44632
44633 2009-04-01  Bruno Haible  <bruno@clisp.org>
44634
44635         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
44636
44637 2009-04-01  Bruno Haible  <bruno@clisp.org>
44638
44639         Rename module 'visibility'.
44640         * modules/lib-symbol-visibility: Renamed from modules/visibility.
44641         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
44642         * doc/gnulib.texi: Update.
44643         * MODULES.html.sh (Misc): Update.
44644         * NEWS: Mention the change.
44645
44646 2009-04-01  Simon Josefsson  <simon@josefsson.org>
44647
44648         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
44649         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
44650         Eric Blake <ebb9@byu.net> for review.
44651         * MODULES.html.sh: Add lib-msvc-compat.
44652         * doc/gnulib.texi: Link to new section.
44653         * m4/ld-output-def.m4: New file.
44654         * doc/ld-output-def.texi: New file.
44655
44656 2009-04-01  Simon Josefsson  <simon@josefsson.org>
44657
44658         Rename ld-version-script to lib-symbol-versions.  Suggested by
44659         Bruno Haible <bruno@clisp.org>.
44660         * modules/ld-version-script: Renamed to lib-symbol-versions.
44661         * doc/ld-version-script.texi: Fix module name.
44662         * MODULES.html.sh: Add lib-symbol-versions.
44663
44664 2009-03-31  Simon Josefsson  <simon@josefsson.org>
44665
44666         * modules/u64-tests: New file.
44667         * tests/test-u64.c: New file.
44668
44669 2009-03-04  Simon Josefsson  <simon@josefsson.org>
44670
44671         * MODULES.html.sh: Mention u64.
44672         * modules/u64: New module.
44673         * modules/crypto/sha512: Depend on u64 module instead of providing
44674         u64.h.
44675
44676 2009-03-27  Eric Blake  <ebb9@byu.net>
44677
44678         test-strerror: make debugging EAI_SYSTEM easier
44679         * modules/getaddrinfo-tests (Depends-on): Add strerror.
44680         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
44681         failure was EAI_SYSTEM.
44682
44683 2009-03-25  Bruno Haible  <bruno@clisp.org>
44684
44685         Fix a problem with --enable-relocatable on Solaris 7.
44686         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
44687         since 2008-02-24.
44688
44689 2009-03-25  Eric Blake  <ebb9@byu.net>
44690
44691         test-sockets: avoid gcc warning
44692         * tests/test-sockets.c (main): Silence compiler warning.
44693
44694 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
44695
44696         New modules nproc, pthread, contributed by Glen Lenker.
44697
44698         * MODULES.html.sh: Add pthread, nproc.
44699         * lib/nproc.c: New file.
44700         * lib/nproc.h: New file.
44701         * lib/pthread.in.h: New file.
44702         * m4/pthread.m4: New file.
44703         * modules/nproc: New file.
44704         * modules/pthread: New file.
44705
44706 2009-03-24  Simon Josefsson  <simon@josefsson.org>
44707
44708         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
44709         New variable.
44710
44711 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
44712
44713         filevercmp: handle simple~ and numbered.~3~ backup suffixes
44714         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
44715         * tests/test-filevercmp.c: Add tests for backup suffixes.
44716
44717 2009-03-24  Simon Josefsson  <simon@josefsson.org>
44718
44719         * modules/stdlib (Depends-on): Add stdint, needed when defining
44720         struct random_data on, for example, HP-UX 10.20.  Reported by
44721         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
44722
44723 2009-03-24  Simon Josefsson  <simon@josefsson.org>
44724
44725         * lib/readline.c (readline): Call fflush on stdout after printing
44726         prompt.
44727
44728 2009-03-20  Bruno Haible  <bruno@clisp.org>
44729
44730         Remove dependency from 'close' module to -lws2_32 on native Windows.
44731         * lib/close-hook.h: New file.
44732         * lib/close-hook.c: New file.
44733         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
44734         w32sock.h.
44735         (_gl_close_fd_maybe_socket): Remove function.
44736         (rpl_close): Invoke execute_all_close_hooks instead of
44737         _gl_close_fd_maybe_socket.
44738         * lib/sockets.c: Include close-hook.h, w32sock.h.
44739         (close_fd_maybe_socket): New function, essentially from lib/close.c.
44740         (close_sockets_hook): New variable.
44741         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
44742         (gl_sockets_cleanup): Unregister it.
44743         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
44744         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
44745         * modules/close-hook: New file.
44746         * modules/close (Files): Remove lib/w32sock.h.
44747         (Depends-on): Add close-hook.
44748         (Link): Remove section.
44749         * modules/sockets (Files): Add lib/w32sock.h.
44750         (Depends-on): Add close-hook.
44751         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
44752         invocation.
44753         * NEWS: Mention that LIB_CLOSE is gone.
44754
44755 2009-03-23  Eric Blake  <ebb9@byu.net>
44756
44757         signal-tests: test previous patch
44758         * tests/test-signal.c: New file.
44759         * modules/signal-tests: Likewise.
44760
44761         signal.h: always support 'volatile sig_atomic_t'
44762         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
44763         (gl_SIGNAL_H_DEFAULTS): Add a default.
44764         * modules/signal (Makefile.am): Substitute if needed.
44765         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
44766         users can blindly add volatile.
44767         * doc/posix-headers/signal.texi (signal.h): Document it.
44768         Reported by Matthew Woehlke.
44769
44770 2009-03-23  Jim Meyering  <meyering@redhat.com>
44771
44772         pathmax: PATH_MAX: use pathconf only when available
44773         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
44774         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
44775         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
44776         This avoids a link failure in a PSP cross-compilation environment
44777         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
44778
44779         * lib/vasnprintf.c (divide): Fix typo in comment.
44780
44781 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44782
44783         * gnulib-tool (func_filter_filelist): Fix comment.
44784
44785 2009-03-20  Bruno Haible  <bruno@clisp.org>
44786
44787         Make sockets.h self-contained.
44788         * lib/sockets.c: Include sockets.h first.
44789         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
44790
44791 2009-03-19  Eric Blake  <ebb9@byu.net>
44792
44793         doc: mention more functions added in cygwin 1.7.0
44794         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
44795         addition.
44796         * doc/posix-functions/log2f.texi: Likewise.
44797
44798 2009-03-19  Jim Meyering  <meyering@redhat.com>
44799
44800         fsusage: avoid syntax error due to statement-before-declaration
44801         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
44802         after all declarations.  Reported by Matthew Woehlke in
44803         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
44804
44805 2009-03-18  Eric Blake  <ebb9@byu.net>
44806
44807         build-aux/compile: sync from automake
44808         * build-aux/compile: New file, from automake.
44809         * config/srclist.txt: Mention build-aux/compile.
44810
44811 2009-03-17  Bruno Haible  <bruno@clisp.org>
44812
44813         * lib/git-merge-changelog.c: Fix typo in comment.
44814         Reported by Reuben Thomas <rrt@sc3d.org>.
44815
44816 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
44817
44818         * m4/regex.m4: update and improve help for
44819         --without-included-regex.
44820
44821 2009-03-17  Simon Josefsson  <simon@josefsson.org>
44822
44823         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
44824         failure on missing include files.
44825
44826 2009-03-17  Eric Blake  <ebb9@byu.net>
44827
44828         doc: mention more functions added in cygwin 1.7.0
44829         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
44830         addition.
44831         * doc/posix-functions/fwscanf.texi: Likewise.
44832         * doc/posix-functions/swprintf.texi: Likewise.
44833         * doc/posix-functions/swscanf.texi: Likewise.
44834         * doc/posix-functions/vfwprintf.texi: Likewise.
44835         * doc/posix-functions/vfwscanf.texi: Likewise.
44836         * doc/posix-functions/vswprintf.texi: Likewise.
44837         * doc/posix-functions/vswscanf.texi: Likewise.
44838         * doc/posix-functions/vwprintf.texi: Likewise.
44839         * doc/posix-functions/vwscanf.texi: Likewise.
44840         * doc/posix-functions/wcscasecmp.texi: Likewise.
44841         * doc/posix-functions/wcsdup.texi: Likewise.
44842         * doc/posix-functions/wcsftime.texi: Likewise.
44843         * doc/posix-functions/wcsncasecmp.texi: Likewise.
44844         * doc/posix-functions/wprintf.texi: Likewise.
44845         * doc/posix-functions/wscanf.texi: Likewise.
44846         * doc/glibc-functions/gethostbyname2.texi: Likewise.
44847
44848 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44849
44850         maint.mk: really add $(AM_MAKEFLAGS)
44851         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
44852         was inadvertently omitted in the last commit.
44853         Spotted by Bruno Haible.
44854
44855         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
44856         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
44857         $(AM_MAKEFLAGS)' rather than plain `make'.
44858
44859         gnulib-tool: execute $MAKE not make
44860         * gnulib-tool: Default $MAKE to 'make'.
44861         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
44862         than make.  Initialize $MAKE in the do-autobuild script.
44863
44864         gnulib-tool: use $MAKE not make in generated files
44865         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
44866         make, in generated files.  Initialize $MAKE in the do-autobuild
44867         script.
44868
44869         * top/GNUmakefile (_have-git-version-gen): Fix typo.
44870
44871         GNUmakefile: disable parallelism only for multiple, recursive targets
44872         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
44873         additions in the Makefile.
44874         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
44875         by Automake.
44876         (.NOTPARALLEL): Only disable parallel builds if multiple targets
44877         are listed on the command line and at least one of them is
44878         listed in $(ALL_RECURSIVE_TARGETS).
44879
44880 2009-03-14  Bruno Haible  <bruno@clisp.org>
44881
44882         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
44883         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
44884         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
44885         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
44886         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
44887         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
44888         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
44889         unistr/u8-uctomb.
44890         * modules/unistr/u8-strchr (Depends-on): Likewise.
44891         * modules/unistr/u8-strrchr (Depends-on): Likewise.
44892         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
44893         unistr/u16-uctomb.
44894         * modules/unistr/u16-strchr (Depends-on): Likewise.
44895         * modules/unistr/u16-strrchr (Depends-on): Likewise.
44896
44897 2009-03-12  Bruno Haible  <bruno@clisp.org>
44898
44899         Work around select() bug on Interix 3.5.
44900         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
44901         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
44902         * m4/select.m4: New file.
44903         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
44904         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
44905         * modules/select (Files): Add m4/select.m4.
44906         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
44907         * modules/nanosleep (Depends-on): Add select.
44908         * modules/poll (Depends-on): Likewise.
44909         * doc/posix-functions/select.texi: Mention the Interix bug.
44910         Reported by Markus Duft <mduft@gentoo.org>.
44911
44912         * lib/select.c: Renamed from lib/winsock-select.c.
44913         * modules/select (Files): Add lib/select.c, remove
44914         lib/winsock-select.c.
44915         (configure.ac): Update.
44916
44917 2009-03-12  Jim Meyering  <meyering@redhat.com>
44918
44919         avoid gcc warnings about unused macro definitions
44920         * lib/readtokens.c (STREQ): Remove unused definition.
44921         * lib/xmalloc.c (SIZE_MAX): Likewise.
44922         * lib/openat-die.c (N_): Likewise.
44923         * lib/mountlist.c (SIZE_MAX): Remove definition.
44924         Instead, include <stdint.h>.
44925         * lib/readutmp.c: Likewise.
44926         * modules/readutmp (Depends-on): Add stdint.
44927         * modules/mountlist (Depends-on): Add stdint.
44928         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
44929
44930 2009-03-10  Bruno Haible  <bruno@clisp.org>
44931
44932         Tests for module 'mbmemcasecoll'.
44933         * modules/mbmemcasecoll-tests: New file.
44934         * tests/test-mbmemcasecoll1.sh: New file.
44935         * tests/test-mbmemcasecoll2.sh: New file.
44936         * tests/test-mbmemcasecoll3.sh: New file.
44937         * tests/test-mbmemcasecoll.c: New file.
44938
44939         New module 'mbmemcasecoll'.
44940         * lib/mbmemcasecoll.h: New file.
44941         * lib/mbmemcasecoll.c: New file.
44942         * modules/mbmemcasecoll: New file.
44943
44944         * tests/test-mbmemcasecmp.h: New file, extracted from
44945         tests/test-mbmemcasecmp.c.
44946         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
44947         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
44948         (main): Update.
44949         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
44950
44951 2009-03-09  Bruno Haible  <bruno@clisp.org>
44952
44953         Tests for module 'mbmemcasecmp'.
44954         * modules/mbmemcasecmp-tests: New file.
44955         * tests/test-mbmemcasecmp1.sh: New file.
44956         * tests/test-mbmemcasecmp2.sh: New file.
44957         * tests/test-mbmemcasecmp3.sh: New file.
44958         * tests/test-mbmemcasecmp.c: New file.
44959
44960         New module 'mbmemcasecmp'.
44961         * lib/mbmemcasecmp.h: New file.
44962         * lib/mbmemcasecmp.c: New file.
44963         * modules/mbmemcasecmp: New file.
44964
44965 2009-03-09  Bruno Haible  <bruno@clisp.org>
44966
44967         Tests for module 'unicase/ulc-casecoll'.
44968         * modules/unicase/ulc-casecoll-tests: New file.
44969         * tests/unicase/test-ulc-casecoll1.sh: New file.
44970         * tests/unicase/test-ulc-casecoll2.sh: New file.
44971         * tests/unicase/test-ulc-casecoll.c: New file.
44972
44973         New module 'unicase/ulc-casecoll'.
44974         * lib/unicase.h (ulc_casecoll): New declaration.
44975         * lib/unicase/ulc-casecoll.c: New file.
44976         * modules/unicase/ulc-casecoll: New file.
44977
44978         New module 'unicase/ulc-casexfrm'.
44979         * lib/unicase.h (ulc_casexfrm): New declaration.
44980         * lib/unicase/ulc-casexfrm.c: New file.
44981         * modules/unicase/ulc-casexfrm: New file.
44982
44983 2009-03-09  Bruno Haible  <bruno@clisp.org>
44984
44985         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
44986         invocations.
44987
44988         * m4/mbscasecmp.m4: Remove file.
44989         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
44990         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
44991
44992         * m4/mbscasestr.m4: Remove file.
44993         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
44994         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
44995
44996         * m4/mbschr.m4: Remove file.
44997         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
44998         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
44999
45000         * m4/mbscspn.m4: Remove file.
45001         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
45002         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
45003
45004         * m4/mbslen.m4: Remove file.
45005         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
45006         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
45007
45008         * m4/mbsncasecmp.m4: Remove file.
45009         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
45010         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
45011
45012         * m4/mbsnlen.m4: Remove file.
45013         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
45014         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
45015
45016         * m4/mbspbrk.m4: Remove file.
45017         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
45018         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
45019
45020         * m4/mbspcasecmp.m4: Remove file.
45021         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
45022         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
45023
45024         * m4/mbsrchr.m4: Remove file.
45025         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
45026         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
45027
45028         * m4/mbssep.m4: Remove file.
45029         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
45030         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
45031
45032         * m4/mbsspn.m4: Remove file.
45033         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
45034         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
45035
45036         * m4/mbsstr.m4: Remove file.
45037         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
45038         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
45039
45040         * m4/mbstok_r.m4: Remove file.
45041         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
45042         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
45043
45044         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
45045
45046         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
45047         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
45048
45049         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
45050
45051 2009-03-08  Bruno Haible  <bruno@clisp.org>
45052
45053         Tests for module 'unicase/ulc-casecmp'.
45054         * modules/unicase/ulc-casecmp-tests: New file.
45055         * tests/unicase/test-ulc-casecmp1.sh: New file.
45056         * tests/unicase/test-ulc-casecmp2.sh: New file.
45057         * tests/unicase/test-ulc-casecmp.c: New file.
45058
45059         New module 'unicase/ulc-casecmp'.
45060         * lib/unicase.h (ulc_casecmp): New declaration.
45061         * lib/unicase/ulc-casecmp.c: New file.
45062         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
45063         'const SRC_UNIT *'.
45064         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
45065         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
45066         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
45067         * modules/unicase/ulc-casecmp: New file.
45068
45069         Tests for module 'unicase/u32-is-cased'.
45070         * modules/unicase/u32-is-cased-tests: New file.
45071         * tests/unicase/test-u32-is-cased.c: New file.
45072
45073         Tests for module 'unicase/u16-is-cased'.
45074         * modules/unicase/u16-is-cased-tests: New file.
45075         * tests/unicase/test-u16-is-cased.c: New file.
45076
45077         Tests for module 'unicase/u8-is-cased'.
45078         * modules/unicase/u8-is-cased-tests: New file.
45079         * tests/unicase/test-u8-is-cased.c: New file.
45080         * tests/unicase/test-is-cased.h: New file.
45081
45082         New module 'unicase/u32-is-cased'.
45083         * lib/unicase/u32-is-cased.c: New file.
45084         * modules/unicase/u32-is-cased: New file.
45085
45086         New module 'unicase/u16-is-cased'.
45087         * lib/unicase/u16-is-cased.c: New file.
45088         * modules/unicase/u16-is-cased: New file.
45089
45090         New module 'unicase/u8-is-cased'.
45091         * lib/unicase/u8-is-cased.c: New file.
45092         * lib/unicase/u-is-cased.h: New file.
45093         * modules/unicase/u8-is-cased: New file.
45094
45095         Tests for module 'unicase/u32-is-casefolded'.
45096         * modules/unicase/u32-is-casefolded-tests: New file.
45097         * tests/unicase/test-u32-is-casefolded.c: New file.
45098
45099         Tests for module 'unicase/u16-is-casefolded'.
45100         * modules/unicase/u16-is-casefolded-tests: New file.
45101         * tests/unicase/test-u16-is-casefolded.c: New file.
45102
45103         Tests for module 'unicase/u8-is-casefolded'.
45104         * modules/unicase/u8-is-casefolded-tests: New file.
45105         * tests/unicase/test-u8-is-casefolded.c: New file.
45106         * tests/unicase/test-is-casefolded.h: New file.
45107
45108         New module 'unicase/u32-is-casefolded'.
45109         * lib/unicase/u32-is-casefolded.c: New file.
45110         * modules/unicase/u32-is-casefolded: New file.
45111
45112         New module 'unicase/u16-is-casefolded'.
45113         * lib/unicase/u16-is-casefolded.c: New file.
45114         * modules/unicase/u16-is-casefolded: New file.
45115
45116         New module 'unicase/u8-is-casefolded'.
45117         * lib/unicase/u8-is-casefolded.c: New file.
45118         * modules/unicase/u8-is-casefolded: New file.
45119
45120         Tests for module 'unicase/u32-is-titlecase'.
45121         * modules/unicase/u32-is-titlecase-tests: New file.
45122         * tests/unicase/test-u32-is-titlecase.c: New file.
45123
45124         Tests for module 'unicase/u16-is-titlecase'.
45125         * modules/unicase/u16-is-titlecase-tests: New file.
45126         * tests/unicase/test-u16-is-titlecase.c: New file.
45127
45128         Tests for module 'unicase/u8-is-titlecase'.
45129         * modules/unicase/u8-is-titlecase-tests: New file.
45130         * tests/unicase/test-u8-is-titlecase.c: New file.
45131         * tests/unicase/test-is-titlecase.h: New file.
45132
45133         New module 'unicase/u32-is-titlecase'.
45134         * lib/unicase/u32-is-titlecase.c: New file.
45135         * modules/unicase/u32-is-titlecase: New file.
45136
45137         New module 'unicase/u16-is-titlecase'.
45138         * lib/unicase/u16-is-titlecase.c: New file.
45139         * modules/unicase/u16-is-titlecase: New file.
45140
45141         New module 'unicase/u8-is-titlecase'.
45142         * lib/unicase/u8-is-titlecase.c: New file.
45143         * modules/unicase/u8-is-titlecase: New file.
45144
45145         Tests for module 'unicase/u32-is-lowercase'.
45146         * modules/unicase/u32-is-lowercase-tests: New file.
45147         * tests/unicase/test-u32-is-lowercase.c: New file.
45148
45149         Tests for module 'unicase/u16-is-lowercase'.
45150         * modules/unicase/u16-is-lowercase-tests: New file.
45151         * tests/unicase/test-u16-is-lowercase.c: New file.
45152
45153         Tests for module 'unicase/u8-is-lowercase'.
45154         * modules/unicase/u8-is-lowercase-tests: New file.
45155         * tests/unicase/test-u8-is-lowercase.c: New file.
45156         * tests/unicase/test-is-lowercase.h: New file.
45157
45158         New module 'unicase/u32-is-lowercase'.
45159         * lib/unicase/u32-is-lowercase.c: New file.
45160         * modules/unicase/u32-is-lowercase: New file.
45161
45162         New module 'unicase/u16-is-lowercase'.
45163         * lib/unicase/u16-is-lowercase.c: New file.
45164         * modules/unicase/u16-is-lowercase: New file.
45165
45166         New module 'unicase/u8-is-lowercase'.
45167         * lib/unicase/u8-is-lowercase.c: New file.
45168         * modules/unicase/u8-is-lowercase: New file.
45169
45170         Tests for module 'unicase/u32-is-uppercase'.
45171         * modules/unicase/u32-is-uppercase-tests: New file.
45172         * tests/unicase/test-u32-is-uppercase.c: New file.
45173
45174         Tests for module 'unicase/u16-is-uppercase'.
45175         * modules/unicase/u16-is-uppercase-tests: New file.
45176         * tests/unicase/test-u16-is-uppercase.c: New file.
45177
45178         Tests for module 'unicase/u8-is-uppercase'.
45179         * modules/unicase/u8-is-uppercase-tests: New file.
45180         * tests/unicase/test-u8-is-uppercase.c: New file.
45181         * tests/unicase/test-is-uppercase.h: New file.
45182
45183         New module 'unicase/u32-is-uppercase'.
45184         * lib/unicase/u32-is-uppercase.c: New file.
45185         * modules/unicase/u32-is-uppercase: New file.
45186
45187         New module 'unicase/u16-is-uppercase'.
45188         * lib/unicase/u16-is-uppercase.c: New file.
45189         * modules/unicase/u16-is-uppercase: New file.
45190
45191         New module 'unicase/u8-is-uppercase'.
45192         * lib/unicase/u8-is-uppercase.c: New file.
45193         * modules/unicase/u8-is-uppercase: New file.
45194
45195         New module 'unicase/u32-is-invariant'.
45196         * lib/unicase/u32-is-invariant.c: New file.
45197         * modules/unicase/u32-is-invariant: New file.
45198
45199         New module 'unicase/u16-is-invariant'.
45200         * lib/unicase/u16-is-invariant.c: New file.
45201         * modules/unicase/u16-is-invariant: New file.
45202
45203         New module 'unicase/u8-is-invariant'.
45204         * lib/unicase/u8-is-invariant.c: New file.
45205         * lib/unicase/invariant.h: New file.
45206         * lib/unicase/u-is-invariant.h: New file.
45207         * modules/unicase/u8-is-invariant: New file.
45208
45209         Tests for module 'unicase/u32-casecoll'.
45210         * modules/unicase/u32-casecoll-tests: New file.
45211         * tests/unicase/test-u32-casecoll.c: New file.
45212
45213         Tests for module 'unicase/u16-casecoll'.
45214         * modules/unicase/u16-casecoll-tests: New file.
45215         * tests/unicase/test-u16-casecoll.c: New file.
45216
45217         Tests for module 'unicase/u8-casecoll'.
45218         * modules/unicase/u8-casecoll-tests: New file.
45219         * tests/unicase/test-u8-casecoll.c: New file.
45220
45221         New module 'unicase/u32-casecoll'.
45222         * lib/unicase/u32-casecoll.c: New file.
45223         * modules/unicase/u32-casecoll: New file.
45224
45225         New module 'unicase/u16-casecoll'.
45226         * lib/unicase/u16-casecoll.c: New file.
45227         * modules/unicase/u16-casecoll: New file.
45228
45229         New module 'unicase/u8-casecoll'.
45230         * lib/unicase/u8-casecoll.c: New file.
45231         * lib/unicase/u-casecoll.h: New file.
45232         * modules/unicase/u8-casecoll: New file.
45233
45234         New module 'unicase/u32-casexfrm'.
45235         * lib/unicase/u32-casexfrm.c: New file.
45236         * modules/unicase/u32-casexfrm: New file.
45237
45238         New module 'unicase/u16-casexfrm'.
45239         * lib/unicase/u16-casexfrm.c: New file.
45240         * modules/unicase/u16-casexfrm: New file.
45241
45242         New module 'unicase/u8-casexfrm'.
45243         * lib/unicase/u8-casexfrm.c: New file.
45244         * lib/unicase/u-casexfrm.h: New file.
45245         * modules/unicase/u8-casexfrm: New file.
45246
45247         Tests for module 'unicase/u32-casecmp'.
45248         * modules/unicase/u32-casecmp-tests: New file.
45249         * tests/unicase/test-u32-casecmp.c: New file.
45250
45251         Tests for module 'unicase/u16-casecmp'.
45252         * modules/unicase/u16-casecmp-tests: New file.
45253         * tests/unicase/test-u16-casecmp.c: New file.
45254
45255         Tests for module 'unicase/u8-casecmp'.
45256         * modules/unicase/u8-casecmp-tests: New file.
45257         * tests/unicase/test-u8-casecmp.c: New file.
45258         * tests/unicase/test-casecmp.h: New file.
45259
45260         New module 'unicase/u32-casecmp'.
45261         * lib/unicase/u32-casecmp.c: New file.
45262         * modules/unicase/u32-casecmp: New file.
45263
45264         New module 'unicase/u16-casecmp'.
45265         * lib/unicase/u16-casecmp.c: New file.
45266         * modules/unicase/u16-casecmp: New file.
45267
45268         New module 'unicase/u8-casecmp'.
45269         * lib/unicase/u8-casecmp.c: New file.
45270         * lib/unicase/u-casecmp.h: New file.
45271         * modules/unicase/u8-casecmp: New file.
45272
45273         Tests for module 'unicase/u32-casefold'.
45274         * modules/unicase/u32-casefold-tests: New file.
45275         * tests/unicase/test-u32-casefold.c: New file.
45276
45277         Tests for module 'unicase/u16-casefold'.
45278         * modules/unicase/u16-casefold-tests: New file.
45279         * tests/unicase/test-u16-casefold.c: New file.
45280
45281         Tests for module 'unicase/u8-casefold'.
45282         * modules/unicase/u8-casefold-tests: New file.
45283         * tests/unicase/test-u8-casefold.c: New file.
45284
45285         New module 'unicase/u32-casefold'.
45286         * lib/unicase/u32-casefold.c: New file.
45287         * modules/unicase/u32-casefold: New file.
45288
45289         New module 'unicase/u16-casefold'.
45290         * lib/unicase/u16-casefold.c: New file.
45291         * modules/unicase/u16-casefold: New file.
45292
45293         New module 'unicase/u8-casefold'.
45294         * lib/unicase/u8-casefold.c: New file.
45295         * lib/unicase/u-casefold.h: New file.
45296         * modules/unicase/u8-casefold: New file.
45297
45298         New module 'unicase/tocasefold'.
45299         * lib/unicase/casefold.h: New file.
45300         * lib/unicase/tocasefold.c: New file.
45301         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
45302         * modules/unicase/tocasefold: New file.
45303
45304         Tests for module 'unicase/u32-totitle'.
45305         * modules/unicase/u32-totitle-tests: New file.
45306         * tests/unicase/test-u32-totitle.c: New file.
45307
45308         Tests for module 'unicase/u16-totitle'.
45309         * modules/unicase/u16-totitle-tests: New file.
45310         * tests/unicase/test-u16-totitle.c: New file.
45311
45312         Tests for module 'unicase/u8-totitle'.
45313         * modules/unicase/u8-totitle-tests: New file.
45314         * tests/unicase/test-u8-totitle.c: New file.
45315
45316         New module 'unicase/u32-totitle'.
45317         * lib/unicase/u32-totitle.c: New file.
45318         * modules/unicase/u32-totitle: New file.
45319
45320         New module 'unicase/u16-totitle'.
45321         * lib/unicase/u16-totitle.c: New file.
45322         * modules/unicase/u16-totitle: New file.
45323
45324         New module 'unicase/u8-totitle'.
45325         * lib/unicase/u8-totitle.c: New file.
45326         * lib/unicase/u-totitle.h: New file.
45327         * modules/unicase/u8-totitle: New file.
45328
45329         Tests for module 'unicase/u32-tolower'.
45330         * modules/unicase/u32-tolower-tests: New file.
45331         * tests/unicase/test-u32-tolower.c: New file.
45332
45333         Tests for module 'unicase/u16-tolower'.
45334         * modules/unicase/u16-tolower-tests: New file.
45335         * tests/unicase/test-u16-tolower.c: New file.
45336
45337         Tests for module 'unicase/u8-tolower'.
45338         * modules/unicase/u8-tolower-tests: New file.
45339         * tests/unicase/test-u8-tolower.c: New file.
45340
45341         New module 'unicase/u32-tolower'.
45342         * lib/unicase/u32-tolower.c: New file.
45343         * modules/unicase/u32-tolower: New file.
45344
45345         New module 'unicase/u16-tolower'.
45346         * lib/unicase/u16-tolower.c: New file.
45347         * modules/unicase/u16-tolower: New file.
45348
45349         New module 'unicase/u8-tolower'.
45350         * lib/unicase/u8-tolower.c: New file.
45351         * modules/unicase/u8-tolower: New file.
45352
45353         Tests for module 'unicase/u32-toupper'.
45354         * modules/unicase/u32-toupper-tests: New file.
45355         * tests/unicase/test-u32-toupper.c: New file.
45356
45357         Tests for module 'unicase/u16-toupper'.
45358         * modules/unicase/u16-toupper-tests: New file.
45359         * tests/unicase/test-u16-toupper.c: New file.
45360
45361         Tests for module 'unicase/u8-toupper'.
45362         * modules/unicase/u8-toupper-tests: New file.
45363         * tests/unicase/test-u8-toupper.c: New file.
45364
45365         New module 'unicase/u32-toupper'.
45366         * lib/unicase/u32-toupper.c: New file.
45367         * modules/unicase/u32-toupper: New file.
45368
45369         New module 'unicase/u16-toupper'.
45370         * lib/unicase/u16-toupper.c: New file.
45371         * modules/unicase/u16-toupper: New file.
45372
45373         New module 'unicase/u8-toupper'.
45374         * lib/unicase/u8-toupper.c: New file.
45375         * modules/unicase/u8-toupper: New file.
45376
45377         New module 'unicase/u32-casemap'.
45378         * lib/unicase/u32-casemap.c: New file.
45379         * modules/unicase/u32-casemap: New file.
45380
45381         New module 'unicase/u16-casemap'.
45382         * lib/unicase/u16-casemap.c: New file.
45383         * modules/unicase/u16-casemap: New file.
45384
45385         New module 'unicase/u8-casemap'.
45386         * lib/unicase/unicasemap.h: New file.
45387         * lib/unicase/u8-casemap.c: New file.
45388         * lib/unicase/u-casemap.h: New file.
45389         * modules/unicase/u8-casemap: New file.
45390
45391         New module 'unicase/special-casing'.
45392         * lib/unicase/special-casing.h: New file.
45393         * lib/unicase/special-casing.c: New file.
45394         * lib/unicase/special-casing-table.gperf: New file, generated by
45395         gen-uni-tables.c.
45396         * modules/unicase/special-casing: New file.
45397
45398         Tests for module 'unicase/locale-language'.
45399         * modules/unicase/locale-language-tests: New file.
45400         * tests/unicase/test-locale-language.sh: New file.
45401         * tests/unicase/test-locale-language.c: New file.
45402
45403         New module 'unicase/locale-language'.
45404         * lib/unicase/locale-language.c: New file.
45405         * lib/unicase/locale-languages.gperf: New file.
45406         * modules/unicase/locale-language: New file.
45407
45408         Generate more tables for case conversion and case folding.
45409         * lib/gen-uni-tables.c (SCC_*): New enum items.
45410         (struct special_casing_rule): New type.
45411         (casing_rules, num_casing_rules, allocated_casing_rules): New
45412         variables.
45413         (add_casing_rule, fill_casing_rules): New functions.
45414         (struct casefold_rule): New type.
45415         (casefolding_rules, num_casefolding_rules,
45416         allocated_casefolding_rules): New variables.
45417         (fill_casefolding_rules): New function.
45418         (unicode_casefold): New variable.
45419         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
45420         sort_casing_rules, output_casing_rules): New functions.
45421         (main): Accept to more arguments: SpecialCasing.txt and
45422         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
45423         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
45424         Output mapping for casefolding.
45425
45426         * lib/unicase.h: Include stdbool.h, uninorm.h.
45427         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
45428         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
45429         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
45430         arguments.
45431         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
45432         resultp arguments.
45433         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
45434         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
45435         resultp arguments.
45436         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
45437         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
45438         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
45439         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
45440         declarations.
45441         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
45442
45443 2009-03-08  Bruno Haible  <bruno@clisp.org>
45444
45445         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
45446         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
45447         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
45448         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
45449
45450 2009-03-07  Bruno Haible  <bruno@clisp.org>
45451
45452         Adjust u*_normcmp, u*_normcoll API.
45453         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
45454         u16_normcoll, u32_normcoll): Change failure conventions.
45455         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
45456         errno and return -1.
45457         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
45458
45459 2009-03-07  Bruno Haible  <bruno@clisp.org>
45460
45461         Tests for module 'uninorm/u32-normcoll'.
45462         * modules/uninorm/u32-normcoll-tests: New file.
45463         * tests/uninorm/test-u32-normcoll.c: New file.
45464
45465         Tests for module 'uninorm/u16-normcoll'.
45466         * modules/uninorm/u16-normcoll-tests: New file.
45467         * tests/uninorm/test-u16-normcoll.c: New file.
45468
45469         Tests for module 'uninorm/u8-normcoll'.
45470         * modules/uninorm/u8-normcoll-tests: New file.
45471         * tests/uninorm/test-u8-normcoll.c: New file.
45472
45473 2009-03-07  Bruno Haible  <bruno@clisp.org>
45474
45475         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
45476         tests/uninorm/test-u32-normcmp.c.
45477         * tests/uninorm/test-u32-normcmp.c: Include it.
45478         (test_nonascii): New function, extracted from main. Add some more
45479         tests.
45480         (main): Invoke test_ascii and test_nonascii.
45481         * modules/uninorm/u32-normcmp-tests (Files): Add
45482         tests/uninorm/test-u32-normcmp.h.
45483         (Depends-on): Remove uninorm/u32-normcmp.
45484
45485         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
45486         tests/uninorm/test-u16-normcmp.c.
45487         * tests/uninorm/test-u16-normcmp.c: Include it.
45488         (test_nonascii): New function, extracted from main. Add some more
45489         tests.
45490         (main): Invoke test_ascii and test_nonascii.
45491         * modules/uninorm/u16-normcmp-tests (Files): Add
45492         tests/uninorm/test-u16-normcmp.h.
45493         (Depends-on): Remove uninorm/u16-normcmp.
45494
45495         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
45496         tests/uninorm/test-u8-normcmp.c.
45497         * tests/uninorm/test-u8-normcmp.c: Include it.
45498         (test_nonascii): New function, extracted from main. Add some more
45499         tests.
45500         (main): Invoke test_ascii and test_nonascii.
45501         * modules/uninorm/u8-normcmp-tests (Files): Add
45502         tests/uninorm/test-u8-normcmp.h.
45503         (Depends-on): Remove uninorm/u8-normcmp.
45504
45505 2009-03-07  Bruno Haible  <bruno@clisp.org>
45506
45507         New module 'uninorm/u32-normcoll'.
45508         * lib/uninorm/u32-normcoll.c: New file.
45509         * modules/uninorm/u32-normcoll: New file.
45510
45511         New module 'uninorm/u16-normcoll'.
45512         * lib/uninorm/u16-normcoll.c: New file.
45513         * modules/uninorm/u16-normcoll: New file.
45514
45515         New module 'uninorm/u8-normcoll'.
45516         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
45517         declarations.
45518         * lib/uninorm/u8-normcoll.c: New file.
45519         * lib/uninorm/u-normcoll.h: New file.
45520         * modules/uninorm/u8-normcoll: New file.
45521
45522         New module 'uninorm/u32-normxfrm'.
45523         * lib/uninorm/u32-normxfrm.c: New file.
45524         * modules/uninorm/u32-normxfrm: New file.
45525
45526         New module 'uninorm/u16-normxfrm'.
45527         * lib/uninorm/u16-normxfrm.c: New file.
45528         * modules/uninorm/u16-normxfrm: New file.
45529
45530         New module 'uninorm/u8-normxfrm'.
45531         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
45532         declarations.
45533         * lib/uninorm/u8-normxfrm.c: New file.
45534         * lib/uninorm/u-normxfrm.h: New file.
45535         * modules/uninorm/u8-normxfrm: New file.
45536
45537 2009-03-07  Bruno Haible  <bruno@clisp.org>
45538
45539         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
45540         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
45541         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
45542
45543 2009-03-07  Bruno Haible  <bruno@clisp.org>
45544
45545         New module 'memxfrm'.
45546         * lib/memxfrm.h: New file.
45547         * lib/memxfrm.c: New file.
45548         * modules/memxfrm: New file.
45549
45550 2009-03-07  Bruno Haible  <bruno@clisp.org>
45551
45552         New module 'memcmp2'.
45553         * lib/memcmp2.h: New file.
45554         * lib/memcmp2.c: New file.
45555         * modules/memcmp2: New file.
45556
45557 2009-03-07  Bruno Haible  <bruno@clisp.org>
45558
45559         Tests for module 'uninorm/decomposing-form'.
45560         * modules/uninorm/decomposing-form-tests: New file.
45561         * tests/uninorm/test-decomposing-form.c: New file.
45562
45563         New module 'uninorm/decomposing-form'.
45564         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
45565         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
45566         Add 'decomposing_variant' field.
45567         * lib/uninorm/decomposing-form.c: New file.
45568         * lib/uninorm/nfc.c (uninorm_nfc): Update.
45569         * lib/uninorm/nfd.c (uninorm_nfd): Update.
45570         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
45571         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
45572         * modules/uninorm/decomposing-form: New file.
45573         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
45574         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
45575
45576 2009-03-07  Bruno Haible  <bruno@clisp.org>
45577
45578         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
45579         strings.
45580
45581 2009-03-06  Bruno Haible  <bruno@clisp.org>
45582
45583         Tests for module 'uninorm/u32-normcmp'.
45584         * tests/uninorm/test-u32-normcmp.c: New file.
45585         * modules/uninorm/u32-normcmp-tests: New file.
45586
45587         Tests for module 'uninorm/u16-normcmp'.
45588         * tests/uninorm/test-u16-normcmp.c: New file.
45589         * modules/uninorm/u16-normcmp-tests: New file.
45590
45591         Tests for module 'uninorm/u8-normcmp'.
45592         * tests/uninorm/test-u8-normcmp.c: New file.
45593         * modules/uninorm/u8-normcmp-tests: New file.
45594
45595         New module 'uninorm/u32-normcmp'.
45596         * lib/uninorm/u32-normcmp.c: New file.
45597         * modules/uninorm/u32-normcmp: New file.
45598
45599         New module 'uninorm/u16-normcmp'.
45600         * lib/uninorm/u16-normcmp.c: New file.
45601         * modules/uninorm/u16-normcmp: New file.
45602
45603         New module 'uninorm/u8-normcmp'.
45604         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
45605         declarations.
45606         * lib/uninorm/u8-normcmp.c: New file.
45607         * lib/uninorm/u-normcmp.h: New file.
45608         * modules/uninorm/u8-normcmp: New file.
45609
45610 2009-03-06  Bruno Haible  <bruno@clisp.org>
45611
45612         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
45613         Reported by Eric Blake.
45614
45615 2009-03-06  Eric Blake  <ebb9@byu.net>
45616             Bruno Haible  <bruno@clisp.org>
45617
45618         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
45619         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
45620         condition.
45621         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
45622         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
45623         condition.
45624         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
45625
45626 2009-03-06  Eric Blake  <ebb9@byu.net>
45627
45628         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
45629         to avoid compiler warnings.
45630         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
45631
45632 2009-03-05  Bruno Haible  <bruno@clisp.org>
45633
45634         * tests/test-ftell.c (main): Disable test beyond end of file on
45635         FreeMiNT.
45636         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
45637
45638 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
45639
45640         * lib/filevercmp.c: Move hidden files up in ordering.
45641         * tests/test-filevercmp.c: Add tests for hidden files.
45642
45643 2009-03-04  Bruno Haible  <bruno@clisp.org>
45644
45645         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
45646         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
45647         AM_CFLAGS.
45648         Reported by Simon Josefsson.
45649
45650 2009-03-03  Bruno Haible  <bruno@clisp.org>
45651
45652         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
45653         Reported by Simon Josefsson.
45654
45655         * doc/ld-version-script.texi: Update node reference.
45656
45657 2009-03-03  Bruno Haible  <bruno@clisp.org>
45658
45659         * modules/visibility (License): Change to 'unlimited'.
45660         Suggested by Simon Josefsson.
45661
45662 2009-03-03  Jim Meyering  <meyering@redhat.com>
45663
45664         unlinkdir: cannot_unlink_dir may modify process state
45665         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
45666         it's neither thread-safe nor appropriate for use in a library.
45667
45668 2009-03-03  Eric Blake  <ebb9@byu.net>
45669
45670         test-closein: silence test under Darwin
45671         * tests/test-closein.sh: Ignore stderr from cat, since we don't
45672         care if it dies from EPIPE or EBADF.
45673
45674 2009-03-03  Bruno Haible  <bruno@clisp.org>
45675
45676         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
45677         earlier.
45678         * doc/visibility.texi: Fix @node and @section.
45679
45680 2009-03-03  Simon Josefsson  <simon@josefsson.org>
45681
45682         * doc/gnulib.texi: Link to sections for ld version script and
45683         visibility.
45684         * doc/visibility.texi: Add @node and @section.
45685         * modules/ld-version-script: New module.
45686         * m4/ld-version-script.m4: New file.
45687         * doc/ld-version-script.texi: New file.
45688
45689 2009-03-02  David Lutterkort  <lutter@redhat.com>
45690
45691         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
45692         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
45693
45694 2009-03-02  Bruno Haible  <bruno@clisp.org>
45695
45696         * doc/visibility.texi: Mention libtool's -export-symbols option.
45697
45698 2009-03-02  Jim Meyering  <meyering@redhat.com>
45699
45700         announce-gen: new option: --no-print-checksums
45701         * build-aux/announce-gen (usage): Describe it.
45702         (print_checksums): Print a newline here, not in the [*] footnote.
45703         (main): Honor it.
45704
45705 2009-03-01  Bruno Haible  <bruno@clisp.org>
45706
45707         Use socklen_t in the native Windows replacements prototypes.
45708         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
45709         instead of 'int'.
45710         * lib/getsockopt.c (rpl_getsockopt): Likewise.
45711         * lib/setsockopt.c (rpl_setsockopt): Likewise.
45712         * modules/getsockopt (Depends-on): Add socklen.
45713         * modules/setsockopt (Depends-on): Add socklen.
45714
45715 2009-03-01  Bruno Haible  <bruno@clisp.org>
45716
45717         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
45718         least 4.2.
45719
45720 2009-03-01  Eric Blake  <ebb9@byu.net>
45721             Bruno Haible  <bruno@clisp.org>
45722
45723         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
45724         error messages.
45725         * lib/wait-process.c (wait_subprocess): Omit error message about
45726         deadly signal sent to the child of termsigp != NULL.
45727
45728 2009-03-01  Eric Blake  <ebb9@byu.net>
45729
45730         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
45731
45732 2009-03-01  Bruno Haible  <bruno@clisp.org>
45733
45734         Avoid a gcc warning.
45735         * tests/test-sched.c (b): Make global.
45736         Reported by Eric Blake.
45737
45738 2009-01-19  Martin Lambers  <marlam@marlam.de>
45739
45740         Provide POSIX semantics for socket timeout options on W32.
45741         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
45742         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
45743         * modules/setsockopt: Depend on sys_time module for struct timeval.
45744         * modules/getsockopt: Depend on sys_time module for struct timeval.
45745
45746 2009-03-01  Simon Josefsson  <simon@josefsson.org>
45747
45748         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
45749         __USE_GNU, for consistency with netdb.in.h.
45750         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
45751
45752 2009-03-01  Bruno Haible  <bruno@clisp.org>
45753
45754         More support for FreeMiNT.
45755         * lib/fseeko.c (rpl_fseeko): Complete last commit.
45756         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
45757
45758 2009-03-01  Bruno Haible  <bruno@clisp.org>
45759
45760         More support for FreeMiNT.
45761         * lib/fpurge.c (fpurge): Correct last commit.
45762         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
45763
45764 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45765
45766         Fix unportable awk script in vc-list-files.
45767         * build-aux/vc-list-files: In the replacement awk script, use
45768         substr with a second argument of 1, not zero.
45769         Report by Simon Josefsson.
45770
45771 2009-02-28  Bruno Haible  <bruno@clisp.org>
45772
45773         More support for FreeMiNT.
45774         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
45775         to FreeMiNT today.
45776         * lib/fwriting.c (fwriting): Likewise.
45777         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
45778
45779 2009-02-28  Bruno Haible  <bruno@clisp.org>
45780
45781         * tests/test-freadseek.c (main): Disable test beyond end of file on
45782         FreeMiNT.
45783         * tests/test-ftello.c (main): Likewise.
45784         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
45785
45786 2009-02-28  Bruno Haible  <bruno@clisp.org>
45787
45788         Add tentative support for FreeMiNT.
45789         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
45790         * lib/fpurge.c (fpurge): Likewise.
45791         * lib/freadable.c (freadable): Likewise.
45792         * lib/freading.c (freading): Likewise.
45793         * lib/freadptr.c (freadptr): Likewise.
45794         * lib/freadseek.c (freadptrinc): Likewise.
45795         * lib/fseeko.c (rpl_fseeko): Likewise.
45796         * lib/fseterr.c (fseterr): Likewise.
45797         * lib/fwritable.c (fwritable): Likewise.
45798         * lib/fwriting.c (fwriting): Likewise.
45799         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
45800         Hourihane.
45801         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
45802
45803 2009-02-28  Bruno Haible  <bruno@clisp.org>
45804
45805         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
45806         SIGCHLD.
45807         Reported by Jim Meyering.
45808
45809 2009-02-28  Bruno Haible  <bruno@clisp.org>
45810
45811         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
45812         Mention the results of these tests on various platforms.
45813         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
45814         order.
45815         * doc/posix-functions/printf.texi: Likewise.
45816         * doc/posix-functions/snprintf.texi: Likewise.
45817         * doc/posix-functions/sprintf.texi: Likewise.
45818         * doc/posix-functions/vfprintf.texi: Likewise.
45819         * doc/posix-functions/vprintf.texi: Likewise.
45820         * doc/posix-functions/vsnprintf.texi: Likewise.
45821         * doc/posix-functions/vsprintf.texi: Likewise.
45822         * doc/glibc-functions/obstack_printf.texi: Likewise.
45823         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
45824
45825 2009-02-28  Bruno Haible  <bruno@clisp.org>
45826
45827         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
45828         Reported by Loïc Minier <lool@dooz.org>.
45829
45830 2009-02-27  Bruno Haible  <bruno@clisp.org>
45831
45832         * gnulib-tool (func_import): Make the sed expression used to create the
45833         sed script for updating the .gitignore file POSIX compliant.
45834         Reported by Eric Blake.
45835
45836 2009-02-27  Bruno Haible  <bruno@clisp.org>
45837
45838         * gnulib-tool (sed): Don't alias as "sed --posix".
45839         Reported by Eric Blake.
45840
45841 2009-02-27  Bruno Haible  <bruno@clisp.org>
45842
45843         Avoid test link errors.
45844         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
45845         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
45846         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
45847         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
45848         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
45849
45850 2009-02-27  Bruno Haible  <bruno@clisp.org>
45851
45852         Avoid spurious "(cached)" in configure output.
45853         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
45854         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
45855         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
45856         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
45857         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
45858         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
45859         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
45860         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
45861         Reported by Eric Blake.
45862
45863 2009-02-27  Eric Blake  <ebb9@byu.net>
45864
45865         printf: fix regression in previous patch
45866         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
45867
45868 2009-02-27  Bruno Haible  <bruno@clisp.org>
45869
45870         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
45871         value.
45872         * lib/stdint.in.h: Likewise.
45873         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
45874
45875 2009-02-27  Eric Blake  <ebb9@byu.net>
45876
45877         doc: mention more functions added in cygwin 1.7.0
45878         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
45879         addition.
45880         * doc/posix-functions/open_wmemstream.texi: Likewise.
45881         * doc/posix-functions/wcsnlen.texi: Likewise.
45882         * doc/posix-functions/wcsnrtombs.texi: Likewise.
45883         * doc/posix-functions/wcstod.texi: Likewise.
45884         * doc/posix-functions/wcstof.texi: Likewise.
45885         * doc/posix-functions/wcstoimax.texi: Likewise.
45886         * doc/posix-functions/wcstok.texi: Likewise.
45887         * doc/posix-functions/wcstoumax.texi: Likewise.
45888
45889         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
45890         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
45891         * doc/posix-functions/fprintf.texi: Update.
45892         * doc/posix-functions/printf.texi: Update.
45893         * doc/posix-functions/snprintf.texi: Update.
45894         * doc/posix-functions/sprintf.texi: Update.
45895         * doc/posix-functions/vfprintf.texi: Update.
45896         * doc/posix-functions/vprintf.texi: Update.
45897         * doc/posix-functions/vsnprintf.texi: Update.
45898         * doc/posix-functions/vsprintf.texi: Update.
45899         * doc/glibc-functions/obstack_printf.texi: Update.
45900         * doc/glibc-functions/obstack_vprintf.texi: Update.
45901
45902 2009-02-26  Eric Blake  <ebb9@byu.net>
45903
45904         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
45905         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
45906         compilation bug by using runtime conversion.
45907         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
45908         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
45909         * modules/ceill-tests (Files): Use nan.h.
45910         * modules/floorl-tests (Files): Likewise.
45911         * modules/frexpl-tests (Files): Likewise.
45912         * modules/isnanl-tests (Files): Likewise.
45913         * modules/ldexpl-tests (Files): Likewise.
45914         * modules/roundl-tests (Files): Likewise.
45915         * modules/truncl-tests (Files): Likewise.
45916         * tests/test-ceill.c (main): Use a working NaN.
45917         * tests/test-floorl.c (main): Likewise.
45918         * tests/test-frexpl.c (main): Likewise.
45919         * tests/test-isnan.c (test_long_double): Likewise.
45920         * tests/test-isnanl.h (main): Likewise.
45921         * tests/test-ldexpl.h (main): Likewise.
45922         * tests/test-roundl.h (main): Likewise.
45923         * tests/test-truncl.h (main): Likewise.
45924         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
45925
45926 2009-02-26  Eric Blake  <ebb9@byu.net>
45927             Bruno Haible  <bruno@clisp.org>
45928
45929         Work around a *printf bug with %ls on Solaris.
45930         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
45931         precision is specified, sprintf stops converting the wide string
45932         argument when the number of bytes that have been produced by this
45933         conversion equals or exceeds the precision.
45934         * doc/posix-functions/fprintf.texi: Update.
45935         * doc/posix-functions/printf.texi: Update.
45936         * doc/posix-functions/snprintf.texi: Update.
45937         * doc/posix-functions/sprintf.texi: Update.
45938         * doc/posix-functions/vfprintf.texi: Update.
45939         * doc/posix-functions/vprintf.texi: Update.
45940         * doc/posix-functions/vsnprintf.texi: Update.
45941         * doc/posix-functions/vsprintf.texi: Update.
45942         * doc/glibc-functions/obstack_printf.texi: Update.
45943         * doc/glibc-functions/obstack_vprintf.texi: Update.
45944
45945 2009-02-26  Eric Blake  <ebb9@byu.net>
45946
45947         stdlib: favor compiler check of random.h
45948         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
45949         to avoid an ObjC random.h installed by Swarm.
45950
45951 2009-02-26  Bruno Haible  <bruno@clisp.org>
45952
45953         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
45954         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
45955         Reported by Gary V. Vaughan <gary@gnu.org>.
45956
45957 2009-02-26  Bruno Haible  <bruno@clisp.org>
45958
45959         Fix *printf behaviour regarding the %ls directive.
45960         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
45961         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
45962         NEED_PRINTF_DIRECTIVE_LS.
45963         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
45964         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
45965         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
45966         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
45967         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
45968         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
45969         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
45970         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
45971         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
45972         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
45973         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
45974         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
45975         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
45976         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
45977         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
45978         * doc/posix-functions/fprintf.texi: Update.
45979         * doc/posix-functions/printf.texi: Update.
45980         * doc/posix-functions/snprintf.texi: Update.
45981         * doc/posix-functions/sprintf.texi: Update.
45982         * doc/posix-functions/vfprintf.texi: Update.
45983         * doc/posix-functions/vprintf.texi: Update.
45984         * doc/posix-functions/vsnprintf.texi: Update.
45985         * doc/posix-functions/vsprintf.texi: Update.
45986         * doc/glibc-functions/obstack_printf.texi: Update.
45987         * doc/glibc-functions/obstack_vprintf.texi: Update.
45988         Reported by Eric Blake.
45989
45990 2009-02-25  Bruno Haible  <bruno@clisp.org>
45991
45992         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
45993         with known value.
45994         Reported by Gary V. Vaughan <gary@gnu.org>.
45995
45996 2009-02-25  Bruno Haible  <bruno@clisp.org>
45997
45998         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
45999         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
46000         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
46001         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
46002         Reported by Gary V. Vaughan <gary@gnu.org>.
46003
46004 2009-02-25  Bruno Haible  <bruno@clisp.org>
46005
46006         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
46007         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
46008         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
46009         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
46010         Reported by Gary V. Vaughan <gary@gnu.org>.
46011
46012 2009-02-25  Eric Blake  <ebb9@byu.net>
46013
46014         tests: skip fseek/ftell tests if ungetc is broken
46015         * m4/ungetc.m4: New file.
46016         * modules/fseek-tests: Split test, so ungetc dependency is
46017         separate from rest of test.
46018         * modules/fseeko-tests: Likewise.
46019         * modules/ftell-tests: Likewise.
46020         * modules/ftello-tests: Likewise.
46021         * tests/test-fseek.c (main): Isolate ungetc dependency.
46022         * tests/test-fseeko.c (main): Likewise.
46023         * tests/test-ftell.c (main): Likewise.
46024         * tests/test-ftello.c (main): Likewise.
46025         * tests/test-fseek2.sh: New file.
46026         * tests/test-fseeko2.sh: Likewise.
46027         * tests/test-ftell2.sh: Likewise.
46028         * tests/test-ftello2.sh: Likewise.
46029
46030 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
46031
46032         test-getaddrinfo: fix usage of skip return code 77
46033         * tests/test-gettaddrinfo.c: Return skip code 77 only
46034         for first occurance of skip (4x77 is not 77)
46035
46036 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
46037
46038         strtod: avoid C99 decl-after-statement
46039         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
46040
46041 2009-02-24  Eric Blake  <ebb9@byu.net>
46042
46043         strtod: detect HP-UX 11.31 bug
46044         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
46045         Reported by Gary V. Vaughan.
46046
46047 2009-02-23  Bruno Haible  <bruno@clisp.org>
46048
46049         Fix invalid read past end of memory block.
46050         * lib/vasnprintf.c (DCHAR_SET): Define.
46051         (local_wcslen): Define only when needed.
46052         (local_strnlen, local_wcsnlen): New functions.
46053         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
46054         directives that involve a conversion ourselves.
46055         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
46056         wcsnlen, mbrtowc, wcrtomb.
46057         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
46058         * tests/test-vasprintf-posix.c (test_function): Likewise.
46059         * tests/test-snprintf-posix.h (test_function): Likewise.
46060         * tests/test-sprintf-posix.h (test_function): Likewise.
46061         Reported by Ben Pfaff <blp@cs.stanford.edu>.
46062
46063 2009-02-22  Bruno Haible  <bruno@clisp.org>
46064
46065         Implement new clarified decomposition of Hangul syllables.
46066         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
46067         of type LTV, return only a pairwise decomposition.
46068         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
46069         Likewise.
46070         * tests/uninorm/test-decomposition.c (main): Updated expected result.
46071         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
46072         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
46073
46074 2009-02-22  Bruno Haible  <bruno@clisp.org>
46075
46076         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
46077         zero-length results and shrink excess allocated memory.
46078         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
46079         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
46080         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
46081         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
46082         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
46083         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
46084         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
46085         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
46086         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
46087         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
46088         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
46089         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
46090
46091 2009-02-21  Bruno Haible  <bruno@clisp.org>
46092
46093         * doc/gnulib.texi: Include safe-alloc.texi earlier.
46094         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
46095         spaces after a period. Put a space between a macro name and its
46096         argument list. Trivial rewordings.
46097         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
46098         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
46099         (main): Return 0 explicitly.
46100
46101 2009-02-21  Bruno Haible  <bruno@clisp.org>
46102
46103         Tests for module 'uninorm/filter'.
46104         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
46105         * modules/uninorm/filter-tests: New file.
46106
46107         New module 'uninorm/filter'.
46108         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
46109         uninorm_filter_flush, uninorm_filter_free): New declarations.
46110         * lib/uninorm/uninorm-filter.c: New file.
46111         * modules/uninorm/filter: New file.
46112
46113 2009-02-21  Bruno Haible  <bruno@clisp.org>
46114
46115         Tests for module 'uninorm/nfkc'.
46116         * tests/uninorm/test-nfkc.c: New file.
46117         * tests/uninorm/test-u8-nfkc.c: New file.
46118         * tests/uninorm/test-u16-nfkc.c: New file.
46119         * tests/uninorm/test-u32-nfkc.c: New file.
46120         * tests/uninorm/test-u32-nfkc-big.sh: New file.
46121         * tests/uninorm/test-u32-nfkc-big.c: New file.
46122         * modules/uninorm/nfkc-tests: New file.
46123
46124         New module 'uninorm/nfkc'.
46125         * lib/uninorm/nfkc.c: New file.
46126         * modules/uninorm/nfkc: New file.
46127
46128         Tests for module 'uninorm/nfkd'.
46129         * tests/uninorm/test-nfkd.c: New file.
46130         * tests/uninorm/test-u8-nfkd.c: New file.
46131         * tests/uninorm/test-u16-nfkd.c: New file.
46132         * tests/uninorm/test-u32-nfkd.c: New file.
46133         * tests/uninorm/test-u32-nfkd-big.sh: New file.
46134         * tests/uninorm/test-u32-nfkd-big.c: New file.
46135         * modules/uninorm/nfkd-tests: New file.
46136
46137         New module 'uninorm/nfkd'.
46138         * lib/uninorm/nfkd.c: New file.
46139         * modules/uninorm/nfkd: New file.
46140
46141         Tests for module 'uninorm/nfc'.
46142         * tests/uninorm/test-nfc.c: New file.
46143         * tests/uninorm/test-u8-nfc.c: New file.
46144         * tests/uninorm/test-u16-nfc.c: New file.
46145         * tests/uninorm/test-u32-nfc.c: New file.
46146         * tests/uninorm/test-u32-nfc-big.sh: New file.
46147         * tests/uninorm/test-u32-nfc-big.c: New file.
46148         * modules/uninorm/nfc-tests: New file.
46149
46150         New module 'uninorm/nfc'.
46151         * lib/uninorm/nfc.c: New file.
46152         * modules/uninorm/nfc: New file.
46153
46154         Tests for module 'uninorm/nfd'.
46155         * tests/uninorm/test-nfd.c: New file.
46156         * tests/uninorm/test-u8-nfd.c: New file.
46157         * tests/uninorm/test-u16-nfd.c: New file.
46158         * tests/uninorm/test-u32-nfd.c: New file.
46159         * tests/uninorm/test-u32-nfd-big.sh: New file.
46160         * tests/uninorm/test-u32-nfd-big.c: New file.
46161         * tests/uninorm/test-u32-normalize-big.h: New file.
46162         * tests/uninorm/test-u32-normalize-big.c: New file.
46163         * tests/uninorm/NormalizationTest.txt: New file, created from
46164         Unicode 5.1.0 NormalizationTest.txt.
46165         * modules/uninorm/nfd-tests: New file.
46166
46167         New module 'uninorm/nfd'.
46168         * lib/uninorm/nfd.c: New file.
46169         * modules/uninorm/nfd: New file.
46170
46171         New module 'uninorm/u32-normalize'.
46172         * lib/uninorm/u32-normalize.c: New file.
46173         * modules/uninorm/u32-normalize: New file.
46174
46175         New module 'uninorm/u16-normalize'.
46176         * lib/uninorm/u16-normalize.c: New file.
46177         * modules/uninorm/u16-normalize: New file.
46178
46179         New module 'uninorm/u8-normalize'.
46180         * lib/uninorm/u8-normalize.c: New file.
46181         * lib/uninorm/normalize-internal.h: New file.
46182         * lib/uninorm/u-normalize-internal.h: New file.
46183         * modules/uninorm/u8-normalize: New file.
46184
46185         New module 'uninorm/decompose-internal'.
46186         * lib/uninorm/decompose-internal.c: New file.
46187         * modules/uninorm/decompose-internal: New file.
46188
46189         Tests for module 'uninorm/composition'.
46190         * tests/uninorm/test-composition.c: New file.
46191         * modules/uninorm/composition-tests: New file.
46192
46193         New module 'uninorm/composition'.
46194         * lib/uninorm/composition.c: New file.
46195         * lib/uninorm/composition-table.gperf: New file, generated by
46196         gen-uni-tables.
46197         * modules/uninorm/composition: New file.
46198
46199         Tests for module 'uninorm/compat-decomposition'.
46200         * tests/uninorm/test-compat-decomposition.c: New file.
46201         * modules/uninorm/compat-decomposition-tests: New file.
46202
46203         New module 'uninorm/compat-decomposition'.
46204         * lib/uninorm/decompose-internal.h: New file.
46205         * lib/uninorm/compat-decomposition.c: New file.
46206         * modules/uninorm/compat-decomposition: New file.
46207
46208         Tests for module 'uninorm/canonical-decomposition'.
46209         * tests/uninorm/test-canonical-decomposition.c: New file.
46210         * modules/uninorm/canonical-decomposition-tests: New file.
46211
46212         New module 'uninorm/canonical-decomposition'.
46213         * lib/uninorm/canonical-decomposition.c: New file.
46214         * modules/uninorm/canonical-decomposition: New file.
46215
46216         Tests for module 'uninorm/decomposition'.
46217         * tests/uninorm/test-decomposition.c: New file.
46218         * modules/uninorm/decomposition-tests: New file.
46219
46220         New module 'uninorm/decomposition'.
46221         * lib/uninorm/decomposition.c: New file.
46222         * modules/uninorm/decomposition: New file.
46223
46224         New module 'uninorm/decomposition-table'.
46225         * lib/uninorm/decomposition-table.h: New file.
46226         * lib/uninorm/decomposition-table.c: New file.
46227         * lib/uninorm/decomposition-table1.h: New file, generated by
46228         gen-uni-tables.
46229         * lib/uninorm/decomposition-table2.h: New file, generated by
46230         gen-uni-tables.
46231         * modules/uninorm/decomposition-table: New file.
46232
46233         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
46234         (UC_DECOMP_*): New enumeration items.
46235         (get_decomposition): New function.
46236         (struct decomp_table): New type.
46237         (output_decomposition, output_decomposition_tables): New functions.
46238         (unicode_composition_exclusions): New variable.
46239         (fill_composition_exclusions, debug_output_composition_tables): New
46240         functions.
46241         (main): Accept one more argument. Invoke fill_composition_exclusions.
46242         Output decomposition and composition tables.
46243
46244         New module 'uninorm/base'.
46245         * lib/uninorm.h: New file.
46246         * lib/unictype.h: Update comment.
46247         * modules/uninorm/base: New file.
46248
46249 2009-02-21  David Lutterkort  <lutter@redhat.com>
46250
46251         Tests for module 'safe-alloc'.
46252         * tests/test-safe-alloc.c: New file.
46253         * modules/safe-alloc-tests: New file.
46254
46255         New module 'safe-alloc'.
46256         * lib/safe-alloc.h: New file.
46257         * lib/safe-alloc.c: New file.
46258         * m4/safe-alloc.m4: New file.
46259         * modules/safe-alloc: New file.
46260         * doc/safe-alloc.texi: New file.
46261         * doc/gnulib.texi: Include it.
46262         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
46263         safe-alloc.
46264
46265 2009-02-18  Bruno Haible  <bruno@clisp.org>
46266
46267         Fix link error on non-glibc systems.
46268         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
46269         variable.
46270         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46271
46272 2009-02-18  Jim Meyering  <meyering@redhat.com>
46273
46274         fts: avoid used-uninitialized error due to recent change
46275         * lib/fts.c (fts_read): Guard uses of the new member,
46276         parent->fts_n_dirs_remaining, since it's not relevant for
46277         the parent of a directory specified on the command-line.
46278
46279 2009-02-17  James Youngman  <jay@gnu.org>
46280             Bruno Haible  <bruno@clisp.org>
46281
46282         * m4/include_next.m4: Reformulate comment.
46283
46284 2009-02-16  Jim Meyering  <meyering@redhat.com>
46285
46286         fts: add #if guards so that the fts_lgpl module still builds
46287         * lib/fts.c: Guard just-added hash-table-using parts with
46288         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
46289         Reported by Simon Josefsson.
46290
46291 2009-02-15  Bruno Haible  <bruno@clisp.org>
46292
46293         * modules/array-mergesort-tests: New file.
46294         * tests/test-array-mergesort.c: New file.
46295
46296         New module 'array-mergesort'.
46297         * modules/array-mergesort: New file.
46298         * lib/array-mergesort.h: New file.
46299
46300 2009-02-15  Bruno Haible  <bruno@clisp.org>
46301
46302         Fix 2009-02-07 commit.
46303         * lib/gen-uni-tables.c (output_predicate, output_category,
46304         output_combclass, output_bidi_category, output_decimal_digit,
46305         output_digit, output_numeric, output_mirror, output_scripts,
46306         output_ident_category, output_simple_mapping): Fix format directives.
46307         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
46308
46309 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
46310
46311         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
46312         fixes are available from IBM.
46313
46314 2009-02-13  Jim Meyering  <meyering@redhat.com>
46315
46316         fts: arrange not to stat non-directories in more cases
46317         This makes GNU find (when it doesn't need to stat each file)
46318         *much* more efficient at traversing reiserfs file systems.
46319         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
46320         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
46321         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
46322         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
46323         (leaf_optimization_applies): New function.
46324         (LCO_hash, LCO_compare): New helper functions.
46325         (link_count_optimize_ok): New function.
46326         (fts_stat): Initialize new member (if dir).
46327         (fts_read): Decrement parent's fts_n_dirs_remaining count if
46328         we've just stat'ed a directory.  Skip the stat call when possible.
46329         ---
46330         Note this AFS-related exchange:
46331         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
46332         and note find's pioctl call in find/fstype.c.
46333         But that is necessary only if you want to enable the
46334         optimization for AFS, and for now, I don't.
46335
46336         fts: move a function definition "up" (no semantic change)
46337         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
46338         "up" to precede upcoming use of a related function.
46339
46340 2009-02-11  Jim Meyering  <meyering@redhat.com>
46341
46342         fts: correct internal computation of nlinks (optimization-related)
46343         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
46344         whether the current entry is a directory, so don't test it.
46345
46346 2009-02-10  Bruno Haible  <bruno@clisp.org>
46347
46348         Tests for module 'uniwbrk/ulc-wordbreaks'.
46349         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
46350         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
46351         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
46352
46353         Tests for module 'uniwbrk/u32-wordbreaks'.
46354         * modules/uniwbrk/u32-wordbreaks-tests: New file.
46355         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
46356
46357         Tests for module 'uniwbrk/u16-wordbreaks'.
46358         * modules/uniwbrk/u16-wordbreaks-tests: New file.
46359         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
46360
46361         Tests for module 'uniwbrk/u8-wordbreaks'.
46362         * modules/uniwbrk/u8-wordbreaks-tests: New file.
46363         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
46364
46365 2009-02-10  Bruno Haible  <bruno@clisp.org>
46366
46367         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
46368         property.
46369         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
46370         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
46371         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
46372
46373 2009-02-10  Simon Josefsson  <simon@josefsson.org>
46374
46375         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
46376         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
46377
46378 2009-02-10  Bruno Haible  <bruno@clisp.org>
46379
46380         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
46381         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
46382         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
46383         * lib/unilbrk/u8-possible-linebreaks.c: Update.
46384         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
46385         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
46386
46387 2009-02-09  Simon Josefsson  <simon@josefsson.org>
46388
46389         * lib/sockets.h (gl_fd_to_handle): New function.
46390
46391         * tests/test-sockets.c: Call gl_fd_to_handle.
46392
46393 2009-02-09  Bruno Haible  <bruno@clisp.org>
46394
46395         * doc/havelib.texi: Document the conventions on bi-arch systems.
46396
46397 2009-02-08  Bruno Haible  <bruno@clisp.org>
46398
46399         Document the AC_LIB_LINKFLAGS macro.
46400         * doc/havelib.texi: New file, mostly written on 2005-05-24.
46401         * doc/gnulib.texi: Include it.
46402
46403 2009-02-08  Bruno Haible  <bruno@clisp.org>
46404
46405         Fix wrong order of sections, compared to TOC.
46406         * doc/gnulib.texi: Include relocatable-maint.texi after the
46407         "Regular expressions" node, not before.
46408
46409 2009-02-08  Bruno Haible  <bruno@clisp.org>
46410
46411         Tests for module 'unicase/totitle'.
46412         * modules/unicase/totitle-tests: New file.
46413
46414         Tests for module 'unicase/tolower'.
46415         * modules/unicase/tolower-tests: New file.
46416
46417         Tests for module 'unicase/toupper'.
46418         * modules/unicase/toupper-tests: New file.
46419         * tests/unicase/test-mapping-part1.h: New file.
46420         * tests/unicase/test-mapping-part2.h: New file.
46421
46422         New module 'unicase/totitle'.
46423         * modules/unicase/totitle: New file.
46424         * lib/unicase/totitle.c: New file.
46425
46426         New module 'unicase/tolower'.
46427         * modules/unicase/tolower: New file.
46428         * lib/unicase/tolower.c: New file.
46429
46430         New module 'unicase/toupper'.
46431         * modules/unicase/toupper: New file.
46432         * lib/unicase/toupper.c: New file.
46433         * lib/unicase/simple-mapping.h: New file.
46434
46435         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
46436         (mapping_table): New structure.
46437         (output_simple_mapping): New function.
46438         (main): Invoke output_simple_mapping_test and output_simple_mapping.
46439         * modules/gen-uni-tables (Description): Update.
46440         * lib/unicase/toupper.h: New file, automatically generated by
46441         gen-uni-tables.
46442         * lib/unicase/tolower.h: New file, automatically generated by
46443         gen-uni-tables.
46444         * lib/unicase/totitle.h: New file, automatically generated by
46445         gen-uni-tables.
46446         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
46447         gen-uni-tables.
46448         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
46449         gen-uni-tables.
46450         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
46451         gen-uni-tables.
46452
46453         New module 'unicase/base'.
46454         * modules/unicase/base: New file.
46455         * lib/unicase.h: New file.
46456
46457 2009-02-08  Bruno Haible  <bruno@clisp.org>
46458
46459         New module 'uniwbrk/ulc-wordbreaks'.
46460         * modules/uniwbrk/ulc-wordbreaks: New file.
46461         * lib/uniwbrk/ulc-wordbreaks.c: New file.
46462
46463         New module 'uniwbrk/u32-wordbreaks'.
46464         * modules/uniwbrk/u32-wordbreaks: New file.
46465         * lib/uniwbrk/u32-wordbreaks.c: New file.
46466
46467         New module 'uniwbrk/u16-wordbreaks'.
46468         * modules/uniwbrk/u16-wordbreaks: New file.
46469         * lib/uniwbrk/u16-wordbreaks.c: New file.
46470
46471         New module 'uniwbrk/u8-wordbreaks'.
46472         * modules/uniwbrk/u8-wordbreaks: New file.
46473         * lib/uniwbrk/u8-wordbreaks.c: New file.
46474         * lib/uniwbrk/u-wordbreaks.h: New file.
46475
46476         New module 'uniwbrk/table'.
46477         * modules/uniwbrk/table: New file.
46478         * lib/uniwbrk/wbrktable.h: New file.
46479         * lib/uniwbrk/wbrktable.c: New file.
46480
46481         New module 'uniwbrk/wordbreak-property'.
46482         * modules/uniwbrk/wordbreak-property: New file.
46483         * lib/uniwbrk/wordbreak-property.c: New file.
46484
46485         * lib/gen-uni-tables.c (WBP_*): New enum items.
46486         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
46487         (unicode_org_wbp): New variable.
46488         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
46489         New functions.
46490         (wbp_table): New structure.
46491         (output_wbp, output_wbrk_tables): New functions.
46492         (main): Accept additional argument. Invoke fill_org_wbp,
46493         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
46494         output_wbrk_tables.
46495         * modules/gen-uni-tables (Description): Update.
46496         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
46497         gen-uni-tables.
46498
46499         New module 'uniwbrk/base'.
46500         * modules/uniwbrk/base: New file.
46501         * lib/uniwbrk.h: New file.
46502
46503 2009-02-08  Bruno Haible  <bruno@clisp.org>
46504
46505         Update to Unicode 5.1.0.
46506         * lib/gen-uni-tables.c (is_property_alphabetic): Include
46507         U+2185..U+2188.
46508         (is_property_default_ignorable_code_point): Don't include characters
46509         of category Cc or Cs and not-a-characters.
46510         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
46511         U+0D79, U+109E, U+109F, U+A60C.
46512         * lib/unictype/bidi_of.h: Regenerated.
46513         * lib/unictype/blocks.h: Regenerated.
46514         * lib/unictype/categ_C.h: Regenerated.
46515         * lib/unictype/categ_Cf.h: Regenerated.
46516         * lib/unictype/categ_Cn.h: Regenerated.
46517         * lib/unictype/categ_L.h: Regenerated.
46518         * lib/unictype/categ_Ll.h: Regenerated.
46519         * lib/unictype/categ_Lm.h: Regenerated.
46520         * lib/unictype/categ_Lo.h: Regenerated.
46521         * lib/unictype/categ_Lu.h: Regenerated.
46522         * lib/unictype/categ_M.h: Regenerated.
46523         * lib/unictype/categ_Mc.h: Regenerated.
46524         * lib/unictype/categ_Me.h: Regenerated.
46525         * lib/unictype/categ_Mn.h: Regenerated.
46526         * lib/unictype/categ_N.h: Regenerated.
46527         * lib/unictype/categ_Nd.h: Regenerated.
46528         * lib/unictype/categ_Nl.h: Regenerated.
46529         * lib/unictype/categ_No.h: Regenerated.
46530         * lib/unictype/categ_P.h: Regenerated.
46531         * lib/unictype/categ_Pd.h: Regenerated.
46532         * lib/unictype/categ_Pe.h: Regenerated.
46533         * lib/unictype/categ_Pf.h: Regenerated.
46534         * lib/unictype/categ_Pi.h: Regenerated.
46535         * lib/unictype/categ_Po.h: Regenerated.
46536         * lib/unictype/categ_Ps.h: Regenerated.
46537         * lib/unictype/categ_S.h: Regenerated.
46538         * lib/unictype/categ_Sk.h: Regenerated.
46539         * lib/unictype/categ_Sm.h: Regenerated.
46540         * lib/unictype/categ_So.h: Regenerated.
46541         * lib/unictype/categ_of.h: Regenerated.
46542         * lib/unictype/combining.h: Regenerated.
46543         * lib/unictype/ctype_alnum.h: Regenerated.
46544         * lib/unictype/ctype_alpha.h: Regenerated.
46545         * lib/unictype/ctype_graph.h: Regenerated.
46546         * lib/unictype/ctype_lower.h: Regenerated.
46547         * lib/unictype/ctype_print.h: Regenerated.
46548         * lib/unictype/ctype_punct.h: Regenerated.
46549         * lib/unictype/ctype_upper.h: Regenerated.
46550         * lib/unictype/decdigit.h: Regenerated.
46551         * lib/unictype/digit.h: Regenerated.
46552         * lib/unictype/mirror.h: Regenerated.
46553         * lib/unictype/numeric.h: Regenerated.
46554         * lib/unictype/pr_alphabetic.h: Regenerated.
46555         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
46556         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
46557         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
46558         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
46559         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
46560         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
46561         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
46562         * lib/unictype/pr_combining.h: Regenerated.
46563         * lib/unictype/pr_dash.h: Regenerated.
46564         * lib/unictype/pr_decimal_digit.h: Regenerated.
46565         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
46566         * lib/unictype/pr_deprecated.h: Regenerated.
46567         * lib/unictype/pr_diacritic.h: Regenerated.
46568         * lib/unictype/pr_extender.h: Regenerated.
46569         * lib/unictype/pr_format_control.h: Regenerated.
46570         * lib/unictype/pr_grapheme_base.h: Regenerated.
46571         * lib/unictype/pr_grapheme_extend.h: Regenerated.
46572         * lib/unictype/pr_grapheme_link.h: Regenerated.
46573         * lib/unictype/pr_id_continue.h: Regenerated.
46574         * lib/unictype/pr_id_start.h: Regenerated.
46575         * lib/unictype/pr_ideographic.h: Regenerated.
46576         * lib/unictype/pr_ignorable_control.h: Regenerated.
46577         * lib/unictype/pr_lowercase.h: Regenerated.
46578         * lib/unictype/pr_math.h: Regenerated.
46579         * lib/unictype/pr_numeric.h: Regenerated.
46580         * lib/unictype/pr_other_alphabetic.h: Regenerated.
46581         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
46582         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
46583         * lib/unictype/pr_other_id_continue.h: Regenerated.
46584         * lib/unictype/pr_other_lowercase.h: Regenerated.
46585         * lib/unictype/pr_other_math.h: Regenerated.
46586         * lib/unictype/pr_punctuation.h: Regenerated.
46587         * lib/unictype/pr_sentence_terminal.h: Regenerated.
46588         * lib/unictype/pr_soft_dotted.h: Regenerated.
46589         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
46590         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
46591         * lib/unictype/pr_unified_ideograph.h: Regenerated.
46592         * lib/unictype/pr_uppercase.h: Regenerated.
46593         * lib/unictype/pr_xid_continue.h: Regenerated.
46594         * lib/unictype/pr_xid_start.h: Regenerated.
46595         * lib/unictype/pr_zero_width.h: Regenerated.
46596         * lib/unictype/scripts.h: Regenerated.
46597         * lib/unictype/scripts_byname.gperf: Regenerated.
46598         * lib/unictype/sy_java_ident.h: Regenerated.
46599         * lib/unilbrk/lbrkprop1.h: Regenerated.
46600         * lib/unilbrk/lbrkprop2.h: Regenerated.
46601         * tests/unictype/test-categ_C.c: Regenerated.
46602         * tests/unictype/test-categ_Cf.c: Regenerated.
46603         * tests/unictype/test-categ_Cn.c: Regenerated.
46604         * tests/unictype/test-categ_L.c: Regenerated.
46605         * tests/unictype/test-categ_Ll.c: Regenerated.
46606         * tests/unictype/test-categ_Lm.c: Regenerated.
46607         * tests/unictype/test-categ_Lo.c: Regenerated.
46608         * tests/unictype/test-categ_Lu.c: Regenerated.
46609         * tests/unictype/test-categ_M.c: Regenerated.
46610         * tests/unictype/test-categ_Mc.c: Regenerated.
46611         * tests/unictype/test-categ_Me.c: Regenerated.
46612         * tests/unictype/test-categ_Mn.c: Regenerated.
46613         * tests/unictype/test-categ_N.c: Regenerated.
46614         * tests/unictype/test-categ_Nd.c: Regenerated.
46615         * tests/unictype/test-categ_Nl.c: Regenerated.
46616         * tests/unictype/test-categ_No.c: Regenerated.
46617         * tests/unictype/test-categ_P.c: Regenerated.
46618         * tests/unictype/test-categ_Pd.c: Regenerated.
46619         * tests/unictype/test-categ_Pe.c: Regenerated.
46620         * tests/unictype/test-categ_Pf.c: Regenerated.
46621         * tests/unictype/test-categ_Pi.c: Regenerated.
46622         * tests/unictype/test-categ_Po.c: Regenerated.
46623         * tests/unictype/test-categ_Ps.c: Regenerated.
46624         * tests/unictype/test-categ_S.c: Regenerated.
46625         * tests/unictype/test-categ_Sk.c: Regenerated.
46626         * tests/unictype/test-categ_Sm.c: Regenerated.
46627         * tests/unictype/test-categ_So.c: Regenerated.
46628         * tests/unictype/test-ctype_alnum.c: Regenerated.
46629         * tests/unictype/test-ctype_alpha.c: Regenerated.
46630         * tests/unictype/test-ctype_graph.c: Regenerated.
46631         * tests/unictype/test-ctype_lower.c: Regenerated.
46632         * tests/unictype/test-ctype_print.c: Regenerated.
46633         * tests/unictype/test-ctype_punct.c: Regenerated.
46634         * tests/unictype/test-ctype_upper.c: Regenerated.
46635         * tests/unictype/test-decdigit.h: Regenerated.
46636         * tests/unictype/test-digit.h: Regenerated.
46637         * tests/unictype/test-numeric.h: Regenerated.
46638         * tests/unictype/test-pr_alphabetic.c: Regenerated.
46639         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
46640         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
46641         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
46642         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
46643         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
46644         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
46645         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
46646         * tests/unictype/test-pr_combining.c: Regenerated.
46647         * tests/unictype/test-pr_dash.c: Regenerated.
46648         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
46649         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
46650         * tests/unictype/test-pr_deprecated.c: Regenerated.
46651         * tests/unictype/test-pr_diacritic.c: Regenerated.
46652         * tests/unictype/test-pr_extender.c: Regenerated.
46653         * tests/unictype/test-pr_format_control.c: Regenerated.
46654         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
46655         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
46656         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
46657         * tests/unictype/test-pr_id_continue.c: Regenerated.
46658         * tests/unictype/test-pr_id_start.c: Regenerated.
46659         * tests/unictype/test-pr_ideographic.c: Regenerated.
46660         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
46661         * tests/unictype/test-pr_lowercase.c: Regenerated.
46662         * tests/unictype/test-pr_math.c: Regenerated.
46663         * tests/unictype/test-pr_numeric.c: Regenerated.
46664         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
46665         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
46666         Regenerated.
46667         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
46668         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
46669         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
46670         * tests/unictype/test-pr_other_math.c: Regenerated.
46671         * tests/unictype/test-pr_punctuation.c: Regenerated.
46672         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
46673         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
46674         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
46675         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
46676         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
46677         * tests/unictype/test-pr_uppercase.c: Regenerated.
46678         * tests/unictype/test-pr_xid_continue.c: Regenerated.
46679         * tests/unictype/test-pr_xid_start.c: Regenerated.
46680         * tests/unictype/test-pr_zero_width.c: Regenerated.
46681
46682         Update to Unicode 5.1.0.
46683         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
46684         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
46685         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
46686         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
46687         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
46688         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
46689         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
46690         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
46691         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
46692         (nonspacing_table_ind): Update.
46693         * tests/uniwidth/test-uc_width2.sh: Update expected result.
46694
46695         Update to Unicode 5.1.0.
46696         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
46697         code transform.
46698         * lib/uniname/uniname.c (unicode_character_name,
46699         unicode_name_character): Add the range 0x1Fxxx to the code transform.
46700         * lib/uniname/uninames.h: Regenerated.
46701         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
46702
46703 2009-02-07  Bruno Haible  <bruno@clisp.org>
46704
46705         Merge gen-ctype and gen-lbrk into a single program.
46706         * lib/gen-uni-tables.c: New file, incorporating
46707         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
46708         Add directory prefixes to the names of the generated files.
46709         * lib/unictype/gen-ctype.c: Remove file.
46710         * lib/unilbrk/gen-lbrk.c: Remove file.
46711         * modules/gen-uni-tables: New file.
46712         * modules/unictype/gen-ctype: Remove file.
46713         * modules/unilbrk/gen-lbrk: Remove file.
46714
46715 2009-02-07  Bruno Haible  <bruno@clisp.org>
46716
46717         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
46718
46719         New module 'unistr/u32-strcoll'.
46720         * modules/unistr/u32-strcoll: New file.
46721         * lib/unistr/u32-strcoll.c: New file.
46722
46723         New module 'unistr/u16-strcoll'.
46724         * modules/unistr/u16-strcoll: New file.
46725         * lib/unistr/u16-strcoll.c: New file.
46726
46727         New module 'unistr/u8-strcoll'.
46728         * modules/unistr/u8-strcoll: New file.
46729         * lib/unistr/u8-strcoll.c: New file.
46730         * lib/unistr/u-strcoll.h: New file.
46731
46732 2009-02-07  Bruno Haible  <bruno@clisp.org>
46733
46734         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
46735         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
46736         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
46737         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
46738         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
46739         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
46740
46741 2009-02-07  Bruno Haible  <bruno@clisp.org>
46742
46743         Make 64-bit clean.
46744         * lib/unictype/gen-ctype.c (output_predicate, output_category,
46745         output_combclass, output_bidi_category, output_decimal_digit,
46746         output_digit, output_numeric, output_mirror, output_scripts,
46747         output_ident_category): Use proper width specifier in format strings.
46748
46749 2009-02-07  Bruno Haible  <bruno@clisp.org>
46750
46751         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
46752         failure behaviour.
46753
46754 2009-02-07  Jim Meyering  <meyering@redhat.com>
46755
46756         regex: avoid compilation failure with upcoming gcc-4.4
46757         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
46758         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
46759         "... error: integer overflow in preprocessor expression".
46760
46761 2009-02-05  Ben Pfaff  <blp@gnu.org>
46762
46763         Fix link errors on Windows when close module is used.
46764         * modules/close: Add $(LIB_CLOSE) to Link section.
46765         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
46766         $(LIB_CLOSE) on Windows.
46767
46768 2009-02-05  Jim Meyering  <meyering@redhat.com>
46769
46770         still avoid unused-parameter warnings, but do it cleanly
46771         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
46772         (get_fs_usage): Cast to void instead.
46773         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
46774         (dev_from_mount_options, read_file_system_list): Cast to void.
46775         Prompted by Bruno Haible.
46776
46777 2009-02-04  Jim Meyering  <meyering@redhat.com>
46778
46779         fsusage.c: correct copyright year
46780         * lib/fsusage.c: Reflect year in which the change is pushed into
46781
46782         avoid misc. warnings
46783         * lib/fsusage.c (UNUSED_PARAM): Define.
46784         (get_fs_usage): Mark parameter "disk" as unused.
46785         * lib/getugroups.c (getgrent): Use "void" in prototype.
46786         * lib/mountlist.c: Mark unused parameters.
46787         (read_file_system_list): Declare a local with "const".
46788         * lib/nanosleep.c (getnow): Declare static.
46789         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
46790
46791         dirfd: set errno upon failure
46792         * lib/dirfd.c: Include <errno.h>.
46793         Set errno to ENOTSUP when returning -1.
46794         * modules/dirfd (Depends-on): Add errno.
46795         Suggested by John Kodis <kodis@comcast.net>.
46796
46797 2009-02-01  Bruno Haible  <bruno@clisp.org>
46798
46799         Don't assume sizeof (long) >= sizeof (void *).
46800         * lib/memcmp.c: Include stdint.h.
46801         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
46802         srcp2 to 'const byte *'.
46803         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
46804         types to uintptr_t.
46805         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
46806         * modules/memcmp (Depends-on): Add stdint.
46807         Reported by Ozkan Sezer <sezeroz@gmail.com>.
46808
46809 2009-01-30  Eric Blake  <ebb9@byu.net>
46810
46811         fix more require-before-expand issues
46812         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
46813         expand, AC_PROG_AWK.
46814         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
46815
46816 2009-01-28  Eric Blake  <ebb9@byu.net>
46817
46818         version-etc: use consistent URL formatting
46819         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
46820         Improve formatting.  Use fputs for string without %.
46821
46822 2009-01-28  Jim Meyering  <meyering@redhat.com>
46823
46824         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
46825         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
46826         "underquoted definition of NAME" from autoconf-2.59.
46827
46828 2009-01-28  Bruno Haible  <bruno@clisp.org>
46829
46830         * doc/gnulib.texi: Add "Obsolete modules" to index.
46831
46832 2009-01-28  Jim Meyering  <meyering@redhat.com>
46833
46834         useless-if-before-free: recognize more variants
46835         * build-aux/useless-if-before-free: Also recognize e.g.,
46836         if (NULL != p) free (p);
46837
46838 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
46839
46840         test-getaddrinfo: skip (don't fail) this test when there's no network
46841         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
46842         on the presumption that it means you lack network access.
46843
46844 2009-01-26  Jim Meyering  <meyering@redhat.com>
46845
46846         fflush: avoid warnings on modern systems
46847         * lib/fflush.c (rpl_fflush): Move declarations of locals,
46848         pos and result, into scopes where they're used.
46849
46850 2009-01-26  Eric Blake  <ebb9@byu.net>
46851
46852         Silence warning reintroduced by recent extensions patch.
46853         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
46854         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
46855         autoconf.
46856
46857         Backport improved autoconf semantics of AC_DEFUN_ONCE.
46858         * m4/00gnulib.m4: New file.
46859         * gnulib-tool (func_get_filelist): Always use it.
46860         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
46861         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
46862
46863 2009-01-25  Bruno Haible  <bruno@clisp.org>
46864
46865         Make test-quotearg work on MacOS X and AIX.
46866         * tests/test-quotearg.sh: New file.
46867         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
46868         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
46869         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
46870         include <libintl.h>.
46871         (fake_locale): Remove variable.
46872         (gettext, dgettext, dcgettext): Remove functions.
46873         (main): Instead of setting a fake locale, set a real locale. Call
46874         textdomain and bindtextdomain.
46875         * modules/quotearg-tests (Files): Add the new files.
46876         (Depends-on): Add gettext, setenv, unsetenv.
46877         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
46878         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
46879         Augment TESTS_ENVIRONMENT.
46880
46881 2009-01-25  Bruno Haible  <bruno@clisp.org>
46882
46883         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
46884         fr_FR.ISO8859-1 locale on MacOS X.
46885         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
46886         ja_JP.eucJP locale on MacOS X.
46887         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
46888         zh_CN.GB18030 locale on MacOS X.
46889
46890 2009-01-25  Bruno Haible  <bruno@clisp.org>
46891
46892         Avoid link errors on MacOS X 10.3.
46893         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
46894         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
46895
46896 2009-01-25  Bruno Haible  <bruno@clisp.org>
46897
46898         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
46899         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
46900         * modules/pipe (Files): Remove m4/posix_spawn.m4.
46901         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
46902         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
46903         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
46904         posix_spawnattr_init, posix_spawnattr_setsigmask,
46905         posix_spawnattr_setflags, posix_spawnattr_destroy.
46906
46907         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
46908         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
46909         * modules/execute (Files): Remove m4/posix_spawn.m4.
46910         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
46911         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
46912         posix_spawnattr_init, posix_spawnattr_setsigmask,
46913         posix_spawnattr_setflags, posix_spawnattr_destroy.
46914
46915 2009-01-25  Bruno Haible  <bruno@clisp.org>
46916
46917         * lib/glthread/threadlib.c: Include <stdlib.h>.
46918
46919 2009-01-25  Bruno Haible  <bruno@clisp.org>
46920
46921         * lib/glthread/threadlib.c (dummy): New declaration.
46922
46923 2009-01-25  Bruno Haible  <bruno@clisp.org>
46924
46925         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
46926         multibyte characters also for the GB18030 encoding. Don't crash when
46927         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
46928
46929 2009-01-25  Bruno Haible  <bruno@clisp.org>
46930
46931         Avoid redefining 'struct random_data' on OSF/1 5.1.
46932         * lib/stdlib.in.h: Include <random.h> if it exists.
46933         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
46934         HAVE_RANDOM_H. Include <random.h> when testing whether
46935         'struct random_data' exists.
46936         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
46937
46938 2009-01-25  Bruno Haible  <bruno@clisp.org>
46939
46940         Don't install charset.alias on MacOS X >= 10.3.
46941         * lib/localcharset.c (DARWIN7): New macro.
46942         (get_charset_aliases): Hardcode the result for Darwin7.
46943         * modules/localcharset (install-exec-local): Don't install
46944         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
46945
46946 2009-01-25  Bruno Haible  <bruno@clisp.org>
46947
46948         Don't install charset.alias on mingw and Cygwin.
46949         * modules/localcharset (install-exec-local): Don't install
46950         charset.alias on mingw and Cygwin, if the file does not yet exist.
46951         The result for these platforms is hardcoded in localcharset.c.
46952
46953 2009-01-25  Bruno Haible  <bruno@clisp.org>
46954
46955         Make it possible again to use AC_GNU_SOURCE together with gnulib.
46956         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
46957         before requiring AC_USE_SYSTEM_EXTENSIONS.
46958
46959 2009-01-25  Jim Meyering  <meyering@redhat.com>
46960
46961         c-strtod: avoid warnings
46962         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
46963         "assignment discards qualifiers from pointer target type" warnings.
46964
46965 2009-01-24  Bruno Haible  <bruno@clisp.org>
46966
46967         Add support for non-UTF-8 locales on MacOS X.
46968         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
46969         canonical encodings. For Darwin 7 and newer, don't map traditional
46970         encodings to UTF-8.
46971         Reported by Vincent Lefevre <vincent@vinc17.org>
46972         at <http://savannah.gnu.org/bugs/?25235>.
46973
46974 2009-01-24  Bruno Haible  <bruno@clisp.org>
46975
46976         * doc/gnulib.texi (Obsolete modules): New section.
46977         Reported by Mike Frysinger <vapier@gentoo.org>.
46978
46979 2009-01-24  Bruno Haible  <bruno@clisp.org>
46980
46981         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
46982         (%.dvi): New rule.
46983
46984 2009-01-24  Bruno Haible  <bruno@clisp.org>
46985
46986         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
46987         Reported by Eric Blake.
46988
46989 2009-01-24  Bruno Haible  <bruno@clisp.org>
46990
46991         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
46992         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
46993         Reported by Gary V. Vaughan <gary@gnu.org>.
46994
46995 2009-01-24  Bruno Haible  <bruno@clisp.org>
46996
46997         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
46998
46999 2009-01-23  Bruno Haible  <bruno@clisp.org>
47000
47001         Make c-strtod, c-strtold usable in libraries.
47002         * lib/c-strtod.c: Include string.h instead of xalloc.h.
47003         (C_STRTOD): Call strdup instead of xstrdup.
47004         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
47005         * modules/c-strtold (Depends-on): Likewise.
47006         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
47007         * NEWS: Mention the change.
47008         Reported by Michael Gold <mgold@ncf.ca>.
47009
47010 2009-01-23  Jim Meyering  <meyering@redhat.com>
47011
47012         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
47013         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
47014         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
47015
47016 2009-01-23  Simon Josefsson  <simon@josefsson.org>
47017
47018         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
47019         GNU CoreUtils.
47020         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
47021         * modules/version-etc (Description): Update.
47022
47023 2009-01-22  Bruno Haible  <bruno@clisp.org>
47024
47025         Cache the C locale object.
47026         * lib/c-strtod.c (c_locale_cache): New variable.
47027         (c_locale): New function.
47028         (C_STRTOD): Use it, and don't call freelocale.
47029         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
47030         Suggested by Paolo Bonzini.
47031
47032 2009-01-21  Bruno Haible  <bruno@clisp.org>
47033
47034         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
47035         conditions other than overflow.
47036
47037 2009-01-21  Bruno Haible  <bruno@clisp.org>
47038
47039         * lib/c-strtod.c: Include errno.h.
47040         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
47041         value from STRTOD_L and STRTOD.
47042
47043 2009-01-21  Bruno Haible  <bruno@clisp.org>
47044         and Jim Meyering  <meyering@redhat.com>
47045
47046         nanosleep: skip configure test (fail it) for apple universal builds
47047         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
47048         universal builds, assume that nanosleep does not work.
47049         * modules/nanosleep (Depends-on): Add multiarch.
47050
47051         mktime: skip configure test (fail it) for apple universal builds
47052         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
47053         universal builds, assume that mktime does not work.
47054         * modules/mktime (Depends-on): Add multiarch.
47055
47056 2009-01-21  Eric Blake  <ebb9@byu.net>
47057
47058         multiarch: avoid expand-before-require warning
47059         * modules/multiarch (configure.ac): Require, rather than expand,
47060         gl_MULTIARCH.
47061         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
47062         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
47063         enforce that all clients require it.  Partial reversion of
47064         2008-12-29 patch.
47065
47066         error: avoid expand-before-require warning
47067         * modules/errno (configure.ac): Require, rather than expand,
47068         gl_HEADER_ERRNO_H.
47069         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
47070         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
47071         enforce that all clients require it.
47072
47073         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
47074         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
47075         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
47076         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
47077
47078 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
47079
47080         Revert:
47081         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
47082
47083         regex: do not depend on obsolete modules.
47084         * modules/regex: Remove memcmp and memmove.
47085
47086 2009-01-20  Bruno Haible  <bruno@clisp.org>
47087
47088         Make the 'link' module link on Windows NT 4.
47089         * lib/link.c (_WIN32_WINNT): Don't define.
47090         (CreateHardLinkFuncType): New type.
47091         (CreateHardLinkFunc, initialized): New variables.
47092         (initialize): New function.
47093         (link): Invoke CreateHardLink indirectly through the function pointer.
47094
47095 2009-01-20  Bruno Haible  <bruno@clisp.org>
47096
47097         Fix compilation failure on mingw.
47098         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
47099
47100 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
47101
47102         * doc/c-strtod.texi: Mention a couple of restrictions.
47103
47104 2009-01-20  Jim Meyering  <meyering@redhat.com>
47105
47106         gettimeofday: move more declarations out of functions
47107         * lib/gettimeofday.c: Move extern declarations of tzset and
47108         gmtime out of containing functions.  Prompted by Bruno Haible.
47109
47110 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
47111
47112         regex: do not depend on obsolete modules.
47113         * modules/regex: Remove memcmp and memmove.
47114
47115 2009-01-19  Bruno Haible  <bruno@clisp.org>
47116
47117         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
47118         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
47119         gl_BIGENDIAN, not AC_C_BIGENDIAN.
47120         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
47121         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
47122
47123 2009-01-19  Bruno Haible  <bruno@clisp.org>
47124
47125         * tests/test-link.c: Include <errno.h>.
47126         (main): Exit with code 77 when a hard link cannot be created due to
47127         the file system.
47128         * tests/test-link.sh: Skip test when a hard link cannot be created due
47129         to the file system.
47130         Suggested by Eric Blake.
47131
47132 2009-01-19  Martin Lambers  <marlam@marlam.de>
47133
47134         * modules/link-tests: New file.
47135         * tests/test-link.sh: New file.
47136         * tests/test-link.c: New file.
47137
47138 2009-01-19  Eric Blake  <ebb9@byu.net>
47139
47140         doc: mention another function added in cygwin 1.7.0
47141         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
47142         Another new function in cygwin 1.7.
47143
47144 2009-01-19  Bruno Haible  <bruno@clisp.org>
47145
47146         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
47147         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
47148         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
47149         gl_BIGENDIAN, not AC_C_BIGENDIAN.
47150         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
47151         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
47152         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
47153         * m4/md4.m4 (gl_MD4): Likewise.
47154         * m4/md5.m4 (gl_MD5): Likewise.
47155         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
47156         * m4/sha1.m4 (gl_SHA1): Likewise.
47157         * m4/sha256.m4 (gl_SHA256): Likewise.
47158         * m4/sha512.m4 (gl_SHA512): Likewise.
47159
47160 2009-01-19  Bruno Haible  <bruno@clisp.org>
47161
47162         * modules/uniname/uniname-tests (Depends-on): Add progname.
47163         * tests/uniname/test-uninames.c: Include progname.h.
47164         (main): Call set_program_name.
47165
47166         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
47167         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
47168         (main): Call set_program_name.
47169
47170         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
47171         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
47172         (main): Call set_program_name.
47173
47174         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
47175         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
47176         (main): Call set_program_name.
47177
47178         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
47179         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
47180         (main): Call set_program_name.
47181
47182         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
47183         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
47184         (main): Call set_program_name.
47185
47186         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
47187         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
47188         (main): Call set_program_name.
47189
47190         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
47191         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
47192         (main): Call set_program_name.
47193
47194         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
47195         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
47196         (main): Call set_program_name.
47197
47198 2009-01-19  Eric Blake  <ebb9@byu.net>
47199
47200         test-unistd: test previous patch
47201         * tests/test-unistd.c: Test *_FILENO macros.
47202
47203         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
47204         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
47205         Guarantee a definition.
47206         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
47207         * modules/unistd-safer (Depends-on): Add dependency on unistd.
47208         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
47209         * lib/dup-safer.c (STDERR_FILENO): Likewise.
47210         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
47211         Likewise.
47212         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
47213         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
47214         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
47215         Likewise.
47216         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
47217         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
47218         (STDERR_FILENO): Likewise.
47219         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
47220         (STDERR_FILENO): Likewise.
47221         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
47222         (STDERR_FILENO): Likewise.
47223         Reported by Elbert Pol.
47224
47225 2009-01-19  Eric Blake  <ebb9@byu.net>
47226
47227         doc: mention more functions added in cygwin 1.7.0
47228         * doc/posix-functions/abort.texi (abort): Update wording related
47229         to cygwin.
47230         * doc/posix-functions/daylight.texi (daylight): Likewise.
47231         * doc/posix-functions/optarg.texi (optarg): Likewise.
47232         * doc/posix-functions/optarg.texi (opterr): Likewise.
47233         * doc/posix-functions/optarg.texi (optind): Likewise.
47234         * doc/posix-functions/optarg.texi (optopt): Likewise.
47235         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
47236         worked in 1.5.x, and was withdrawn in 1.7.
47237         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
47238         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
47239         cygwin versions.
47240         * doc/posix-functions/perror.texi (perror): Likewise.
47241         * doc/posix-functions/printf.texi (printf): Likewise.
47242         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
47243         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
47244         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
47245         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
47246         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
47247         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
47248         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
47249         Likewise.
47250         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
47251         Likewise.
47252         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
47253         this function.
47254         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
47255         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
47256         Likewise.
47257         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
47258         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
47259         * doc/posix-functions/confstr.texi (confstr): Likewise.
47260         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
47261         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
47262         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
47263         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
47264         * doc/posix-functions/fputws.texi (fputws): Likewise.
47265         * doc/posix-functions/fwide.texi (fwide): Likewise.
47266         * doc/posix-functions/getwc.texi (getwc): Likewise.
47267         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
47268         * doc/posix-functions/putwc.texi (putwc): Likewise.
47269         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
47270         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
47271         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
47272         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
47273         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
47274         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
47275         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
47276         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
47277         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
47278         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
47279         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
47280
47281 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
47282
47283         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
47284         * lib/ioctl.c: Include <sys/ioctl.h>.
47285
47286 2009-01-19  Simon Josefsson  <simon@josefsson.org>
47287
47288         * modules/getdate-tests (Depends-on): Add progname.
47289         * tests/test-getdate.c: Use progname module, to avoid link errors
47290         on non-glibc systems.
47291
47292 2009-01-18  Simon Josefsson  <simon@josefsson.org>
47293
47294         * modules/filenamecat-tests (Depends-on): Add progname.
47295         * modules/fstrcmp-tests (Depends-on): Likewise.
47296
47297         * tests/test-filenamecat.c: Use progname module, to avoid link
47298         errors on non-glibc systems.
47299         * tests/test-fstrcmp.c: Likewise.
47300
47301 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
47302
47303         gettimeofday: avoid warning: nested extern declaration of 'localtime'
47304         * lib/gettimeofday.c: Move extern declaration out of function.
47305
47306 2009-01-18  Bruno Haible  <bruno@clisp.org>
47307
47308         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
47309         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
47310         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
47311
47312 2009-01-18  Bruno Haible  <bruno@clisp.org>
47313
47314         * lib/strftime.c (MEMPCPY): Remove unused macro.
47315         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
47316
47317 2009-01-18  Martin Lambers  <marlam@marlam.de>
47318
47319         New module 'link'.
47320         * lib/unistd.in.h (link): New declaration.
47321         * lib/link.c: New file.
47322         * m4/link.m4: New file.
47323         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
47324         HAVE_LINK.
47325         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
47326         * modules/link: New file.
47327         * doc/posix-functions/link.texi: Mention the new module.
47328
47329 2009-01-18  Bruno Haible  <bruno@clisp.org>
47330
47331         * tests/test-avltree_list.c (main): Call set_program_name.
47332         * tests/test-avltree_oset.c (main): Likewise.
47333         * tests/test-obstack-printf.c: Include progname.h.
47334         (main): Call set_program_name.
47335         * tests/test-quotearg.c: Include progname.h.
47336         (main): Call set_program_name.
47337         * tests/test-xmemdup0.c: Include progname.h.
47338         (main): Call set_program_name.
47339
47340 2009-01-18  Bruno Haible  <bruno@clisp.org>
47341
47342         New module 'alphasort'.
47343         * lib/dirent.in.h (alphasort): New declaration.
47344         * lib/alphasort.c: New file, from glibc with modifications.
47345         * m4/alphasort.m4: New file.
47346         * modules/alphasort: New file.
47347         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
47348         HAVE_ALPHASORT.
47349         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
47350         HAVE_ALPHASORT.
47351         * doc/posix-functions/alphasort.texi: Mention the new module and the
47352         portability problems.
47353
47354 2009-01-18  Bruno Haible  <bruno@clisp.org>
47355
47356         New module 'scandir'.
47357         * lib/dirent.in.h (scandir): New declaration.
47358         * lib/scandir.c: New file, from glibc with modifications.
47359         * m4/scandir.m4: New file.
47360         * modules/scandir: New file.
47361         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
47362         HAVE_SCANDIR.
47363         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
47364         HAVE_SCANDIR.
47365         * doc/posix-functions/scandir.texi: Mention the new module and the
47366         portability problems.
47367
47368 2009-01-17  Bruno Haible  <bruno@clisp.org>
47369
47370         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
47371         Update documentation.
47372         (func_remove_suffix): Escape all dots in the suffix. Update
47373         documentation.
47374         (func_filter_filelist): Update documentation.
47375         Reported by Ralf Wildenhues.
47376
47377 2009-01-17  Bruno Haible  <bruno@clisp.org>
47378
47379         * modules/dprintf-posix-tests: New file.
47380         * tests/test-dprintf-posix.sh: New file.
47381         * tests/test-dprintf-posix.c: New file.
47382
47383         New modules 'dprintf', 'dprintf-posix'.
47384         * lib/stdio.in.h (dprintf): New declaration.
47385         * lib/dprintf.c: New file.
47386         * m4/dprintf.m4: New file.
47387         * m4/dprintf-posix.m4: New file.
47388         * modules/dprintf: New file.
47389         * modules/dprintf-posix: New file.
47390         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
47391         HAVE_DPRINTF, REPLACE_DPRINTF.
47392         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
47393         HAVE_DPRINTF, REPLACE_DPRINTF.
47394         * doc/posix-functions/dprintf.texi: Mention the new modules.
47395
47396 2009-01-17  Bruno Haible  <bruno@clisp.org>
47397
47398         * modules/vdprintf-posix-tests: New file.
47399         * tests/test-vdprintf-posix.sh: New file.
47400         * tests/test-vdprintf-posix.c: New file.
47401
47402         New modules 'vdprintf', 'vdprintf-posix'.
47403         * lib/stdio.in.h (vdprintf): New declaration.
47404         * lib/vdprintf.c: New file.
47405         * m4/vdprintf.m4: New file.
47406         * m4/vdprintf-posix.m4: New file.
47407         * modules/vdprintf: New file.
47408         * modules/vdprintf-posix: New file.
47409         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
47410         HAVE_VDPRINTF, REPLACE_VDPRINTF.
47411         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
47412         HAVE_VDPRINTF, REPLACE_VDPRINTF.
47413         * doc/posix-functions/vdprintf.texi: Mention the new modules.
47414
47415 2009-01-17  Bruno Haible  <bruno@clisp.org>
47416
47417         Fix replacement of fopen on mingw.
47418         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
47419         mingw.
47420
47421 2009-01-17  Bruno Haible  <bruno@clisp.org>
47422
47423         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
47424         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
47425
47426 2009-01-17  Bruno Haible  <bruno@clisp.org>
47427
47428         Avoid test-fflush2.sh failure on mingw.
47429         * tests/test-fflush2.c: Include binary-io.h.
47430         (main): Put standard input into binary mode.
47431         * modules/fflush-tests (Depends-on): Add binary-io.
47432
47433 2009-01-17  Bruno Haible  <bruno@clisp.org>
47434
47435         * lib/wchar.in.h: In another particular situation, include only the
47436         system's <wchar.h> file.
47437         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
47438         Reported by Albert Chin-A-Young <china@thewrittenword.com>
47439         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
47440
47441 2009-01-17  Bruno Haible  <bruno@clisp.org>
47442
47443         Support for stripping executables in --enable-relocatable.
47444         * build-aux/install-reloc: Expect one more argument, or an environment
47445         variable RELOC_STRIP_PROG. If set, strip the destination program and
47446         its wrapper.
47447         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
47448         RELOC_STRIP_PROG.
47449         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
47450         to set RELOCATABLE_STRIP.
47451         * NEWS: Mention the new Makefile requirement.
47452
47453 2009-01-17  Bruno Haible  <bruno@clisp.org>
47454
47455         * build-aux/install-reloc: Remove debugging information left over by
47456         C compiler on MacOS X.
47457
47458 2009-01-17  Bruno Haible  <bruno@clisp.org>
47459
47460         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
47461         * lib/progreloc.c (find_executable): Fix type of pointer passed to
47462         _NSGetExecutablePath.
47463
47464 2009-01-16  Jim Meyering  <meyering@redhat.com>
47465
47466         strerror: avoid warnings about discarding "const"
47467         * lib/strerror.c (rpl_strerror): Instead of returning a const
47468         string from each and every "case", use a variable, and add a single
47469         cast after the switch.
47470
47471 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
47472
47473         * lib/arpa_inet.in.h: Add extern "C" block for C++.
47474
47475 2009-01-16  Bruno Haible  <bruno@clisp.org>
47476
47477         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
47478         array initializer syntax that also works in C++ mode.
47479         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
47480
47481 2009-01-16  Jim Meyering  <meyering@redhat.com>
47482
47483         poll: suppress a warning
47484         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
47485         to ignore "...unsigned expression < 0 is always false" warnings.
47486
47487 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
47488
47489         poll: remove declarations of unused variables
47490         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
47491         sockbuf and optlen.
47492
47493 2009-01-15  Bruno Haible  <bruno@clisp.org>
47494
47495         Make fflush-after-ungetc POSIX compliant on BSD systems.
47496         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
47497         (clear_ungetc_buffer): Implement also for other systems.
47498         (rpl_fflush): On glibc systems, invoke
47499         clear_ungetc_buffer_preserving_position. Otherwise, invoke
47500         clear_ungetc_buffer after fetching the stream's position, not before.
47501
47502 2009-01-15  Bruno Haible  <bruno@clisp.org>
47503
47504         Make fflush-after-ungetc POSIX compliant on glibc systems.
47505         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
47506         after ungetc.
47507         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
47508         (rpl_fflush): On glibc systems, simply call the system's fflush
47509         function after clearing the ungetc buffer.
47510         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
47511         Instead, lseek only to the end of file, then use the system's fseeko
47512         for the rest. On glibc systems, reset the EOF indicator bit.
47513
47514 2009-01-15  Jim Meyering  <meyering@redhat.com>
47515
47516         openmp.m4: revert quote-adding change, for portability to older autoconf
47517         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
47518         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
47519         Simon Josefsson noticed the problem when using autoconf-2.61.
47520
47521 2009-01-15  Bruno Haible  <bruno@clisp.org>
47522
47523         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
47524         * tests/test-fflush2.c (ASSERT): Always fail.
47525         (main): Add two tests for fflush() after ungetc(), taking into account
47526         the Austin Group's clarification.
47527         Suggested by Eric Blake.
47528
47529 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
47530
47531         mktime.m4: remove K&R-style function prototypes
47532         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
47533         for the Sun C++ compiler.
47534
47535 2009-01-14  Bruno Haible  <bruno@clisp.org>
47536
47537         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
47538         while including <wchar.h>.
47539         * lib/wchar.in.h: In two particular situations on HP-UX, include only
47540         the system's <wchar.h> file.
47541         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
47542
47543 2009-01-14  Bruno Haible  <bruno@clisp.org>
47544
47545         * m4/csharp.m4: Don't mention gettext on the serial number line.
47546         * m4/csharpexec.m4: Likewise.
47547         * m4/eaccess.m4: Likewise.
47548         * m4/javaexec.m4: Likewise.
47549         * m4/sig_atomic_t.m4: Likewise.
47550         * m4/tmpdir.m4: Likewise.
47551         * m4/intldir.m4: Bump gettext version.
47552         * m4/lib-ld.m4: Likewise.
47553
47554 2009-01-14  Bruno Haible  <bruno@clisp.org>
47555
47556         * lib/progname.c (set_program_name): Add more comments.
47557         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
47558
47559 2009-01-14  Simon Josefsson  <simon@josefsson.org>
47560
47561         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
47562         were sys/stat.h does not define it.
47563
47564 2009-01-14  Jim Meyering  <meyering@redhat.com>
47565
47566         many *.m4 files: improve m4 quoting
47567         99% of this change was performed by running the following commands:
47568         git ls-files | grep '\.m4$' | xargs perl -pi \
47569           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
47570           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
47571           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
47572           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
47573         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
47574         The remainder were to add Copyright dates, increment serial numbers,
47575         undo some changes in comments, exclude m4/intl.m4, and add quotes
47576         around the "1" in ",1" where the unusual spacing prohibited the
47577         above regexps from doing the job.  For more details, see
47578         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
47579         * m4/acl.m4: Modified.
47580         * m4/afs.m4: Likewise.
47581         * m4/alloca.m4: Likewise.
47582         * m4/argp.m4: Likewise.
47583         * m4/argz.m4: Likewise.
47584         * m4/atexit.m4: Likewise.
47585         * m4/bison-i18n.m4: Likewise.
47586         * m4/bison.m4: Likewise.
47587         * m4/byteswap.m4: Likewise.
47588         * m4/c-stack.m4: Likewise.
47589         * m4/c-strtod.m4: Likewise.
47590         * m4/calloc.m4: Likewise.
47591         * m4/canonicalize-lgpl.m4: Likewise.
47592         * m4/chown.m4: Likewise.
47593         * m4/clock_time.m4: Likewise.
47594         * m4/codeset.m4: Likewise.
47595         * m4/copy-file.m4: Likewise.
47596         * m4/csharp.m4: Likewise.
47597         * m4/csharpcomp.m4: Likewise.
47598         * m4/csharpexec.m4: Likewise.
47599         * m4/d-ino.m4: Likewise.
47600         * m4/d-type.m4: Likewise.
47601         * m4/dirfd.m4: Likewise.
47602         * m4/double-slash-root.m4: Likewise.
47603         * m4/eaccess.m4: Likewise.
47604         * m4/eealloc.m4: Likewise.
47605         * m4/environ.m4: Likewise.
47606         * m4/errno_h.m4: Likewise.
47607         * m4/euidaccess.m4: Likewise.
47608         * m4/execute.m4: Likewise.
47609         * m4/fatal-signal.m4: Likewise.
47610         * m4/fchdir.m4: Likewise.
47611         * m4/fcntl_h.m4: Likewise.
47612         * m4/fileblocks.m4: Likewise.
47613         * m4/filenamecat.m4: Likewise.
47614         * m4/findprog.m4: Likewise.
47615         * m4/flexmember.m4: Likewise.
47616         * m4/fnmatch.m4: Likewise.
47617         * m4/fopen.m4: Likewise.
47618         * m4/fpending.m4: Likewise.
47619         * m4/fprintf-posix.m4: Likewise.
47620         * m4/free.m4: Likewise.
47621         * m4/frexp.m4: Likewise.
47622         * m4/frexpl.m4: Likewise.
47623         * m4/fsusage.m4: Likewise.
47624         * m4/ftruncate.m4: Likewise.
47625         * m4/gc-camellia.m4: Likewise.
47626         * m4/gc-random.m4: Likewise.
47627         * m4/gc.m4: Likewise.
47628         * m4/getaddrinfo.m4: Likewise.
47629         * m4/getcwd-abort-bug.m4: Likewise.
47630         * m4/getcwd-path-max.m4: Likewise.
47631         * m4/getdate.m4: Likewise.
47632         * m4/getdomainname.m4: Likewise.
47633         * m4/getgroups.m4: Likewise.
47634         * m4/gethostname.m4: Likewise.
47635         * m4/gethrxtime.m4: Likewise.
47636         * m4/getline.m4: Likewise.
47637         * m4/getloadavg.m4: Likewise.
47638         * m4/getndelim2.m4: Likewise.
47639         * m4/getpass.m4: Likewise.
47640         * m4/gettext.m4: Likewise.
47641         * m4/gettime.m4: Likewise.
47642         * m4/gettimeofday.m4: Likewise.
47643         * m4/gnulib-common.m4: Likewise.
47644         * m4/group-member.m4: Likewise.
47645         * m4/host-os.m4: Likewise.
47646         * m4/iconv.m4: Likewise.
47647         * m4/iconv_open.m4: Likewise.
47648         * m4/inet_ntop.m4: Likewise.
47649         * m4/inet_pton.m4: Likewise.
47650         * m4/inline.m4: Likewise.
47651         * m4/intldir.m4: Likewise.
47652         * m4/intlmacosx.m4: Likewise.
47653         * m4/intmax.m4: Likewise.
47654         * m4/intmax_t.m4: Likewise.
47655         * m4/inttypes.m4: Likewise.
47656         * m4/inttypes_h.m4: Likewise.
47657         * m4/inttypes-pri.m4: Likewise.
47658         * m4/isapipe.m4: Likewise.
47659         * m4/isnand.m4: Likewise.
47660         * m4/isnanf.m4: Likewise.
47661         * m4/isnanl.m4: Likewise.
47662         * m4/javacomp.m4: Likewise.
47663         * m4/javaexec.m4: Likewise.
47664         * m4/jm-winsz1.m4: Likewise.
47665         * m4/jm-winsz2.m4: Likewise.
47666         * m4/lchown.m4: Likewise.
47667         * m4/lcmessage.m4: Likewise.
47668         * m4/ldexpl.m4: Likewise.
47669         * m4/lib-ld.m4: Likewise.
47670         * m4/lib-link.m4: Likewise.
47671         * m4/libsigsegv.m4: Likewise.
47672         * m4/link-follow.m4: Likewise.
47673         * m4/localcharset.m4: Likewise.
47674         * m4/locale-fr.m4: Likewise.
47675         * m4/locale-ja.m4: Likewise.
47676         * m4/locale-tr.m4: Likewise.
47677         * m4/locale-zh.m4: Likewise.
47678         * m4/lock.m4: Likewise.
47679         * m4/longlong.m4: Likewise.
47680         * m4/ls-mntd-fs.m4: Likewise.
47681         * m4/lstat.m4: Likewise.
47682         * m4/malloc.m4: Likewise.
47683         * m4/mathl.m4: Likewise.
47684         * m4/mbrtowc.m4: Likewise.
47685         * m4/mbstate_t.m4: Likewise.
47686         * m4/mbswidth.m4: Likewise.
47687         * m4/memchr.m4: Likewise.
47688         * m4/memcmp.m4: Likewise.
47689         * m4/memcpy.m4: Likewise.
47690         * m4/memmem.m4: Likewise.
47691         * m4/memmove.m4: Likewise.
47692         * m4/mempcpy.m4: Likewise.
47693         * m4/memrchr.m4: Likewise.
47694         * m4/memset.m4: Likewise.
47695         * m4/minmax.m4: Likewise.
47696         * m4/mkdir-slash.m4: Likewise.
47697         * m4/mkdtemp.m4: Likewise.
47698         * m4/mktime.m4: Likewise.
47699         * m4/mmap-anon.m4: Likewise.
47700         * m4/mountlist.m4: Likewise.
47701         * m4/nanosleep.m4: Likewise.
47702         * m4/nls.m4: Likewise.
47703         * m4/nocrash.m4: Likewise.
47704         * m4/open.m4: Likewise.
47705         * m4/openat.m4: Likewise.
47706         * m4/openmp.m4: Likewise.
47707         * m4/pathmax.m4: Likewise.
47708         * m4/perl.m4: Likewise.
47709         * m4/physmem.m4: Likewise.
47710         * m4/pipe.m4: Likewise.
47711         * m4/po.m4: Likewise.
47712         * m4/poll.m4: Likewise.
47713         * m4/posixtm.m4: Likewise.
47714         * m4/posixver.m4: Likewise.
47715         * m4/printf-frexp.m4: Likewise.
47716         * m4/printf-frexpl.m4: Likewise.
47717         * m4/printf-posix.m4: Likewise.
47718         * m4/printf-posix-rpl.m4: Likewise.
47719         * m4/printf.m4: Likewise.
47720         * m4/progtest.m4: Likewise.
47721         * m4/putenv.m4: Likewise.
47722         * m4/readline.m4: Likewise.
47723         * m4/readlink.m4: Likewise.
47724         * m4/readutmp.m4: Likewise.
47725         * m4/realloc.m4: Likewise.
47726         * m4/regex.m4: Likewise.
47727         * m4/relocatable.m4: Likewise.
47728         * m4/relocatable-lib.m4: Likewise.
47729         * m4/rename-dest-slash.m4: Likewise.
47730         * m4/rename.m4: Likewise.
47731         * m4/rmdir-errno.m4: Likewise.
47732         * m4/rmdir.m4: Likewise.
47733         * m4/roundf.m4: Likewise.
47734         * m4/roundl.m4: Likewise.
47735         * m4/rpmatch.m4: Likewise.
47736         * m4/save-cwd.m4: Likewise.
47737         * m4/selinux-selinux-h.m4: Likewise.
47738         * m4/setenv.m4: Likewise.
47739         * m4/settime.m4: Likewise.
47740         * m4/sig2str.m4: Likewise.
47741         * m4/sig_atomic_t.m4: Likewise.
47742         * m4/signalblocking.m4: Likewise.
47743         * m4/signbit.m4: Likewise.
47744         * m4/sigpipe.m4: Likewise.
47745         * m4/sockets.m4: Likewise.
47746         * m4/sockpfaf.m4: Likewise.
47747         * m4/st_dm_mode.m4: Likewise.
47748         * m4/stat-time.m4: Likewise.
47749         * m4/stdbool.m4: Likewise.
47750         * m4/stdint.m4: Likewise.
47751         * m4/stdint_h.m4: Likewise.
47752         * m4/stpcpy.m4: Likewise.
47753         * m4/stpncpy.m4: Likewise.
47754         * m4/strcase.m4: Likewise.
47755         * m4/strchrnul.m4: Likewise.
47756         * m4/strcspn.m4: Likewise.
47757         * m4/strdup.m4: Likewise.
47758         * m4/strftime.m4: Likewise.
47759         * m4/strndup.m4: Likewise.
47760         * m4/strnlen.m4: Likewise.
47761         * m4/strpbrk.m4: Likewise.
47762         * m4/strptime.m4: Likewise.
47763         * m4/strsep.m4: Likewise.
47764         * m4/strtod.m4: Likewise.
47765         * m4/strtoimax.m4: Likewise.
47766         * m4/strtok_r.m4: Likewise.
47767         * m4/strtol.m4: Likewise.
47768         * m4/strtoll.m4: Likewise.
47769         * m4/strtoul.m4: Likewise.
47770         * m4/strtoull.m4: Likewise.
47771         * m4/strtoumax.m4: Likewise.
47772         * m4/strverscmp.m4: Likewise.
47773         * m4/threadlib.m4: Likewise.
47774         * m4/timegm.m4: Likewise.
47775         * m4/tm_gmtoff.m4: Likewise.
47776         * m4/tmpdir.m4: Likewise.
47777         * m4/tmpfile.m4: Likewise.
47778         * m4/tzset.m4: Likewise.
47779         * m4/uintmax_t.m4: Likewise.
47780         * m4/unlinkdir.m4: Likewise.
47781         * m4/unlocked-io.m4: Likewise.
47782         * m4/uptime.m4: Likewise.
47783         * m4/userspec.m4: Likewise.
47784         * m4/utimbuf.m4: Likewise.
47785         * m4/utime.m4: Likewise.
47786         * m4/utimes-null.m4: Likewise.
47787         * m4/utimes.m4: Likewise.
47788         * m4/vararrays.m4: Likewise.
47789         * m4/vasnprintf.m4: Likewise.
47790         * m4/vfprintf-posix.m4: Likewise.
47791         * m4/vprintf-posix.m4: Likewise.
47792         * m4/wait-process.m4: Likewise.
47793         * m4/wchar_t.m4: Likewise.
47794         * m4/wint_t.m4: Likewise.
47795         * m4/write-any-file.m4: Likewise.
47796         * m4/yield.m4: Likewise.
47797
47798 2009-01-13  Bruno Haible  <bruno@clisp.org>
47799
47800         Avoid test-copy-file.sh failures when ACL support insufficient.
47801         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
47802         TESTS_ENVIRONMENT.
47803         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
47804         Reported by Jim Meyering.
47805
47806 2009-01-13  Bruno Haible  <bruno@clisp.org>
47807
47808         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
47809         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
47810         * modules/unistdio/u8-printf-parse (Files): Likewise.
47811         * modules/unistdio/u32-printf-parse (Files): Likewise.
47812         * modules/unistdio/ulc-printf-parse (Files): Likewise.
47813
47814 2009-01-13  Simon Josefsson  <simon@josefsson.org>
47815
47816         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
47817         and m4/inttypes_h.m4 too.
47818
47819 2009-01-12  Eric Blake  <ebb9@byu.net>
47820
47821         tests: IRIX 6.2 cc can't compile -0.0 into .data
47822         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
47823         rather than at compile-time.
47824         * tests/test-floorl.c (minus_zero): Likewise.
47825         * tests/test-frexpl.c (minus_zero): Likewise.
47826         * tests/test-isnan.c (minus_zerol): Likewise.
47827         * tests/test-isnanl.h (minus_zero): Likewise.
47828         * tests/test-ldexpl.c (minus_zero): Likewise.
47829         * tests/test-roundl.c (minus_zero): Likewise.
47830         * tests/test-signbit.c (minus_zerol): Likewise.
47831         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
47832         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
47833         * tests/test-truncl.c (minus_zero): Likewise.
47834         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
47835         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
47836         Reported by Tom G. Christensen and Nelson H. F. Beebe.
47837
47838 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
47839
47840         regex: fix glibc bug 9697
47841         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
47842         handling.
47843
47844 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
47845
47846         regex: fix glibc bug 697
47847         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
47848         being NULL also if there are no backreferences.
47849
47850 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
47851
47852         regex: merge glibc changes
47853         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
47854         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
47855         re_string_skip_chars, re_string_reconstruct): Likewise.
47856         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
47857
47858 2009-01-07  Jim Meyering  <meyering@redhat.com>
47859
47860         poll: filter through cppi
47861         * lib/poll.c: Indent cpp directives to reflect nesting.
47862
47863 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
47864
47865         poll: don't return uninitialized
47866         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
47867
47868 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
47869
47870         avoid compile failure on AIX 6.1
47871         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
47872         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
47873
47874 2009-01-04  Jim Meyering  <meyering@redhat.com>
47875
47876         remove duplicate inclusion of <stdio.h>
47877         * tests/test-fprintf-posix.c: Likewise.
47878         * tests/test-printf-posix.c: Likewise.
47879         * tests/test-snprintf-posix.c: Likewise.
47880         * tests/test-sprintf-posix.c: Likewise.
47881         * tests/test-vasprintf-posix.c: Likewise.
47882         * tests/test-vfprintf-posix.c: Likewise.
47883         * tests/test-vprintf-posix.c: Likewise.
47884         * tests/test-vsnprintf-posix.c: Likewise.
47885         * tests/test-vsprintf-posix.c: Likewise.
47886
47887 2009-01-03  Jim Meyering  <meyering@redhat.com>
47888
47889         gnulib-tool: fix sed-based filtering
47890         * gnulib-tool (func_filter_filelist): Remove extra backslash
47891         in sed_fff_filter definition.
47892
47893 2009-01-02  Jim Meyering  <meyering@redhat.com>
47894
47895         strftime: avoid compilation failure on Solaris 2.6
47896         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
47897         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
47898         Don't #define mbrlen or mbsinit, since now they're guaranteed to
47899         be available.  Reported by Tom G. Christensen.  Details in
47900         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
47901
47902 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47903             Bruno Haible  <bruno@clisp.org>
47904
47905         Speed up gnulib-tool by doing more string processing through shell
47906         built-ins.
47907         * gnulib-tool (fast_func_append): New variable.
47908         (func_remove_prefix, func_remove_suffix): New functions.
47909         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
47910         (func_filter_filelist): New function.
47911         (func_get_dependencies): Use func_remove_suffix instead of sed.
47912         (func_get_automake_snippet): Use func_filter_filelist instead of a
47913         subshell and sed invocation.
47914
47915 2009-01-01  Bruno Haible  <bruno@clisp.org>
47916
47917         Fix a security bug.
47918         * gnulib-tool (func_import, import, update): Don't allow the characters
47919         '"', '$', '`', '\' in macro arguments that become part of commands that
47920         are evaluated.
47921
47922 2009-01-01  Bruno Haible  <bruno@clisp.org>
47923
47924         * gnulib-tool (func_reset_sigpipe): Add more comments.
47925
47926 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47927
47928         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
47929         func_emit_tests_Makefile_am, func_import): Abort loops early if we
47930         already know the answer.
47931
47932 2009-01-01  Jim Meyering  <meyering@redhat.com>
47933
47934         * lib/version-etc.c (version_etc_va): Update copyright year.
47935
47936 2008-12-30  Bruno Haible  <bruno@clisp.org>
47937
47938         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
47939         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
47940         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
47941
47942 2008-12-29  Eric Blake  <ebb9@byu.net>
47943
47944         multiarch: avoid autoconf AC_REQUIRE bug
47945         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
47946         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
47947         2.63 and older.
47948         Reported by Bruno Haible, and analyzed in
47949         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
47950
47951 2008-12-29  Bruno Haible  <bruno@clisp.org>
47952
47953         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
47954         files in subdirectories correctly.
47955         Reported by Ralf Wildenhues.
47956
47957 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47958
47959         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
47960         rather than 'join FILE -', for Solaris join.
47961
47962 2008-12-29  Bruno Haible  <bruno@clisp.org>
47963
47964         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
47965         quoting.
47966         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
47967         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
47968         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
47969         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
47970         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
47971         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
47972         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
47973         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
47974         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
47975         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
47976         * m4/nls.m4 (AM_NLS): Likewise.
47977         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
47978         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
47979         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
47980         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
47981         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
47982         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
47983         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
47984         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
47985         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
47986         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
47987         * m4/xsize.m4 (gl_XSIZE): Likewise.
47988         Suggested by Jim Meyering.
47989
47990 2008-11-17  Bruce Korb  <bkorb@gnu.org>
47991
47992         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
47993         * lib/parse-duration.c: use a switch instead of cascading if's.
47994
47995 2008-12-29  Eric Blake  <ebb9@byu.net>
47996
47997         wchar.h: supply WEOF on Irix 5.3
47998         * lib/wchar.in.h (wint_t): Also supply WEOF.
47999         * lib/wctype.in.h (wint_t): Likewise.
48000         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
48001         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
48002         Reported by Tom G. Christensen.
48003
48004 2008-12-26  Bruno Haible  <bruno@clisp.org>
48005
48006         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
48007         i486, i586, i686.
48008
48009 2008-12-26  Bruno Haible  <bruno@clisp.org>
48010
48011         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
48012
48013 2008-12-26  Bruno Haible  <bruno@clisp.org>
48014
48015         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
48016         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
48017         not __STDC_CONSTANT_MACROS.
48018         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
48019
48020 2008-12-25  Bruno Haible  <bruno@clisp.org>
48021
48022         Add support for universal builds to vasnprintf.
48023         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
48024         universal builds, guess no.
48025         * modules/vasnprintf-posix (Depends-on): Add multiarch.
48026         * modules/vasprintf-posix (Depends-on): Likewise.
48027         * modules/fprintf-posix (Depends-on): Likewise.
48028         * modules/vfprintf-posix (Depends-on): Likewise.
48029         * modules/snprintf-posix (Depends-on): Likewise.
48030         * modules/vsnprintf-posix (Depends-on): Likewise.
48031         * modules/sprintf-posix (Depends-on): Likewise.
48032         * modules/vsprintf-posix (Depends-on): Likewise.
48033         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
48034         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
48035         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
48036         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
48037         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
48038         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
48039         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
48040
48041         Add support for universal builds to <inttypes.h>.
48042         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
48043         _SCNu64_PREFIX): In Apple
48044         universal builds, define directly, using _LP64.
48045         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
48046         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
48047         * modules/inttypes (Depends-on): Add multiarch.
48048         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
48049
48050         Add support for universal builds to <stdint.h>.
48051         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
48052         universal builds, define directly, using _LP64.
48053         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
48054         Apple universal builds, don't test for the size and suffix of ptrdiff_t
48055         and size_t.
48056         * modules/stdint (Depends-on): Add multiarch.
48057         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
48058
48059         New module 'multiarch'.
48060         * modules/multiarch: New file.
48061         * m4/multiarch.m4: New file.
48062
48063 2008-12-25  Bruno Haible  <bruno@clisp.org>
48064
48065         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
48066
48067 2008-12-25  Bruno Haible  <bruno@clisp.org>
48068
48069         * modules/btowc (License): Relicense under LGPLv2+.
48070         * modules/mbsinit (License): Likewise.
48071         * modules/mbrtowc (License): Likewise.
48072         * modules/wcrtomb (License): Likewise.
48073         * modules/streq (License): Likewise.
48074         Reported by David Lutterkort <lutter@redhat.com>.
48075
48076 2008-12-23  Bruno Haible  <bruno@clisp.org>
48077
48078         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
48079
48080 2008-12-23  Bruno Haible  <bruno@clisp.org>
48081
48082         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
48083         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
48084         GETADDRINFO_LIB, not in LIBS.
48085         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
48086         * modules/canon-host (Link): Likewise.
48087         * NEWS: Mention the change.
48088         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
48089         GETADDRINFO_LIB.
48090
48091 2008-12-22  Bruno Haible  <bruno@clisp.org>
48092
48093         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
48094         * doc/posix-functions/iswalpha_l.texi: Likewise.
48095         * doc/posix-functions/iswblank_l.texi: Likewise.
48096         * doc/posix-functions/iswcntrl_l.texi: Likewise.
48097         * doc/posix-functions/iswctype_l.texi: Likewise.
48098         * doc/posix-functions/iswdigit_l.texi: Likewise.
48099         * doc/posix-functions/iswgraph_l.texi: Likewise.
48100         * doc/posix-functions/iswlower_l.texi: Likewise.
48101         * doc/posix-functions/iswprint_l.texi: Likewise.
48102         * doc/posix-functions/iswpunct_l.texi: Likewise.
48103         * doc/posix-functions/iswspace_l.texi: Likewise.
48104         * doc/posix-functions/iswupper_l.texi: Likewise.
48105         * doc/posix-functions/iswxdigit_l.texi: Likewise.
48106         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
48107         * doc/posix-functions/open_wmemstream.texi: Likewise.
48108         * doc/posix-functions/swscanf.texi: Likewise.
48109         * doc/posix-functions/towctrans_l.texi: Likewise.
48110         * doc/posix-functions/towlower.texi: Likewise.
48111         * doc/posix-functions/towlower_l.texi: Likewise.
48112         * doc/posix-functions/towupper.texi: Likewise.
48113         * doc/posix-functions/towupper_l.texi: Likewise.
48114         * doc/posix-functions/vfwprintf.texi: Likewise.
48115         * doc/posix-functions/vfwscanf.texi: Likewise.
48116         * doc/posix-functions/vswscanf.texi: Likewise.
48117         * doc/posix-functions/vwprintf.texi: Likewise.
48118         * doc/posix-functions/vwscanf.texi: Likewise.
48119         * doc/posix-functions/wcpcpy.texi: Likewise.
48120         * doc/posix-functions/wcpncpy.texi: Likewise.
48121         * doc/posix-functions/wcscasecmp.texi: Likewise.
48122         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
48123         * doc/posix-functions/wcscoll_l.texi: Likewise.
48124         * doc/posix-functions/wcsdup.texi: Likewise.
48125         * doc/posix-functions/wcsncasecmp.texi: Likewise.
48126         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
48127         * doc/posix-functions/wcsnlen.texi: Likewise.
48128         * doc/posix-functions/wcsnrtombs.texi: Likewise.
48129         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
48130         * doc/posix-functions/wctrans_l.texi: Likewise.
48131         * doc/posix-functions/wctype_l.texi: Likewise.
48132         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
48133         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
48134         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
48135         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
48136         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
48137         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
48138         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
48139         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
48140         * doc/glibc-functions/wcschrnul.texi: Likewise.
48141         * doc/glibc-functions/wcsftime_l.texi: Likewise.
48142         * doc/glibc-functions/wcstod_l.texi: Likewise.
48143         * doc/glibc-functions/wcstof_l.texi: Likewise.
48144         * doc/glibc-functions/wcstol_l.texi: Likewise.
48145         * doc/glibc-functions/wcstold_l.texi: Likewise.
48146         * doc/glibc-functions/wcstoll_l.texi: Likewise.
48147         * doc/glibc-functions/wcstoq.texi: Likewise.
48148         * doc/glibc-functions/wcstoul_l.texi: Likewise.
48149         * doc/glibc-functions/wcstoull_l.texi: Likewise.
48150         * doc/glibc-functions/wcstouq.texi: Likewise.
48151         * doc/glibc-functions/wmempcpy.texi: Likewise.
48152
48153 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
48154             Eric Blake  <ebb9@byu.net>
48155             Paolo Bonzini  <bonzini@gnu.org>
48156             Bruno Haible  <bruno@clisp.org>
48157
48158         Make c-stack work on Haiku.
48159         * lib/c-stack.c (SA_ONSTACK): Define fallback.
48160         (c_stack_action): Use SA_ONSTACK flag.
48161
48162 2008-12-22  Bruno Haible  <bruno@clisp.org>
48163
48164         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
48165
48166 2008-12-22  Bruno Haible  <bruno@clisp.org>
48167
48168         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
48169         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
48170         being overridden.
48171         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
48172         New macros.
48173         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
48174         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
48175         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
48176         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
48177
48178 2008-12-22  Bruno Haible  <bruno@clisp.org>
48179
48180         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
48181         from test code.
48182
48183 2008-12-22  Eric Blake  <ebb9@byu.net>
48184
48185         Avoid gcc warnings on cygwin.
48186         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
48187         Avoid unused variable.
48188         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
48189         Likewise.
48190
48191 2008-12-22  Bruno Haible  <bruno@clisp.org>
48192
48193         Remove HAVE_MBRTOWC conditionals.
48194         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
48195         (mbscasecmp): Assume mbrtowc function.
48196         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
48197         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
48198         * lib/mbschr.c: Include mbuiter.h unconditionally.
48199         (mbschr): Assume mbrtowc function.
48200         * lib/mbscspn.c: Include mbuiter.h unconditionally.
48201         (mbscspn): Assume mbrtowc function.
48202         * lib/mbslen.c: Include mbuiter.h unconditionally.
48203         (mbslen): Assume mbrtowc function.
48204         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
48205         (mbsncasecmp): Assume mbrtowc function.
48206         * lib/mbsnlen.c: Include mbiter.h unconditionally.
48207         (mbsnlen): Assume mbrtowc function.
48208         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
48209         (mbspbrk): Assume mbrtowc function.
48210         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
48211         (mbspcasecmp): Assume mbrtowc function.
48212         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
48213         (mbsrchr): Assume mbrtowc function.
48214         * lib/mbssep.c: Include mbuiter.h unconditionally.
48215         (mbssep): Assume mbrtowc function.
48216         * lib/mbsspn.c: Include mbuiter.h unconditionally.
48217         (mbsspn): Assume mbrtowc function.
48218         * lib/mbsstr.c: Include mbuiter.h unconditionally.
48219         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
48220         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
48221         (mbstok_r): Assume mbrtowc function.
48222         * lib/propername.c: Include mbuiter.h unconditionally.
48223         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
48224         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
48225         (trim2): Assume mbrtowc function.
48226         * lib/mbswidth.c (mbsinit): Remove fallback definition.
48227         (mbsnwidth): Assume mbrtowc function.
48228         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
48229         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
48230         fallback definitions.
48231         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
48232
48233 2008-12-22  Bruno Haible  <bruno@clisp.org>
48234
48235         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
48236
48237 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
48238
48239         * modules/regex: Request emulations for the mb*/wc* functions we need.
48240         * m4/regex.m4: Don't look for those functions here.
48241         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
48242
48243 2008-12-22  Bruno Haible  <bruno@clisp.org>
48244
48245         * modules/fnmatch (Depends-on): Remove duplicated dependency.
48246
48247 2008-12-21  Bruno Haible  <bruno@clisp.org>
48248
48249         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
48250         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
48251         (Include): Remove conditionalization.
48252         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
48253         (Include): Remove conditionalization.
48254         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
48255         (Include): Remove conditionalization.
48256         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
48257         * m4/mbfile.m4 (gl_MBFILE): Likewise.
48258         * NEWS: Mention the change.
48259         Reported by Alan Hourihane <alanh@fairlite.co.uk>
48260         via Sergey Poznyakoff <gray@gnu.org.ua>.
48261
48262 2008-12-21  Bruno Haible  <bruno@clisp.org>
48263
48264         * MODULES.html.sh (Extended multibyte and wide character utilities
48265         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
48266         wcrtomb, wcsrtombs.
48267         (Support for systems lacking POSIX:2008): Add accept, bind, close,
48268         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
48269         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
48270         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
48271
48272 2008-12-21  Bruno Haible  <bruno@clisp.org>
48273
48274         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
48275
48276 2008-12-21  Bruno Haible  <bruno@clisp.org>
48277
48278         * modules/wcsnrtombs-tests: New file.
48279         * tests/test-wcsnrtombs1.sh: New file.
48280         * tests/test-wcsnrtombs2.sh: New file.
48281         * tests/test-wcsnrtombs3.sh: New file.
48282         * tests/test-wcsnrtombs4.sh: New file.
48283         * tests/test-wcsnrtombs.c: New file.
48284
48285         New module 'wcsnrtombs'.
48286         * lib/wchar.in.h (wcsnrtombs): New declaration.
48287         * lib/wcsnrtombs.c: New file.
48288         * lib/wcsrtombs-state.c: New file.
48289         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
48290         (internal_state): Remove variable.
48291         * m4/wcsnrtombs.m4: New file.
48292         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
48293         compilation units.
48294         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
48295         HAVE_WCSNRTOMBS.
48296         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
48297         HAVE_WCSNRTOMBS.
48298         * modules/wcsnrtombs: New file.
48299         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
48300         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
48301
48302 2008-12-21  Bruno Haible  <bruno@clisp.org>
48303
48304         * modules/wcsrtombs-tests: New file.
48305         * tests/test-wcsrtombs1.sh: New file.
48306         * tests/test-wcsrtombs2.sh: New file.
48307         * tests/test-wcsrtombs3.sh: New file.
48308         * tests/test-wcsrtombs4.sh: New file.
48309         * tests/test-wcsrtombs.c: New file.
48310
48311         New module 'wcsrtombs'.
48312         * lib/wchar.in.h (wcsrtombs): New declaration.
48313         * lib/wcsrtombs.c: New file.
48314         * m4/wcsrtombs.m4: New file.
48315         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
48316         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
48317         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
48318         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
48319         * modules/wcsrtombs: New file.
48320         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
48321         bugs.
48322
48323 2008-12-21  Bruno Haible  <bruno@clisp.org>
48324
48325         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
48326         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
48327         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
48328         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
48329         if not correct.
48330         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
48331         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
48332         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
48333         m4/locale-zh.m4, m4/codeset.m4.
48334         * doc/posix-functions/wcrtomb.texi: Document the bug.
48335
48336 2008-12-21  Bruno Haible  <bruno@clisp.org>
48337
48338         Work around a btowc() bug on IRIX 6.5.
48339         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
48340         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
48341         REPLACE_WTOBC if not.
48342         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
48343         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
48344         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
48345
48346 2008-12-21  Bruno Haible  <bruno@clisp.org>
48347
48348         * modules/wcrtomb-tests: New file.
48349         * tests/test-wcrtomb.sh: New file.
48350         * tests/test-wcrtomb.c: New file.
48351
48352         New module 'wcrtomb'.
48353         * lib/wchar.in.h (wcrtomb): New declaration.
48354         * lib/wcrtomb.c: New file.
48355         * m4/wcrtomb.m4: New file.
48356         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
48357         HAVE_WCRTOMB.
48358         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
48359         HAVE_WCRTOMB.
48360         * modules/wcrtomb: New file.
48361         * doc/posix-functions/wcrtomb.texi: Mention the new module.
48362
48363 2008-12-21  Bruno Haible  <bruno@clisp.org>
48364
48365         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
48366         * modules/mbsrtowcs (Files): Likewise.
48367         * modules/wctob (Files): Likewise.
48368         * modules/c-strcase-tests (Files): Likewise.
48369         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
48370         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
48371         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
48372         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
48373         * modules/vasnprintf-posix-tests (Files): Likewise.
48374
48375 2008-12-21  William Pursell  <bill.pursell@gmail.com>
48376
48377         gitlog-to-changelog: pass all command-line arguments to git-log
48378         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
48379         it is sometimes convenient to filter the commits in various ways.
48380         gitlog-to-changelog only allows --since to specify a start date,
48381         but git-log itself supports many other filtering mechanisms.
48382         At the moment, I want to filter by branch name.  Rather than
48383         adding a --branch option to gitlog-to-changelog, it seems more
48384         flexible to simply pass all options directly to git-log and let
48385         git do the work.  Notice that this effectively makes --since a
48386         redundant option for gitlog-to-changelog, but removing it would
48387         require current usage to change since calls would then require
48388         an additional '--'.
48389
48390 2008-12-21  Bruno Haible  <bruno@clisp.org>
48391
48392         * modules/mbsnrtowcs-tests: New file.
48393         * tests/test-mbsnrtowcs1.sh: New file.
48394         * tests/test-mbsnrtowcs2.sh: New file.
48395         * tests/test-mbsnrtowcs3.sh: New file.
48396         * tests/test-mbsnrtowcs4.sh: New file.
48397         * tests/test-mbsnrtowcs.c: New file.
48398
48399         New module 'mbsnrtowcs'.
48400         * lib/wchar.in.h (mbsnrtowcs): New declaration.
48401         * lib/mbsnrtowcs.c: New file.
48402         * lib/mbsrtowcs-state.c: New file.
48403         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
48404         (internal_state): Remove variable.
48405         * m4/mbsnrtowcs.m4: New file.
48406         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
48407         compilation units.
48408         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
48409         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
48410         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
48411         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
48412         * modules/mbsnrtowcs: New file.
48413         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
48414         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
48415         portability problem.
48416
48417 2008-12-21  Bruno Haible  <bruno@clisp.org>
48418
48419         Work around mbsrtowcs bug.
48420         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
48421         (gl_FUNC_MBSRTOWCS): Invoke it.
48422         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
48423         m4/locale-zh.m4.
48424         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
48425
48426 2008-12-21  Bruno Haible  <bruno@clisp.org>
48427
48428         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
48429
48430 2008-12-21  Bruno Haible  <bruno@clisp.org>
48431
48432         Update doc for AIX.
48433         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
48434         16-bit wchar_t type.
48435         * doc/posix-functions/btowc.texi: Likewise.
48436         * doc/posix-functions/fgetwc.texi: Likewise.
48437         * doc/posix-functions/fgetws.texi: Likewise.
48438         * doc/posix-functions/fputwc.texi: Likewise.
48439         * doc/posix-functions/fputws.texi: Likewise.
48440         * doc/posix-functions/fwide.texi: Likewise.
48441         * doc/posix-functions/fwprintf.texi: Likewise.
48442         * doc/posix-functions/fwscanf.texi: Likewise.
48443         * doc/posix-functions/getwchar.texi: Likewise.
48444         * doc/posix-functions/getwc.texi: Likewise.
48445         * doc/posix-functions/iswalnum.texi: Likewise.
48446         * doc/posix-functions/iswalpha.texi: Likewise.
48447         * doc/posix-functions/iswblank.texi: Likewise.
48448         * doc/posix-functions/iswcntrl.texi: Likewise.
48449         * doc/posix-functions/iswctype.texi: Likewise.
48450         * doc/posix-functions/iswdigit.texi: Likewise.
48451         * doc/posix-functions/iswgraph.texi: Likewise.
48452         * doc/posix-functions/iswlower.texi: Likewise.
48453         * doc/posix-functions/iswprint.texi: Likewise.
48454         * doc/posix-functions/iswpunct.texi: Likewise.
48455         * doc/posix-functions/iswspace.texi: Likewise.
48456         * doc/posix-functions/iswupper.texi: Likewise.
48457         * doc/posix-functions/iswxdigit.texi: Likewise.
48458         * doc/posix-functions/mbrtowc.texi: Likewise.
48459         * doc/posix-functions/mbsrtowcs.texi: Likewise.
48460         * doc/posix-functions/mbstowcs.texi: Likewise.
48461         * doc/posix-functions/mbtowc.texi: Likewise.
48462         * doc/posix-functions/putwchar.texi: Likewise.
48463         * doc/posix-functions/putwc.texi: Likewise.
48464         * doc/posix-functions/swprintf.texi: Likewise.
48465         * doc/posix-functions/tolower.texi: Likewise.
48466         * doc/posix-functions/toupper.texi: Likewise.
48467         * doc/posix-functions/towctrans.texi: Likewise.
48468         * doc/posix-functions/ungetwc.texi: Likewise.
48469         * doc/posix-functions/vswprintf.texi: Likewise.
48470         * doc/posix-functions/wcrtomb.texi: Likewise.
48471         * doc/posix-functions/wcscat.texi: Likewise.
48472         * doc/posix-functions/wcschr.texi: Likewise.
48473         * doc/posix-functions/wcscmp.texi: Likewise.
48474         * doc/posix-functions/wcscoll.texi: Likewise.
48475         * doc/posix-functions/wcscpy.texi: Likewise.
48476         * doc/posix-functions/wcscspn.texi: Likewise.
48477         * doc/posix-functions/wcsftime.texi: Likewise.
48478         * doc/posix-functions/wcslen.texi: Likewise.
48479         * doc/posix-functions/wcsncat.texi: Likewise.
48480         * doc/posix-functions/wcsncmp.texi: Likewise.
48481         * doc/posix-functions/wcsncpy.texi: Likewise.
48482         * doc/posix-functions/wcspbrk.texi: Likewise.
48483         * doc/posix-functions/wcsrchr.texi: Likewise.
48484         * doc/posix-functions/wcsrtombs.texi: Likewise.
48485         * doc/posix-functions/wcsspn.texi: Likewise.
48486         * doc/posix-functions/wcsstr.texi: Likewise.
48487         * doc/posix-functions/wcstod.texi: Likewise.
48488         * doc/posix-functions/wcstof.texi: Likewise.
48489         * doc/posix-functions/wcstoimax.texi: Likewise.
48490         * doc/posix-functions/wcstok.texi: Likewise.
48491         * doc/posix-functions/wcstold.texi: Likewise.
48492         * doc/posix-functions/wcstoll.texi: Likewise.
48493         * doc/posix-functions/wcstol.texi: Likewise.
48494         * doc/posix-functions/wcstombs.texi: Likewise.
48495         * doc/posix-functions/wcstoull.texi: Likewise.
48496         * doc/posix-functions/wcstoul.texi: Likewise.
48497         * doc/posix-functions/wcstoumax.texi: Likewise.
48498         * doc/posix-functions/wcswidth.texi: Likewise.
48499         * doc/posix-functions/wcsxfrm.texi: Likewise.
48500         * doc/posix-functions/wctob.texi: Likewise.
48501         * doc/posix-functions/wctomb.texi: Likewise.
48502         * doc/posix-functions/wctrans.texi: Likewise.
48503         * doc/posix-functions/wctype.texi: Likewise.
48504         * doc/posix-functions/wcwidth.texi: Likewise.
48505         * doc/posix-functions/wmemchr.texi: Likewise.
48506         * doc/posix-functions/wmemcmp.texi: Likewise.
48507         * doc/posix-functions/wmemcpy.texi: Likewise.
48508         * doc/posix-functions/wmemmove.texi: Likewise.
48509         * doc/posix-functions/wmemset.texi: Likewise.
48510         * doc/posix-functions/wprintf.texi: Likewise.
48511         * doc/posix-functions/wscanf.texi: Likewise.
48512
48513 2008-12-21  Bruno Haible  <bruno@clisp.org>
48514
48515         Update doc for HP-UX 11.11.
48516         * doc/posix-functions/btowc.texi: Clarify that the function is missing
48517         in HP-UX version 11.00, not in all versions of HP-UX 11.
48518         * doc/posix-functions/fwide.texi: Likewise.
48519         * doc/posix-functions/fwprintf.texi: Likewise.
48520         * doc/posix-functions/fwscanf.texi: Likewise.
48521         * doc/posix-functions/inet_ntop.texi: Likewise.
48522         * doc/posix-functions/inet_pton.texi: Likewise.
48523         * doc/posix-functions/mbrlen.texi: Likewise.
48524         * doc/posix-functions/mbrtowc.texi: Likewise.
48525         * doc/posix-functions/mbsinit.texi: Likewise.
48526         * doc/posix-functions/mbsrtowcs.texi: Likewise.
48527         * doc/posix-functions/swprintf.texi: Likewise.
48528         * doc/posix-functions/swscanf.texi: Likewise.
48529         * doc/posix-functions/towctrans.texi: Likewise.
48530         * doc/posix-functions/vfwprintf.texi: Likewise.
48531         * doc/posix-functions/vswprintf.texi: Likewise.
48532         * doc/posix-functions/vwprintf.texi: Likewise.
48533         * doc/posix-functions/wcrtomb.texi: Likewise.
48534         * doc/posix-functions/wcsrtombs.texi: Likewise.
48535         * doc/posix-functions/wcsstr.texi: Likewise.
48536         * doc/posix-functions/wctob.texi: Likewise.
48537         * doc/posix-functions/wctrans.texi: Likewise.
48538         * doc/posix-functions/wmemchr.texi: Likewise.
48539         * doc/posix-functions/wmemcmp.texi: Likewise.
48540         * doc/posix-functions/wmemcpy.texi: Likewise.
48541         * doc/posix-functions/wmemmove.texi: Likewise.
48542         * doc/posix-functions/wmemset.texi: Likewise.
48543         * doc/posix-functions/wprintf.texi: Likewise.
48544         * doc/posix-functions/wscanf.texi: Likewise.
48545
48546 2008-12-21  Bruno Haible  <bruno@clisp.org>
48547
48548         Work around a portability problem.
48549         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
48550         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
48551
48552 2008-12-20  Bruno Haible  <bruno@clisp.org>
48553
48554         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
48555         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
48556         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
48557         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
48558         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
48559
48560         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
48561         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
48562         set.
48563         (GNULIB_defined_mbstate_t): New macro.
48564         (mbsinit): Redefine if REPLACE_MBSINIT is set.
48565         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
48566         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
48567         reuses the system's mbrtowc function but works around the bugs.
48568         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
48569         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
48570         macros.
48571         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
48572         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
48573         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
48574         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
48575         REPLACE_MBSINIT if mbsinit needs to be overridden.
48576         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
48577         REPLACE_MBSINIT, REPLACE_MBRTOWC.
48578         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
48579         REPLACE_MBSINIT, REPLACE_MBRTOWC.
48580         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
48581         m4/locale-zh.m4.
48582         (Depends): Add mbsinit.
48583         * modules/mbsinit (Depends): Add mbrtowc.
48584         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
48585
48586 2008-12-20  Bruno Haible  <bruno@clisp.org>
48587
48588         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
48589         so that there are no conversion errors on AIX.
48590         * tests/test-mbsrtowcs.c (main): LIkewise.
48591
48592 2008-12-20  Bruno Haible  <bruno@clisp.org>
48593
48594         Work around wctob bug on Solaris <= 9.
48595         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
48596         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
48597         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
48598         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
48599         * modules/wctob (Files): Add m4/locale-fr.m4.
48600         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
48601
48602 2008-12-20  Bruno Haible  <bruno@clisp.org>
48603
48604         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
48605         /dev/null.
48606         * tests/test-select-in.sh: Likewise.
48607         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
48608
48609 2008-12-20  Bruno Haible  <bruno@clisp.org>
48610
48611         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
48612         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
48613         Cygwin 1.5.x.
48614
48615 2008-12-20  Bruno Haible  <bruno@clisp.org>
48616
48617         Ensure mbstate_t is defined on HP-UX 11.11.
48618         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
48619         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
48620         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
48621         AC_USE_SYSTEM_EXTENSIONS.
48622         * modules/fnmatch (Depends-on): Add extensions.
48623         * modules/mbrlen (Depends-on): Likewise.
48624         * modules/mbrtowc (Depends-on): Likewise.
48625         * modules/mbsinit (Depends-on): Likewise.
48626         * modules/mbsrtowcs (Depends-on): Likewise.
48627         * modules/mbswidth (Depends-on): Likewise.
48628         * modules/quotearg (Depends-on): Likewise.
48629         * modules/strftime (Depends-on): Likewise.
48630
48631 2008-12-20  Bruno Haible  <bruno@clisp.org>
48632
48633         Ensure wctob is declared on IRIX 6.5.
48634         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
48635         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
48636         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
48637         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
48638         of HAVE_WCTOB.
48639         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
48640         HAVE_WCTOB.
48641         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
48642
48643 2008-12-19  Bruno Haible  <bruno@clisp.org>
48644
48645         * modules/mbsrtowcs-tests: New file.
48646         * tests/test-mbsrtowcs1.sh: New file.
48647         * tests/test-mbsrtowcs2.sh: New file.
48648         * tests/test-mbsrtowcs3.sh: New file.
48649         * tests/test-mbsrtowcs4.sh: New file.
48650         * tests/test-mbsrtowcs.c: New file.
48651
48652         New module 'mbsrtowcs'.
48653         * lib/wchar.in.h (mbsrtowcs): New declaration.
48654         * lib/mbsrtowcs.c: New file.
48655         * m4/mbsrtowcs.m4: New file.
48656         * modules/mbsrtowcs: New file.
48657         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
48658         HAVE_MBSRTOWCS.
48659         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
48660         HAVE_MBSRTOWCS.
48661         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
48662
48663 2008-12-19  Bruno Haible  <bruno@clisp.org>
48664
48665         New module 'mbrlen'.
48666         * lib/wchar.in.h (mbrlen): New declaration.
48667         * lib/mbrlen.c: New file.
48668         * m4/mbrlen.m4: New file.
48669         * modules/mbrlen: New file.
48670         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
48671         HAVE_MBRLEN.
48672         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
48673         HAVE_MBRLEN.
48674         * doc/posix-functions/mbrlen.texi: Document the new module.
48675
48676 2008-12-19  Bruno Haible  <bruno@clisp.org>
48677
48678         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
48679         * modules/mbrtowc (Depends-on): Add verify.
48680         Suggested by Paul Eggert.
48681
48682 2008-12-18  Bruno Haible  <bruno@clisp.org>
48683
48684         * modules/mbsinit-tests: New file.
48685         * tests/test-mbsinit.sh: New file.
48686         * tests/test-mbsinit.c: New file.
48687
48688 2008-12-18  Bruno Haible  <bruno@clisp.org>
48689
48690         * modules/mbrtowc-tests: New file.
48691         * tests/test-mbrtowc1.sh: New file.
48692         * tests/test-mbrtowc2.sh: New file.
48693         * tests/test-mbrtowc3.sh: New file.
48694         * tests/test-mbrtowc4.sh: New file.
48695         * tests/test-mbrtowc.c: New file.
48696
48697         New module 'mbrtowc'.
48698         * lib/wchar.in.h (mbstate_t): Override when the system does not have
48699         mbsinit and mbrtowc.
48700         (mbrtowc): New declaration.
48701         * lib/mbrtowc.c: New file.
48702         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
48703         * modules/mbrtowc: New file.
48704         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
48705         HAVE_MBRTOWC.
48706         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
48707         HAVE_MBRTOWC.
48708         * doc/posix-functions/mbrtowc.texi: Document the new module.
48709
48710 2008-12-18  Bruno Haible  <bruno@clisp.org>
48711
48712         New module 'wctob'.
48713         * lib/wchar.in.h (wctob): New declaration.
48714         * lib/wctob.c: New file.
48715         * m4/wctob.m4: New file.
48716         * modules/wctob: New file.
48717         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
48718         HAVE_WCTOB.
48719         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
48720         * doc/posix-functions/wctob.texi: Document the new module.
48721
48722 2008-12-18  Bruno Haible  <bruno@clisp.org>
48723
48724         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
48725         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
48726
48727 2008-12-18  Simon Josefsson  <simon@josefsson.org>
48728
48729         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
48730         G. Christensen" <tgc@jupiterrise.com>.
48731
48732         * lib/flock.c: Need to include errno.h.  Reported by "Tom
48733         G. Christensen" <tgc@jupiterrise.com>.
48734
48735         * lib/flock.c: Need to include string.h.  Reported by "Tom
48736         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
48737         <ebb9@byu.net>.
48738
48739 2008-12-18  Bruno Haible  <bruno@clisp.org>
48740
48741         * m4/locale-ja.m4: New file, from GNU gettext.
48742
48743 2008-12-17  Bruno Haible  <bruno@clisp.org>
48744
48745         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
48746         Suggested by Eric Blake.
48747
48748 2008-12-17  Bruno Haible  <bruno@clisp.org>
48749
48750         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
48751
48752 2008-12-17  Bruno Haible  <bruno@clisp.org>
48753
48754         * lib/mbsinit.c: Include verify.h. Verify an assumption.
48755         * modules/mbsinit (Depends-on): Add verify.
48756         Suggested by Paul Eggert.
48757
48758 2008-12-17  Bruno Haible  <bruno@clisp.org>
48759
48760         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
48761         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
48762         gl_FUNC_MBRTOWC.
48763         * m4/mbiter.m4 (gl_MBITER): LIkewise.
48764         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
48765         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
48766         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
48767         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
48768         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
48769         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
48770         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
48771         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
48772         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
48773         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
48774         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
48775         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
48776         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
48777         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
48778         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
48779         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
48780         * modules/trim (configure.ac): Likewise.
48781
48782 2008-12-17  Bruno Haible  <bruno@clisp.org>
48783
48784         * modules/btowc-tests: New file.
48785         * tests/test-btowc1.sh: New file.
48786         * tests/test-btowc2.sh: New file.
48787         * tests/test-btowc.c: New file.
48788
48789         New module 'btowc'.
48790         * lib/wchar.in.h (btowc): New declaration.
48791         * lib/btowc.c: New file.
48792         * m4/btowc.m4: New file.
48793         * modules/btowc: New file.
48794         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
48795         HAVE_BTOWC.
48796         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
48797         * doc/posix-functions/btowc.texi: Document the new module.
48798
48799 2008-12-17  Bruno Haible  <bruno@clisp.org>
48800
48801         New module 'mbsinit'.
48802         * lib/wchar.in.h (mbsinit): New declaration.
48803         * lib/mbsinit.c: New file.
48804         * m4/mbsinit.m4: New file.
48805         * modules/mbsinit: New file.
48806         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
48807         HAVE_MBSINIT.
48808         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
48809         HAVE_MBSINIT.
48810         * doc/posix-functions/mbsinit.texi: Document the new module.
48811
48812 2008-12-16  Bruno Haible  <bruno@clisp.org>
48813
48814         * lib/unistd.in.h: Add comment.
48815         * tests/test-environ.c: Don't include <stdlib.h>.
48816
48817 2008-12-16  Bruno Haible  <bruno@clisp.org>
48818
48819         * lib/parse-duration.h (parse_duration): Document return value
48820         convention.
48821         * lib/parse-duration.c: Include specification header first. Add
48822         comments.
48823         (_): Remove macro.
48824         (parse_year_month_day, parse_hour_minute_second): Move side effects
48825         outside of strchr call.
48826         (parse_non_iso8601): Move side effects outside of isspace call.
48827         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
48828         call.
48829
48830 2008-12-16  Bruno Haible  <bruno@clisp.org>
48831
48832         * tests/test-parse-duration.sh: Produce no output when the test
48833         succeeds.
48834
48835 2008-12-16  Bruno Haible  <bruno@clisp.org>
48836
48837         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
48838         expressions.
48839
48840 2008-12-15  Bruno Haible  <bruno@clisp.org>
48841
48842         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
48843         * doc/glibc-functions/flistxattr.texi: Likewise.
48844         * doc/glibc-functions/fopencookie.texi: Likewise.
48845         * doc/glibc-functions/fremovexattr.texi: Likewise.
48846         * doc/glibc-functions/fsetxattr.texi: Likewise.
48847         * doc/glibc-functions/getxattr.texi: Likewise.
48848         * doc/glibc-functions/lgetxattr.texi: Likewise.
48849         * doc/glibc-functions/listxattr.texi: Likewise.
48850         * doc/glibc-functions/llistxattr.texi: Likewise.
48851         * doc/glibc-functions/lremovexattr.texi: Likewise.
48852         * doc/glibc-functions/lsetxattr.texi: Likewise.
48853         * doc/glibc-functions/removexattr.texi: Likewise.
48854         * doc/glibc-functions/setxattr.texi: Likewise.
48855         * doc/posix-functions/open_memstream.texi: Likewise.
48856
48857 2008-12-15  Eric Blake  <ebb9@byu.net>
48858
48859         Update doc for cygwin 1.7.
48860         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
48861         functions.
48862         * doc/posix-functions/fchmodat.texi: Likewise.
48863         * doc/posix-functions/fchownat.texi: Likewise.
48864         * doc/posix-functions/fdopendir.texi: Likewise.
48865         * doc/posix-functions/fmemopen.texi: Likewise.
48866         * doc/posix-functions/freeaddrinfo.texi: Likewise.
48867         * doc/posix-functions/fstatat.texi: Likewise.
48868         * doc/posix-functions/futimens.texi: Likewise.
48869         * doc/posix-functions/gai_strerror.texi: Likewise.
48870         * doc/posix-functions/getaddrinfo.texi: Likewise.
48871         * doc/posix-functions/getnameinfo.texi: Likewise.
48872         * doc/posix-functions/if_freenameindex.texi: Likewise.
48873         * doc/posix-functions/if_indextoname.texi: Likewise.
48874         * doc/posix-functions/if_nameindex.texi: Likewise.
48875         * doc/posix-functions/if_nametoindex.texi: Likewise.
48876         * doc/posix-functions/insque.texi: Likewise.
48877         * doc/posix-functions/linkat.texi: Likewise.
48878         * doc/posix-functions/llrint.texi: Likewise.
48879         * doc/posix-functions/llrintf.texi: Likewise.
48880         * doc/posix-functions/llrintl.texi: Likewise.
48881         * doc/posix-functions/lockf.texi: Likewise.
48882         * doc/posix-functions/lrintl.texi: Likewise.
48883         * doc/posix-functions/mkdirat.texi: Likewise.
48884         * doc/posix-functions/mkfifoat.texi: Likewise.
48885         * doc/posix-functions/mknodat.texi: Likewise.
48886         * doc/posix-functions/mq_close.texi: Likewise.
48887         * doc/posix-functions/mq_getattr.texi: Likewise.
48888         * doc/posix-functions/mq_notify.texi: Likewise.
48889         * doc/posix-functions/mq_open.texi: Likewise.
48890         * doc/posix-functions/mq_receive.texi: Likewise.
48891         * doc/posix-functions/mq_send.texi: Likewise.
48892         * doc/posix-functions/mq_setattr.texi: Likewise.
48893         * doc/posix-functions/mq_timedreceive.texi: Likewise.
48894         * doc/posix-functions/mq_timedsend.texi: Likewise.
48895         * doc/posix-functions/mq_unlink.texi: Likewise.
48896         * doc/posix-functions/open_memstream.texi: Likewise.
48897         * doc/posix-functions/openat.texi: Likewise.
48898         * doc/posix-functions/posix_fadvise.texi: Likewise.
48899         * doc/posix-functions/posix_fallocate.texi: Likewise.
48900         * doc/posix-functions/posix_madvise.texi: Likewise.
48901         * doc/posix-functions/posix_memalign.texi: Likewise.
48902         * doc/posix-functions/posix_openpt.texi: Likewise.
48903         * doc/posix-functions/readlinkat.texi: Likewise.
48904         * doc/posix-functions/remque.texi: Likewise.
48905         * doc/posix-functions/renameat.texi: Likewise.
48906         * doc/posix-functions/rintl.texi: Likewise.
48907         * doc/posix-functions/sem_unlink.texi: Likewise.
48908         * doc/posix-functions/shm_open.texi: Likewise.
48909         * doc/posix-functions/shm_unlink.texi: Likewise.
48910         * doc/posix-functions/signgam.texi: Likewise.
48911         * doc/posix-functions/sigset.texi: Likewise.
48912         * doc/posix-functions/stpcpy.texi: Likewise.
48913         * doc/posix-functions/stpncpy.texi: Likewise.
48914         * doc/posix-functions/strerror.texi: Likewise.
48915         * doc/posix-functions/strtod.texi: Likewise.
48916         * doc/posix-functions/symlinkat.texi: Likewise.
48917         * doc/posix-functions/unlinkat.texi: Likewise.
48918         * doc/posix-functions/utimensat.texi: Likewise.
48919         * doc/glibc-functions/bindresvport.texi: Likewise.
48920         * doc/glibc-functions/dn_expand.texi: Likewise.
48921         * doc/glibc-functions/exp10.texi: Likewise.
48922         * doc/glibc-functions/exp10f.texi: Likewise.
48923         * doc/glibc-functions/fgetxattr.texi: Likewise.
48924         * doc/glibc-functions/flistxattr.texi: Likewise.
48925         * doc/glibc-functions/fopencookie.texi: Likewise.
48926         * doc/glibc-functions/freeifaddrs.texi: Likewise.
48927         * doc/glibc-functions/fremovexattr.texi: Likewise.
48928         * doc/glibc-functions/fsetxattr.texi: Likewise.
48929         * doc/glibc-functions/getifaddrs.texi: Likewise.
48930         * doc/glibc-functions/getxattr.texi: Likewise.
48931         * doc/glibc-functions/lgetxattr.texi: Likewise.
48932         * doc/glibc-functions/listxattr.texi: Likewise.
48933         * doc/glibc-functions/llistxattr.texi: Likewise.
48934         * doc/glibc-functions/lremovexattr.texi: Likewise.
48935         * doc/glibc-functions/lsetxattr.texi: Likewise.
48936         * doc/glibc-functions/pow10.texi: Likewise.
48937         * doc/glibc-functions/pow10f.texi: Likewise.
48938         * doc/glibc-functions/rcmd_af.texi: Likewise.
48939         * doc/glibc-functions/removexattr.texi: Likewise.
48940         * doc/glibc-functions/res_init.texi: Likewise.
48941         * doc/glibc-functions/res_mkquery.texi: Likewise.
48942         * doc/glibc-functions/res_query.texi: Likewise.
48943         * doc/glibc-functions/res_querydomain.texi: Likewise.
48944         * doc/glibc-functions/res_send.texi: Likewise.
48945         * doc/glibc-functions/rresvport_af.texi: Likewise.
48946         * doc/glibc-functions/setxattr.texi: Likewise.
48947         * doc/glibc-functions/strcasestr.texi: Likewise.
48948
48949 2008-12-15  Bruno Haible  <bruno@clisp.org>
48950
48951         Fix compilation error on OSF/1 4.0.
48952         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
48953         <sys/time.h>, simply delegate to the system header.
48954         Reported by Daniel Richard G. <oss@teragram.com>.
48955
48956 2008-12-15  Bruno Haible  <bruno@clisp.org>
48957
48958         * doc/posix-functions/openat.texi: Mention the 'openat' module.
48959         * doc/posix-functions/fchmodat.texi: Likewise.
48960         * doc/posix-functions/fchownat.texi: Likewise.
48961         * doc/posix-functions/fdopendir.texi: Likewise.
48962         * doc/posix-functions/fstatat.texi: Likewise.
48963         * doc/posix-functions/mkdirat.texi: Likewise.
48964         * doc/posix-functions/unlinkat.texi: Likewise.
48965
48966 2008-12-14  Bruno Haible  <bruno@clisp.org>
48967
48968         Update doc for POSIX:2008.
48969         * doc/posix-functions/faccessat.texi: New file.
48970         * doc/posix-functions/fchmodat.texi: New file.
48971         * doc/posix-functions/fchownat.texi: New file.
48972         * doc/posix-functions/fdopendir.texi: New file.
48973         * doc/posix-functions/fstatat.texi: New file.
48974         * doc/posix-functions/futimens.texi: New file.
48975         * doc/posix-functions/linkat.texi: New file.
48976         * doc/posix-functions/mkdirat.texi: New file.
48977         * doc/posix-functions/mkfifoat.texi: New file.
48978         * doc/posix-functions/mknodat.texi: New file.
48979         * doc/posix-functions/open_wmemstream.texi: New file.
48980         * doc/posix-functions/openat.texi: New file.
48981         * doc/posix-functions/psiginfo.texi: New file.
48982         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
48983         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
48984         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
48985         * doc/posix-functions/readlinkat.texi: New file.
48986         * doc/posix-functions/renameat.texi: New file.
48987         * doc/posix-functions/strerror_l.texi: New file.
48988         * doc/posix-functions/symlinkat.texi: New file.
48989         * doc/posix-functions/unlinkat.texi: New file.
48990         * doc/posix-functions/utimensat.texi: New file.
48991         * doc/gnulib.texi (Function Substitutes): Add these subsections.
48992
48993 2008-12-14  Bruno Haible  <bruno@clisp.org>
48994
48995         Update doc for POSIX:2008.
48996         * doc/posix-functions/alphasort.texi: Renamed from
48997         doc/glibc-functions/alphasort.texi.
48998         * doc/posix-functions/dirfd.texi: Renamed from
48999         doc/glibc-functions/dirfd.texi.
49000         * doc/posix-functions/dprintf.texi: Renamed from
49001         doc/glibc-functions/dprintf.texi.
49002         * doc/posix-functions/duplocale.texi: Renamed from
49003         doc/glibc-functions/duplocale.texi.
49004         * doc/posix-functions/fexecve.texi: Renamed from
49005         doc/glibc-functions/fexecve.texi.
49006         * doc/posix-functions/fmemopen.texi: Renamed from
49007         doc/glibc-functions/fmemopen.texi.
49008         * doc/posix-functions/freelocale.texi: Renamed from
49009         doc/glibc-functions/freelocale.texi.
49010         * doc/posix-functions/getdate_err.texi: Renamed from
49011         doc/glibc-functions/getdate_err.texi.
49012         * doc/posix-functions/isalnum_l.texi: Renamed from
49013         doc/glibc-functions/isalnum_l.texi.
49014         * doc/posix-functions/isalpha_l.texi: Renamed from
49015         doc/glibc-functions/isalpha_l.texi.
49016         * doc/posix-functions/isblank_l.texi: Renamed from
49017         doc/glibc-functions/isblank_l.texi.
49018         * doc/posix-functions/iscntrl_l.texi: Renamed from
49019         doc/glibc-functions/iscntrl_l.texi.
49020         * doc/posix-functions/isdigit_l.texi: Renamed from
49021         doc/glibc-functions/isdigit_l.texi.
49022         * doc/posix-functions/isgraph_l.texi: Renamed from
49023         doc/glibc-functions/isgraph_l.texi.
49024         * doc/posix-functions/islower_l.texi: Renamed from
49025         doc/glibc-functions/islower_l.texi.
49026         * doc/posix-functions/isprint_l.texi: Renamed from
49027         doc/glibc-functions/isprint_l.texi.
49028         * doc/posix-functions/ispunct_l.texi: Renamed from
49029         doc/glibc-functions/ispunct_l.texi.
49030         * doc/posix-functions/isspace_l.texi: Renamed from
49031         doc/glibc-functions/isspace_l.texi.
49032         * doc/posix-functions/isupper_l.texi: Renamed from
49033         doc/glibc-functions/isupper_l.texi.
49034         * doc/posix-functions/iswalnum_l.texi: Renamed from
49035         doc/glibc-functions/iswalnum_l.texi.
49036         * doc/posix-functions/iswalpha_l.texi: Renamed from
49037         doc/glibc-functions/iswalpha_l.texi.
49038         * doc/posix-functions/iswblank_l.texi: Renamed from
49039         doc/glibc-functions/iswblank_l.texi.
49040         * doc/posix-functions/iswcntrl_l.texi: Renamed from
49041         doc/glibc-functions/iswcntrl_l.texi.
49042         * doc/posix-functions/iswctype_l.texi: Renamed from
49043         doc/glibc-functions/iswctype_l.texi.
49044         * doc/posix-functions/iswdigit_l.texi: Renamed from
49045         doc/glibc-functions/iswdigit_l.texi.
49046         * doc/posix-functions/iswgraph_l.texi: Renamed from
49047         doc/glibc-functions/iswgraph_l.texi.
49048         * doc/posix-functions/iswlower_l.texi: Renamed from
49049         doc/glibc-functions/iswlower_l.texi.
49050         * doc/posix-functions/iswprint_l.texi: Renamed from
49051         doc/glibc-functions/iswprint_l.texi.
49052         * doc/posix-functions/iswpunct_l.texi: Renamed from
49053         doc/glibc-functions/iswpunct_l.texi.
49054         * doc/posix-functions/iswspace_l.texi: Renamed from
49055         doc/glibc-functions/iswspace_l.texi.
49056         * doc/posix-functions/iswupper_l.texi: Renamed from
49057         doc/glibc-functions/iswupper_l.texi.
49058         * doc/posix-functions/iswxdigit_l.texi: Renamed from
49059         doc/glibc-functions/iswxdigit_l.texi.
49060         * doc/posix-functions/isxdigit_l.texi: Renamed from
49061         doc/glibc-functions/isxdigit_l.texi.
49062         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
49063         doc/glibc-functions/mbsnrtowcs.texi.
49064         * doc/posix-functions/mkdtemp.texi: Renamed from
49065         doc/glibc-functions/mkdtemp.texi.
49066         * doc/posix-functions/newlocale.texi: Renamed from
49067         doc/glibc-functions/newlocale.texi.
49068         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
49069         doc/glibc-functions/nl_langinfo_l.texi.
49070         * doc/posix-functions/open_memstream.texi: Renamed from
49071         doc/glibc-functions/open_memstream.texi.
49072         * doc/posix-functions/opterr.texi: Renamed from
49073         doc/glibc-functions/opterr.texi.
49074         * doc/posix-functions/optind.texi: Renamed from
49075         doc/glibc-functions/optind.texi.
49076         * doc/posix-functions/optopt.texi: Renamed from
49077         doc/glibc-functions/optopt.texi.
49078         * doc/posix-functions/psignal.texi: Renamed from
49079         doc/glibc-functions/psignal.texi.
49080         * doc/posix-functions/scandir.texi: Renamed from
49081         doc/glibc-functions/scandir.texi.
49082         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
49083         doc/glibc-functions/sched_get_priority_min.texi.
49084         * doc/posix-functions/signgam.texi: Renamed from
49085         doc/glibc-functions/signgam.texi.
49086         * doc/posix-functions/stpcpy.texi: Renamed from
49087         doc/glibc-functions/stpcpy.texi.
49088         * doc/posix-functions/stpncpy.texi: Renamed from
49089         doc/glibc-functions/stpncpy.texi.
49090         * doc/posix-functions/strcasecmp_l.texi: Renamed from
49091         doc/glibc-functions/strcasecmp_l.texi.
49092         * doc/posix-functions/strcoll_l.texi: Renamed from
49093         doc/glibc-functions/strcoll_l.texi.
49094         * doc/posix-functions/strfmon_l.texi: Renamed from
49095         doc/glibc-functions/strfmon_l.texi.
49096         * doc/posix-functions/strftime_l.texi: Renamed from
49097         doc/glibc-functions/strftime_l.texi.
49098         * doc/posix-functions/strncasecmp_l.texi: Renamed from
49099         doc/glibc-functions/strncasecmp_l.texi.
49100         * doc/posix-functions/strndup.texi: Renamed from
49101         doc/glibc-functions/strndup.texi.
49102         * doc/posix-functions/strnlen.texi: Renamed from
49103         doc/glibc-functions/strnlen.texi.
49104         * doc/posix-functions/strsignal.texi: Renamed from
49105         doc/glibc-functions/strsignal.texi.
49106         * doc/posix-functions/strxfrm_l.texi: Renamed from
49107         doc/glibc-functions/strxfrm_l.texi.
49108         * doc/posix-functions/timer_gettime.texi: Renamed from
49109         doc/glibc-functions/timer_gettime.texi.
49110         * doc/posix-functions/tolower_l.texi: Renamed from
49111         doc/glibc-functions/tolower_l.texi.
49112         * doc/posix-functions/toupper_l.texi: Renamed from
49113         doc/glibc-functions/toupper_l.texi.
49114         * doc/posix-functions/towctrans_l.texi: Renamed from
49115         doc/glibc-functions/towctrans_l.texi.
49116         * doc/posix-functions/towlower_l.texi: Renamed from
49117         doc/glibc-functions/towlower_l.texi.
49118         * doc/posix-functions/towupper_l.texi: Renamed from
49119         doc/glibc-functions/towupper_l.texi.
49120         * doc/posix-functions/uselocale.texi: Renamed from
49121         doc/glibc-functions/uselocale.texi.
49122         * doc/posix-functions/vdprintf.texi: Renamed from
49123         doc/glibc-functions/vdprintf.texi.
49124         * doc/posix-functions/wcpcpy.texi:
49125         Renamed from doc/glibc-functions/wcpcpy.texi.
49126         * doc/posix-functions/wcpncpy.texi: Renamed from
49127         doc/glibc-functions/wcpncpy.texi.
49128         * doc/posix-functions/wcscasecmp.texi: Renamed from
49129         doc/glibc-functions/wcscasecmp.texi.
49130         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
49131         doc/glibc-functions/wcscasecmp_l.texi.
49132         * doc/posix-functions/wcscoll_l.texi: Renamed from
49133         doc/glibc-functions/wcscoll_l.texi.
49134         * doc/posix-functions/wcsdup.texi: Renamed from
49135         doc/glibc-functions/wcsdup.texi.
49136         * doc/posix-functions/wcsncasecmp.texi: Renamed from
49137         doc/glibc-functions/wcsncasecmp.texi.
49138         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
49139         doc/glibc-functions/wcsncasecmp_l.texi.
49140         * doc/posix-functions/wcsnlen.texi: Renamed from
49141         doc/glibc-functions/wcsnlen.texi.
49142         * doc/posix-functions/wcsnrtombs.texi: Renamed from
49143         doc/glibc-functions/wcsnrtombs.texi.
49144         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
49145         doc/glibc-functions/wcsxfrm_l.texi.
49146         * doc/posix-functions/wctrans_l.texi: Renamed from
49147         doc/glibc-functions/wctrans_l.texi.
49148         * doc/posix-functions/wctype_l.texi: Renamed from
49149         doc/glibc-functions/wctype_l.texi.
49150         * doc/gnulib.texi (Function Substitutes): Add these subsections.
49151         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
49152         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
49153         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
49154         these subsections.
49155         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
49156         Remove sections.
49157
49158 2008-12-14  Bruno Haible  <bruno@clisp.org>
49159
49160         Update doc for POSIX:2008.
49161         * doc/posix-functions/*.texi: Update URL of POSIX specification.
49162
49163 2008-12-14  Bruno Haible  <bruno@clisp.org>
49164
49165         Update doc for POSIX:2008.
49166         * doc/pastposix-functions/bcmp.texi: Renamed from
49167         doc/posix-functions/bcmp.texi.
49168         * doc/pastposix-functions/bcopy.texi: Renamed from
49169         doc/posix-functions/bcopy.texi.
49170         * doc/pastposix-functions/bsd_signal.texi: Renamed from
49171         doc/posix-functions/bsd_signal.texi.
49172         * doc/pastposix-functions/bzero.texi: Renamed from
49173         doc/posix-functions/bzero.texi.
49174         * doc/pastposix-functions/ecvt.texi: Renamed from
49175         doc/posix-functions/ecvt.texi.
49176         * doc/pastposix-functions/fcvt.texi: Renamed from
49177         doc/posix-functions/fcvt.texi.
49178         * doc/pastposix-functions/ftime.texi: Renamed from
49179         doc/posix-functions/ftime.texi.
49180         * doc/pastposix-functions/gcvt.texi: Renamed from
49181         doc/posix-functions/gcvt.texi.
49182         * doc/pastposix-functions/getcontext.texi: Renamed from
49183         doc/posix-functions/getcontext.texi.
49184         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
49185         doc/posix-functions/gethostbyaddr.texi.
49186         * doc/pastposix-functions/gethostbyname.texi: Renamed from
49187         doc/posix-functions/gethostbyname.texi.
49188         * doc/pastposix-functions/getwd.texi: Renamed from
49189         doc/posix-functions/getwd.texi.
49190         * doc/pastposix-functions/h_errno.texi: Renamed from
49191         doc/posix-functions/h_errno.texi.
49192         * doc/pastposix-functions/index.texi: Renamed from
49193         doc/posix-functions/index.texi.
49194         * doc/pastposix-functions/makecontext.texi: Renamed from
49195         doc/posix-functions/makecontext.texi.
49196         * doc/pastposix-functions/mktemp.texi: Renamed from
49197         doc/posix-functions/mktemp.texi.
49198         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
49199         doc/posix-functions/pthread_attr_getstackaddr.texi.
49200         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
49201         doc/posix-functions/pthread_attr_setstackaddr.texi.
49202         * doc/pastposix-functions/rindex.texi: Renamed from
49203         doc/posix-functions/rindex.texi.
49204         * doc/pastposix-functions/scalb.texi: Renamed from
49205         doc/posix-functions/scalb.texi.
49206         * doc/pastposix-functions/setcontext.texi: Renamed from
49207         doc/posix-functions/setcontext.texi.
49208         * doc/pastposix-functions/swapcontext.texi: Renamed from
49209         doc/posix-functions/swapcontext.texi.
49210         * doc/pastposix-functions/ualarm.texi: Renamed from
49211         doc/posix-functions/ualarm.texi.
49212         * doc/pastposix-functions/usleep.texi: Renamed from
49213         doc/posix-functions/usleep.texi.
49214         * doc/pastposix-functions/vfork.texi: Renamed from
49215         doc/posix-functions/vfork.texi.
49216         * doc/pastposix-functions/wcswcs.texi: Renamed from
49217         doc/posix-functions/wcswcs.texi.
49218         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
49219         (Function Substitutes): Update.
49220
49221 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49222
49223         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
49224         m4/strerror.m4.
49225
49226 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49227             Bruno Haible  <bruno@clisp.org>
49228
49229         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
49230
49231 2008-12-13  Bruno Haible  <bruno@clisp.org>
49232
49233         * modules/strtoull (Depends-on): Remove unistd.
49234
49235 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49236
49237         * modules/strtoull (Depends-on): Add stdlib.
49238
49239 2008-12-11  Simon Josefsson  <simon@josefsson.org>
49240
49241         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
49242
49243 2008-12-10  Jim Meyering  <meyering@redhat.com>
49244
49245         gl_ASSERT: don't say assertions are disabled when they're not
49246         * m4/assert.m4 (gl_ASSERT): Do not make configure report
49247         "checking whether to enable assertions... no", when they are in
49248         fact enabled.  This is solely a bug in the output of configure.
49249         In spite of saying "no", NDEBUG was not defined in that case.
49250         Also, as noted by Eric Blake, leave assertions enabled upon
49251         --enable-assert=INVALID.
49252
49253 2008-12-10  Bruno Haible  <bruno@clisp.org>
49254
49255         Change MODULES.html to refer to POSIX:2008 where possible.
49256         * MODULES.html.sh (POSIX2008_URL): New variable.
49257         (posix_headers): Remove sys/timeb, ucontext.
49258         (posix2001_headers): New variable.
49259         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
49260         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
49261         index, makecontext, mktemp, pthread_attr_getstackaddr,
49262         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
49263         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
49264         (posix2001_functions): New variable.
49265         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
49266         otherwise.
49267
49268 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49269
49270         add missing include to parse-duration.c
49271         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
49272         * modules/parse-duration (Depends-on): Add xalloc.
49273
49274         fix sed script reading maint.mk
49275         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
49276         (syntax-check-rules): Use it.
49277
49278 2008-12-09  Bruno Haible  <bruno@clisp.org>
49279
49280         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
49281         MacOS X 10.4/PowerPC.
49282         Reported by Simon Josefsson.
49283
49284 2008-12-08  Jim Meyering  <meyering@redhat.com>
49285
49286         work around mingw's lack of some S_IF definitions
49287         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
49288         Reported by Simon Josefsson.
49289
49290 2008-12-08  Bruno Haible  <bruno@clisp.org>
49291
49292         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
49293         applied to variables. Needed on MacOS X 10.4/PowerPC.
49294         Reported by Simon Josefsson.
49295
49296 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
49297         and Eric Blake  <ebb9@byu.net>
49298
49299         assert: honor --enable-assert
49300         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
49301         order to honor --enable-assert, rather than treating it as a
49302         synonym for --disable-assert.
49303
49304 2008-12-08  Jim Meyering  <meyering@redhat.com>
49305
49306         * lib/posixtm.c: Remove now-useless declaration of mktime.
49307
49308         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
49309
49310 2008-12-07  Bruno Haible  <bruno@clisp.org>
49311
49312         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
49313         test_once): Mark functions as static.
49314         * tests/test-tls.c (test_tls): Likewise.
49315
49316 2008-12-07  Bruno Haible  <bruno@clisp.org>
49317
49318         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
49319         iconv_register_autodetect.
49320
49321 2008-12-07  Jim Meyering  <meyering@redhat.com>
49322
49323         posixtm.c: avoid a warning
49324         * lib/posixtm.c (posixtime): Don't initialize tm0.
49325         It's no longer needed to placate gcc4's -Wuninitialized,
49326         and the attempt to placate would elicit a new warning.
49327
49328         unicodeio.c: mark unused parameters
49329         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
49330         (fallback_failure_callback): Likewise.
49331
49332 2008-12-07  Bruno Haible  <bruno@clisp.org>
49333
49334         * gnulib-tool (func_create_testdir): When building the tests
49335         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
49336         Reported by Simon Josefsson.
49337
49338 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49339
49340         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
49341
49342 2008-12-06  Bruno Haible  <bruno@clisp.org>
49343
49344         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
49345         Suggested by Eric Blake.
49346
49347 2008-12-06  Bruno Haible  <bruno@clisp.org>
49348
49349         Fix a c-stack test failure on MacOS X.
49350         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
49351         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
49352         handler for SIGBUS as well.
49353         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
49354         install a signal handler for SIGBUS as well.
49355         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
49356
49357 2008-12-06  Bruno Haible  <bruno@clisp.org>
49358
49359         Advocacy documentation.
49360         * doc/gnulib-intro.texi (Benefits): New section.
49361         * doc/gnulib.texi: Update.
49362
49363 2008-12-06  Bruno Haible  <bruno@clisp.org>
49364
49365         Document the 'manywarnings' module.
49366         * doc/manywarnings.texi: New file.
49367         * doc/gnulib.texi: Include it.
49368
49369 2008-12-05  Eric Blake  <ebb9@byu.net>
49370
49371         tests: silence some gcc warnings
49372         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
49373         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
49374         type mismatches.
49375
49376 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49377             Bruno Haible  <bruno@clisp.org>
49378
49379         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
49380
49381 2008-11-29  Jim Meyering  <meyering@redhat.com>
49382
49383         unicodeio.c: mark unused parameters
49384         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
49385         (fallback_failure_callback): Likewise.
49386
49387         fts: fix a thinko
49388         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
49389         (set_stat_type): Return S_IF*-valued "type" directly.
49390         Prompted by James Youngman's spotting a related bug.
49391         Confirmed by further testing through find.
49392
49393         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
49394         * lib/fts.c (D_TYPE): Define.
49395         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
49396         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
49397         (s_ifmt_shift_bits): New function.
49398         (set_stat_type): New function.
49399         (fts_build): When not calling fts_stat, call set_stat_type
49400         to propagate dirent.d_type info to fts_read caller.
49401         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
49402         fts_statp->st_mode type information may be valid.
49403
49404 2008-11-28  Simon Josefsson  <simon@josefsson.org>
49405
49406         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
49407         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
49408         <sds@gnu.org>.
49409
49410 2008-11-20  Bruno Haible  <bruno@clisp.org>
49411
49412         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
49413         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
49414         INCLUDE_NEXT.
49415         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
49416         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
49417         * modules/math (Makefile.am): Substitute
49418         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
49419         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
49420
49421 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
49422             Bruno Haible  <bruno@clisp.org>
49423
49424         * lib/stdint.in.h: Define all type macros so that their expansion is
49425         a single typedef'ed token. Fixes a compilation failure in Boost which
49426         does "using ::int8_t;".
49427
49428 2008-11-18  Simon Josefsson  <simon@josefsson.org>
49429
49430         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
49431         gl_MANYWARN_ALL_GCC.
49432         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
49433         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
49434         * modules/manywarnings: New file.
49435         * MODULES.html.sh: Mention manywarnings module.
49436
49437 2008-11-18  Bruno Haible  <bruno@clisp.org>
49438
49439         * doc/gnulib-tool.texi (Unit tests): New section.
49440
49441 2008-11-18  Simon Josefsson  <simon@josefsson.org>
49442
49443         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
49444         paths like 'lib/po/foo.po'.
49445
49446 2008-11-17  Simon Josefsson  <simon@josefsson.org>
49447
49448         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
49449         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
49450
49451 2008-11-17  Simon Josefsson  <simon@josefsson.org>
49452
49453         * m4/warnings.m4: Use CPPFLAGS to really check whether the
49454         parameter works.
49455
49456 2008-11-17  Simon Josefsson  <simon@josefsson.org>
49457
49458         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
49459
49460 2008-11-17  Bruce Korb  <bkorb@gnu.org>
49461
49462         * modules/parse-duration-tests: New file.
49463         * tests/test-parse-duration.sh: New file.
49464         * tests/test-parse-duration.c: New file.
49465
49466         New module 'parse-duration'.
49467         * lib/parse-duration.h: New file.
49468         * lib/parse-duration.c: New file.
49469         * modules/parse-duration: New file.
49470
49471 2008-11-17  Bruno Haible  <bruno@clisp.org>
49472
49473         * tests/test-select-out.sh: Comment out the first pipe test.
49474         Reported by Simon Josefsson.
49475
49476 2008-11-17  Bruno Haible  <bruno@clisp.org>
49477
49478         * modules/getaddrinfo (Depends-on): Add servent, hostent.
49479         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
49480         gl_HOSTENT.
49481
49482 2008-11-17  Bruno Haible  <bruno@clisp.org>
49483
49484         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
49485         -lnetwork and -lnet. Needed for Haiku and BeOS.
49486
49487 2008-11-16  Bruno Haible  <bruno@clisp.org>
49488
49489         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
49490
49491 2008-11-16  Bruno Haible  <bruno@clisp.org>
49492
49493         Avoid test failure on Haiku.
49494         * tests/test-fsync.c: Include <errno.h>.
49495         (main): Don't require that fsync (0) fails.
49496
49497 2008-11-15  Bruno Haible  <bruno@clisp.org>
49498
49499         New module 'hostent'.
49500         * modules/hostent: New file.
49501         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
49502
49503 2008-11-15  Bruno Haible  <bruno@clisp.org>
49504
49505         New module 'servent'.
49506         * modules/servent: New file.
49507         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
49508
49509 2008-11-15  Bruno Haible  <bruno@clisp.org>
49510
49511         Avoid generating same test program with two different rules.
49512         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
49513         test-frexp to test-frexp-nolibm.
49514         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
49515         test-frexpl to test-frexpl-nolibm.
49516
49517 2008-11-15  Bruno Haible  <bruno@clisp.org>
49518
49519         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
49520         $(FREXPL_LIBM).
49521
49522 2008-11-15  Bruno Haible  <bruno@clisp.org>
49523
49524         * lib/netdb.in.h: Activate the definitions also when the system's
49525         <netdb.h> has 'struct addrinfo'.
49526         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
49527         EAI_OVERFLOW or AI_NUMERICSERV.
49528         * doc/posix-headers/netdb.texi: Document the problem.
49529
49530 2008-11-15  Bruno Haible  <bruno@clisp.org>
49531
49532         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
49533
49534         Make the 'sched' module work on platforms where <sched.h> exists but
49535         is incomplete (such as Haiku).
49536         * lib/sched.in.h; Include the system's <sched.h> if it exists.
49537         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
49538         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
49539         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
49540         HAVE_STRUCT_SCHED_PARAM.
49541         * modules/sched (Depends-on): Add include_next.
49542         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
49543         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
49544         * doc/posix-headers/sched.texi: Document the issue.
49545
49546 2008-11-13  Jim Meyering  <meyering@redhat.com>
49547
49548         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
49549         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
49550         test would fail due to the difference in the Report bugs to ...
49551         line.  The expected address is empty, "<>", while the actual
49552         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
49553
49554 2008-11-12  Bruno Haible  <bruno@clisp.org>
49555
49556         lstat: don't compile lstat.c on systems lacking lstat
49557         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
49558         which don't have lstat; this is handled by lib/sys_stat.in.h already.
49559         Reported by Daniel P. Berrange via Jim Meyering.
49560
49561 2008-11-12  Jim Meyering  <meyering@redhat.com>
49562
49563         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
49564
49565 2008-11-12  Simon Josefsson  <simon@josefsson.org>
49566
49567         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
49568         instead.
49569
49570 2008-11-12  Bruno Haible  <bruno@clisp.org>
49571
49572         * lib/unicodeio.c: Include unistr.h.
49573         (utf8_wctomb): Remove function.
49574         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
49575
49576 2008-11-12  Simon Josefsson  <simon@josefsson.org>
49577
49578         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
49579         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
49580         <bruno@clisp.org>.
49581         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
49582
49583 2008-11-12  Simon Josefsson  <simon@josefsson.org>
49584
49585         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
49586         * doc/gnulib.texi: Add section for warnings.
49587
49588 2008-11-11  Bruno Haible  <bruno@clisp.org>
49589
49590         * lib/sockets.h: Add a comment.
49591
49592 2008-11-11  Karl Berry  <karl@gnu.org>
49593
49594         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
49595
49596 2008-11-11  Eric Blake  <ebb9@byu.net>
49597
49598         fdl.texi: avoid git symlinks
49599         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
49600
49601 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
49602
49603         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
49604
49605 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
49606
49607         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
49608         (gl_WARN_ADD): Substitute $2 if literal.
49609
49610 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
49611
49612         * m4/warning.m4: Remove.
49613
49614 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
49615
49616         * m4/warnings.m4: Almost complete rewrite. :-)
49617
49618 2008-11-10  Simon Josefsson  <simon@josefsson.org>
49619
49620         * modules/warnings: New module.
49621         * m4/warnings.m4: New file.
49622         * MODULES.html.sh: Mention warnings module.
49623         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
49624         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
49625
49626 2008-11-10  Eric Blake  <ebb9@byu.net>
49627
49628         fdl.texi: make a symlink to the latest version
49629         * doc/standards.texi: Revert today's earlier change.
49630         * doc/fdl-1.2.texi: Rename from old fdl.texi...
49631         * doc/fdl.texi: ...and replace this with a symlink to the newer
49632         fdl-1.3.texi.
49633
49634 2008-11-10  Bruno Haible  <bruno@clisp.org>
49635
49636         * tests/test-select-fd.c (main): Accept the result file name as fourth
49637         argument.
49638         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
49639         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
49640
49641 2008-11-10  Bruno Haible  <bruno@clisp.org>
49642
49643         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
49644         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
49645         as autoconf-substituted macros.
49646         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
49647         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
49648         gl_NETDB_H_DEFAULTS. Set these variables.
49649         * modules/netdb (Makefile.am): Substitute these variables.
49650
49651 2008-11-10  Eric Blake  <ebb9@byu.net>
49652
49653         standards.texi: include correct file for FDL 1.3
49654         * doc/standards.texi (GNU Free Documentation License): Change
49655         include file to pull in FDL 1.3, not 1.2.
49656
49657         fdl.texi: revert accidental change to license
49658         * doc/fdl.texi: This is FDL 1.2, not 1.3.
49659
49660 2008-11-10  Bruno Haible  <bruno@clisp.org>
49661
49662         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
49663         cross-compiling guesses also when the native compile gives no result.
49664
49665 2008-11-10  Bruno Haible  <bruno@clisp.org>
49666
49667         * lib/spawni.c (__spawni): Force variable into the stack.
49668
49669 2008-11-10  Bruno Haible  <bruno@clisp.org>
49670
49671         Add support for Haiku.
49672         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
49673         glibc and BeOS, but also on Haiku.
49674         * lib/fpurge.c (fpurge): Likewise.
49675         * lib/freadable.c (freadable): Likewise.
49676         * lib/freadahead.c (freadahead): Likewise.
49677         * lib/freading.c (freading): Likewise.
49678         * lib/freadptr.c (freadptr): Likewise.
49679         * lib/freadseek.c (freadptrinc): Likewise.
49680         * lib/fseeko.c (rpl_fseeko): Likewise.
49681         * lib/fseterr.c (fseterr): Likewise.
49682         * lib/fwritable.c (fwritable): Likewise.
49683         * lib/fwriting.c (fwriting): Likewise.
49684         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
49685
49686 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
49687
49688         * lib/config.charset: Treat Haiku like BeOS.
49689
49690 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
49691
49692         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
49693         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
49694
49695 2008-11-08  Bruno Haible  <bruno@clisp.org>
49696
49697         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
49698         AC_CACHE_CHECK.
49699
49700 2008-11-08  Bruno Haible  <bruno@clisp.org>
49701
49702         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
49703
49704 2008-11-08  Bruno Haible  <bruno@clisp.org>
49705
49706         * tests/test-select-fd.c: New file.
49707         * tests/test-select-in.sh: New file.
49708         * tests/test-select-out.sh: New file.
49709         * tests/test-select-stdin.c: New file.
49710         * modules/select-tests (Files): Add the new files.
49711         (Depends-on): Add gettimeofday.
49712         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
49713         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
49714         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
49715
49716 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
49717             Bruno Haible  <bruno@clisp.org>
49718
49719         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
49720
49721 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
49722
49723         * build-aux/pmccabe2html: Added support for C++ source files.
49724
49725 2008-11-05  Ben Pfaff  <blp@gnu.org>
49726
49727         Fix lib/close.c build on Windows.
49728         * modules/close (Files): Add lib/w32sock.h.
49729
49730 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
49731
49732         Accept Bison's NEWS format.
49733         * build-aux/announce-gen (print_news_deltas): Tweak
49734         $re_prefix.
49735
49736 2008-11-04  Bruno Haible  <bruno@clisp.org>
49737
49738         * modules/random_r (Maintainer): Add glibc.
49739
49740 2008-11-04  Simon Josefsson  <simon@josefsson.org>
49741
49742         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
49743         by karl@freefriends.org (Karl Berry).
49744         * doc/alloca.texi: Likewise.
49745         * doc/c-ctype.texi: Likewise.
49746         * doc/c-strcase.texi: Likewise.
49747         * doc/c-strcaseeq.texi: Likewise.
49748         * doc/c-strcasestr.texi: Likewise.
49749         * doc/c-strstr.texi: Likewise.
49750         * doc/c-strtod.texi: Likewise.
49751         * doc/c-strtold.texi: Likewise.
49752         * doc/ctime.texi: Likewise.
49753         * doc/error.texi: Likewise.
49754         * doc/fdl.texi: Likewise.
49755         * doc/gcd.texi: Likewise.
49756         * doc/getdate.texi: Likewise.
49757         * doc/gnulib-intro.texi: Likewise.
49758         * doc/gnulib-tool.texi: Likewise.
49759         * doc/gnulib.texi: Likewise.
49760         * doc/inet_ntoa.texi: Likewise.
49761         * doc/maintain.texi: Likewise.
49762         * doc/make-stds.texi: Likewise.
49763         * doc/quote.texi: Likewise.
49764         * doc/regexprops-generic.texi: Likewise.
49765         * doc/standards.texi: Likewise.
49766         * doc/verify.texi: Likewise.
49767         * doc/visibility.texi: Likewise.
49768         * doc/gnulib.texi (GNU Free Documentation License): Include
49769         fdl-1.3.texi instead of fdl.texi.
49770
49771 2008-11-04  Simon Josefsson  <simon@josefsson.org>
49772
49773         * doc/fdl-1.3.texi: New file, from
49774         <http://www.gnu.org/licenses/fdl-1.3.texi>.
49775         * modules/fdl-1.3: Add.
49776         * MODULES.html.sh: Add fdl-1.3.
49777
49778 2008-11-03  Bruno Haible  <bruno@clisp.org>
49779
49780         Make determination of absolute name of header file work with AIX xlc.
49781         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
49782         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
49783         preprocessing.
49784         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
49785         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
49786
49787 2008-11-03  Simon Josefsson  <simon@josefsson.org>
49788
49789         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
49790         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
49791         <ludo@gnu.org>.
49792
49793 2008-11-02  Bruno Haible  <bruno@clisp.org>
49794
49795         Mark 'strpbrk' obsolete.
49796         * modules/strpbrk (Status, Notice): New sections.
49797         * modules/strtok_r (Depends-on): Add strpbrk.
49798
49799 2008-11-02  Bruno Haible  <bruno@clisp.org>
49800
49801         Mark 'strdup' obsolete.
49802         * modules/strdup (Status, Notice): New sections.
49803         * modules/findprog (Depends-on): Add strdup.
49804         * modules/getaddrinfo (Depends-on): Likewise.
49805         * modules/localename (Depends-on): Likewise.
49806         * modules/relocatable-lib (Depends-on): Likewise.
49807         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
49808         * modules/relocatable-prog (Depends-on): Likewise.
49809         * modules/trim (Depends-on): Likewise.
49810         * modules/unictype/gen-ctype (Depends-on): Likewise.
49811         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
49812
49813 2008-11-02  Bruno Haible  <bruno@clisp.org>
49814
49815         Mark 'strcspn' obsolete.
49816         * modules/strcspn (Status, Notice): New sections.
49817
49818 2008-11-02  Bruno Haible  <bruno@clisp.org>
49819
49820         Mark 'rmdir' obsolete.
49821         * modules/rmdir (Status, Notice): New sections.
49822         * modules/clean-temp (Depends-on): Add rmdir.
49823         * modules/openat (Depends-on): Likewise.
49824
49825 2008-11-02  Bruno Haible  <bruno@clisp.org>
49826
49827         Mark 'raise' obsolete.
49828         * modules/raise (Status, Notice): New sections.
49829         (Include): Specify <signal.h>.
49830         * modules/stdio (Depends-on): Add raise.
49831         * modules/write (Depends-on): Likewise.
49832
49833 2008-11-02  Bruno Haible  <bruno@clisp.org>
49834
49835         Mark 'memset' obsolete.
49836         * modules/memset (Status, Notice): New sections.
49837
49838 2008-11-02  Bruno Haible  <bruno@clisp.org>
49839
49840         Mark 'memmove' obsolete.
49841         * modules/memmove (Status, Notice): New sections.
49842         * modules/argp (Depends-on): Add memmove.
49843         * modules/argz (Depends-on): Likewise.
49844         * modules/canonicalize (Depends-on): Likewise.
49845         * modules/canonicalize-lgpl (Depends-on): Likewise.
49846         * modules/fts (Depends-on): Likewise.
49847         * modules/getcwd (Depends-on): Likewise.
49848         * modules/human (Depends-on): Likewise.
49849         * modules/regex (Depends-on): Likewise.
49850         * modules/striconveh (Depends-on): Likewise.
49851         * modules/trim (Depends-on): Likewise.
49852         * modules/unistr/u8-move (Depends-on): Likewise.
49853         * modules/unistr/u16-move (Depends-on): Likewise.
49854         * modules/unistr/u32-move (Depends-on): Likewise.
49855
49856 2008-11-02  Bruno Haible  <bruno@clisp.org>
49857
49858         Mark 'memcpy' obsolete.
49859         * modules/memcpy (Status, Notice): New sections.
49860
49861 2008-11-02  Bruno Haible  <bruno@clisp.org>
49862
49863         Mark 'memcmp' obsolete.
49864         * modules/memcmp (Status, Notice): New sections.
49865         * modules/argmatch (Depends-on): Add memchr.
49866         * modules/backupfile (Depends-on): Likewise.
49867         * modules/c-strcasestr (Depends-on): Likewise.
49868         * modules/crypto/des (Depends-on): Likewise.
49869         * modules/csharpcomp (Depends-on): Likewise.
49870         * modules/fnmatch (Depends-on): Likewise.
49871         * modules/git-merge-changelog (Depends-on): Likewise.
49872         * modules/isnand (Depends-on): Likewise.
49873         * modules/isnand-nolibm (Depends-on): Likewise.
49874         * modules/isnanf (Depends-on): Likewise.
49875         * modules/isnanf-nolibm (Depends-on): Likewise.
49876         * modules/isnanl (Depends-on): Likewise.
49877         * modules/isnanl-nolibm (Depends-on): Likewise.
49878         * modules/mbchar (Depends-on): Likewise.
49879         * modules/memcoll (Depends-on): Likewise.
49880         * modules/quotearg (Depends-on): Likewise.
49881         * modules/regex (Depends-on): Likewise.
49882         * modules/relocatable-prog (Depends-on): Likewise.
49883         * modules/same (Depends-on): Likewise.
49884         * modules/signbit (Depends-on): Likewise.
49885         * modules/strcasestr-simple (Depends-on): Likewise.
49886         * modules/unictype/gen-ctype (Depends-on): Likewise.
49887         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
49888         * modules/uniname/uniname (Depends-on): Likewise.
49889         * modules/unistr/u8-cmp (Depends-on): Likewise.
49890
49891 2008-11-02  Bruno Haible  <bruno@clisp.org>
49892
49893         Mark 'memchr' obsolete.
49894         * modules/memchr (Status, Notice): New sections.
49895         * modules/argp (Depends-on): Add memchr.
49896         * modules/base64 (Depends-on): Likewise.
49897         * modules/c-strcasestr (Depends-on): Likewise.
49898         * modules/chdir-long (Depends-on): Likewise.
49899         * modules/fnmatch (Depends-on): Likewise.
49900         * modules/getsubopt (Depends-on): Likewise.
49901         * modules/git-merge-changelog (Depends-on): Likewise.
49902         * modules/glob (Depends-on): Likewise.
49903         * modules/strcasestr-simple (Depends-on): Likewise.
49904         * modules/strnlen (Depends-on): Likewise.
49905
49906 2008-11-02  Bruno Haible  <bruno@clisp.org>
49907
49908         Mark 'atexit' obsolete.
49909         * modules/atexit (Status, Notice): New sections.
49910         * modules/chdir-long (Depends-on): Add atexit.
49911         * modules/wait-process (Depends-on): Likewise.
49912
49913 2008-11-02  Bruno Haible  <bruno@clisp.org>
49914
49915         * gnulib-tool: New option --with-obsolete.
49916         (func_usage): Document it.
49917         (func_modules_transitive_closure): Drop obsolete dependencies if
49918         incobsolete is not true.
49919         (func_import): Read and save the incobsolete variable to the cache.
49920
49921 2008-11-02  Bruno Haible  <bruno@clisp.org>
49922
49923         * modules/TEMPLATE-EXTENDED: New field 'Status'.
49924         * gnulib-tool: New option --extract-status.
49925         (func_usage): Document it.
49926         (sed_extract_prog): Recognize it.
49927         (func_get_status): New function.
49928
49929 2008-10-30  Simon Josefsson  <simon@josefsson.org>
49930
49931         * modules/sockets (License): Change from LGPL to LGPLv2+.
49932
49933 2008-10-28  Simon Josefsson  <simon@josefsson.org>
49934
49935         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
49936
49937 2008-10-28  Simon Josefsson  <simon@josefsson.org>
49938
49939         * MODULES.html.sh (Support for systems lacking POSIX:2001):
49940         Mention times and sys_times.
49941         * modules/sys_times, modules/sys_times-tests: New modules.
49942         * modules/times, modules/times-tests: Likewise
49943         * m4/sys_times_h.m4: New file.
49944         * lib/sys_times.in.h: Likewise
49945         * lib/times.c: Likewise.
49946         * tests/test-sys_times.c: Likewise.
49947         * tests/test-times.c: Likewise.
49948         * doc/posix-headers/sys_times.texi: Update.
49949         * doc/posix-functions/times.texi: Update.
49950
49951 2008-10-28  Jim Meyering  <meyering@redhat.com>
49952
49953         * modules/tempname (Depends-on): Add lstat.
49954
49955         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
49956
49957 2008-10-28  Simon Josefsson  <simon@josefsson.org>
49958
49959         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
49960         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
49961         using idiom used elsewhere in gnulib.
49962
49963 2008-10-27  Jim Meyering  <meyering@redhat.com>
49964
49965         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
49966
49967 2008-10-27  Simon Josefsson  <simon@josefsson.org>
49968
49969         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
49970         TESTS_ENVIRONMENT, for shell scripts that needs to call built
49971         programs.
49972         * tests/test-argp-2.sh: Use $EXEEXT when needed.
49973
49974 2008-10-27  Simon Josefsson  <simon@josefsson.org>
49975
49976         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
49977
49978 2008-10-27  Bruno Haible  <bruno@clisp.org>
49979
49980         * tests/test-lstat.c: Include <stdio.h>.
49981
49982 2008-10-27  Simon Josefsson  <simon@josefsson.org>
49983
49984         * modules/lstat-tests: New module.
49985         * tests/test-lstat.c: New file.
49986
49987 2008-10-26  Jim Meyering  <meyering@redhat.com>
49988
49989         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
49990
49991 2008-10-26  Simon Josefsson  <simon@josefsson.org>
49992             Bruno Haible  <bruno@clisp.org>
49993
49994         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
49995         * modules/configmake (Include): Add a note that the include must come
49996         after all system headers.
49997         * lib/javaversion.c: Include configmake.h after all other includes.
49998
49999 2008-10-26  Bruno Haible  <bruno@clisp.org>
50000
50001         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
50002         HAVE_STRUCT_RANDOM_DATA to 1.
50003         (gl_STDLIB_H): Simplify.
50004
50005 2008-10-26  Simon Josefsson  <simon@josefsson.org>
50006
50007         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
50008         substitute HAVE_STRUCT_RANDOM_DATA.
50009         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
50010         random_data.
50011         * modules/stdlib (Makefile.am): Substitute
50012         HAVE_STRUCT_RANDOM_DATA.
50013
50014 2008-10-26  Simon Josefsson  <simon@josefsson.org>
50015
50016         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
50017         * doc/gnulib-intro.texi (Copyright): Likewise.
50018
50019 2008-10-26  Simon Josefsson  <simon@josefsson.org>
50020
50021         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
50022         findings.
50023
50024 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
50025             Bruno Haible  <bruno@clisp.org>
50026
50027         * lib/unistd.in.h: Include <winsock2.h>.
50028         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
50029         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
50030         Provide dummy declarations.
50031         (gethostname): Override.
50032         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
50033         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
50034         gl_PREREQ_SYS_H_WINSOCK2.
50035         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
50036         * doc/posix-functions/gethostname.texi: More details.
50037
50038 2008-10-25  Bruno Haible  <bruno@clisp.org>
50039
50040         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
50041         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
50042         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
50043
50044         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
50045         here ...
50046         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
50047         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
50048         gl_UNISTD_H_DEFAULTS.
50049
50050 2008-10-25  Eric Blake  <ebb9@byu.net>
50051
50052         signbit: avoid spurious compiler failure
50053         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
50054         declarations inside function.
50055
50056 2008-10-24  Simon Josefsson  <simon@josefsson.org>
50057             Bruno Haible  <bruno@clisp.org>
50058
50059         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
50060         * modules/random_r (Depends-on): Add stdint.
50061
50062 2008-10-24  Bruno Haible  <bruno@clisp.org>
50063
50064         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
50065         Eggert.
50066         * modules/strerror (License): Likewise.
50067
50068 2008-10-24  Jim Meyering  <meyering@redhat.com>
50069
50070         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
50071         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
50072
50073 2008-10-24  Eric Blake  <ebb9@byu.net>
50074
50075         getgroups: fix compilation when getgroups is available
50076         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
50077         but with <config.h> override of getgroups disabled.
50078
50079 2008-10-24  Simon Josefsson  <simon@josefsson.org>
50080
50081         * doc/gnulib.texi (Header files): Add note about C++ problems.
50082         Explained by Bruno Haible <bruno@clisp.org>.
50083
50084 2008-10-23  Bruno Haible  <bruno@clisp.org>
50085
50086         Define a dummy SA_NODEFER macro on Interix.
50087         * lib/signal.in.h (SA_NODEFER): Define fallback.
50088         Reported by Aleksey Cheusov <cheusov@tut.by> via
50089         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
50090
50091 2008-10-23  Bruno Haible  <bruno@clisp.org>
50092
50093         * modules/freadahead (License): Change to LGPLv2+.
50094         Suggested by Simon Josefsson.
50095
50096 2008-10-23  Jim Meyering  <meyering@redhat.com>
50097
50098         random_r: new module
50099         * modules/random_r: New file.
50100         * m4/random_r.m4: New file.
50101         * lib/random_r.c: New file, from glibc.
50102         * modules/random_r-tests: New file.
50103         * tests/test-random_r.c: New file.
50104         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
50105          Declare.
50106         (RAND_MAX): Define.
50107         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
50108         * modules/stdlib: Substitute them, too.
50109         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
50110         * doc/glibc-functions/initstate_r.texi: Mention the new module.
50111         * doc/glibc-functions/random_r.texi: Likewise.
50112         * doc/glibc-functions/setstate_r.texi: Likewise.
50113         * doc/glibc-functions/srandom_r.texi: Likewise.
50114         * config/srclist.txt: Mention it.
50115
50116 2008-10-23  David Lutterkort  <lutter@redhat.com>
50117
50118         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
50119         link requirement
50120
50121 2008-10-23  Jim Meyering  <meyering@redhat.com>
50122
50123         selinux-h: mark parameters of stub functions as intentionally unused
50124         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
50125         * lib/se-context.in.h: Likewise.
50126
50127 2008-10-22  Simon Josefsson  <simon@josefsson.org>
50128
50129         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
50130
50131 2008-10-22  Simon Josefsson  <simon@josefsson.org>
50132
50133         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
50134
50135 2008-10-22  Eric Blake  <ebb9@byu.net>
50136
50137         glthread/thread: avoid compiler warning
50138         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
50139         Add unreachable abort to silence compiler.
50140
50141 2008-10-22  Eric Blake  <ebb9@byu.net>
50142
50143         netdb: also supply struct addrinfo for cygwin 1.5.x
50144         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
50145         older cygwin.
50146         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
50147         cygwin.
50148         * doc/posix-headers/netdb.texi (netdb.h): Document this.
50149
50150 2008-10-22  Bruno Haible  <bruno@clisp.org>
50151
50152         * users.txt: Update entry about pspp.
50153
50154 2008-10-21  Bruno Haible  <bruno@clisp.org>
50155
50156         Simplification.
50157         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
50158         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
50159
50160         Simplification.
50161         * lib/ioctl.c (ioctl): Don't undefine.
50162         * lib/socket.c (socket): Don't undefine.
50163
50164         Remove unused module indicator macros.
50165         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
50166         GNULIB_$1 as a C macro.
50167
50168         * doc/posix-functions/close.texi: Undo last change.
50169         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
50170         Windows platforms.
50171
50172 2008-10-21  Bruno Haible  <bruno@clisp.org>
50173
50174         Add gethostname() declaration to <unistd.h>.
50175         * lib/unistd.in.h (gethostname): New declaration.
50176         * lib/gethostname.c: Include <unistd.h>.
50177         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
50178         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
50179         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
50180         and HAVE_GETHOSTNAME.
50181         * modules/gethostname (Depends-on): Add unistd.
50182         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
50183         (Include): Specify <unistd.h>.
50184         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
50185         HAVE_GETHOSTNAME.
50186         * tests/test-gethostname.c: Include <unistd.h> first.
50187
50188 2008-10-21  Bruno Haible  <bruno@clisp.org>
50189
50190         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
50191         * modules/select-tests (Depends-on): Likewise.
50192         Reported by Simon Josefsson.
50193
50194 2008-10-21  Simon Josefsson  <simon@josefsson.org>
50195
50196         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
50197         * lib/accept.c: New file, based on winsock.c.
50198         * lib/bind.c: New file, based on winsock.c.
50199         * lib/connect.c: New file, based on winsock.c.
50200         * lib/getpeername.c: New file, based on winsock.c.
50201         * lib/getsockname.c: New file, based on winsock.c.
50202         * lib/getsockopt.c: New file, based on winsock.c.
50203         * lib/ioctl.c: New file, based on winsock.c.
50204         * lib/listen.c: New file, based on winsock.c.
50205         * lib/recv.c: New file, based on winsock.c.
50206         * lib/recvfrom.c: New file, based on winsock.c.
50207         * lib/send.c: New file, based on winsock.c.
50208         * lib/sendto.c: New file, based on winsock.c.
50209         * lib/setsockopt.c: New file, based on winsock.c.
50210         * lib/shutdown.c: New file, based on winsock.c.
50211         * lib/socket.c: New file, based on winsock.c.
50212         * lib/w32sock.h: New file, based on winsock.c.
50213         * lib/winsock.c: Remove file.
50214         * modules/accept: Likewise.
50215         * modules/bind: Likewise.
50216         * modules/connect: Likewise.
50217         * modules/getpeername: Likewise.
50218         * modules/getsockname: Likewise.
50219         * modules/getsockopt: Likewise.
50220         * modules/ioctl: Likewise.
50221         * modules/listen: Likewise.
50222         * modules/recv: Likewise.
50223         * modules/recvfrom: Likewise.
50224         * modules/send: Likewise.
50225         * modules/sendto: Likewise.
50226         * modules/setsockopt: Likewise.
50227         * modules/shutdown: Likewise.
50228         * modules/socket: Use socket.c instead of winsock.c.
50229         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
50230         * doc/posix-functions/accept.texi: Doc fix.
50231         * doc/posix-functions/bind.texi: Doc fix.
50232         * doc/posix-functions/close.texi: Doc fix.
50233         * doc/posix-functions/connect.texi: Doc fix.
50234         * doc/posix-functions/getpeername.texi: Doc fix.
50235         * doc/posix-functions/getsockname.texi: Doc fix.
50236         * doc/posix-functions/getsockopt.texi: Doc fix.
50237         * doc/posix-functions/ioctl.texi: Doc fix.
50238         * doc/posix-functions/listen.texi: Doc fix.
50239         * doc/posix-functions/recv.texi: Doc fix.
50240         * doc/posix-functions/recvfrom.texi: Doc fix.
50241         * doc/posix-functions/send.texi: Doc fix.
50242         * doc/posix-functions/sendto.texi: Doc fix.
50243         * doc/posix-functions/setsockopt.texi: Doc fix.
50244         * doc/posix-functions/shutdown.texi: Doc fix.
50245         * doc/posix-functions/socket.texi: Doc fix.
50246
50247 2008-10-20  Bruno Haible  <bruno@clisp.org>
50248
50249         Take into account the role of SIGABRT_COMPAT on Windows 2008.
50250         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
50251         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
50252         as an alias for SIGABRT.
50253         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
50254         (sigaction): Map it to SIGABRT.
50255         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
50256
50257 2008-10-20  Bruno Haible  <bruno@clisp.org>
50258
50259         * lib/fts.c: Don't include lstat.h.
50260         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
50261
50262         Move the lstat() declaration to <sys/stat.h>.
50263         * lib/lstat.h: Remove file.
50264         * lib/sys_stat.in.h: Add special invocation convention.
50265         (lstat): New declaration.
50266         * lib/lstat.c (orig_lstat): New function.
50267         (rpl_lstat): Use orig_lstat instead of lstat.
50268         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
50269         AC_C_INLINE. Set REPLACE_LSTAT.
50270         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
50271         and REPLACE_LSTAT.
50272         * modules/lstat (Files): Remove lib/lstat.h.
50273         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
50274         (Include): Specify <sys/stat.h> instead of lstat.h.
50275         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
50276         REPLACE_LSTAT.
50277         * NEWS: Mention the change.
50278
50279 2008-10-20  Bruno Haible  <bruno@clisp.org>
50280
50281         * modules/posix_spawn-tests: New file.
50282         * tests/test-posix_spawn3.c: New file.
50283
50284 2008-10-20  Bruno Haible  <bruno@clisp.org>
50285
50286         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
50287         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
50288         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
50289         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
50290         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
50291
50292 2008-10-20  Bruno Haible  <bruno@clisp.org>
50293
50294         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
50295         of posix_spawn on AIX 5.3.
50296
50297 2008-10-20  Bruno Haible  <bruno@clisp.org>
50298
50299         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
50300
50301 2008-10-20  Bruno Haible  <bruno@clisp.org>
50302
50303         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
50304         of AC_LANG_PROGRAM.
50305
50306 2008-10-20  Simon Josefsson  <simon@josefsson.org>
50307
50308         * lib/netdb.in.h: Don't define GNU specific constants until they
50309         are supported or needed.  Reported by Bruno Haible
50310         <bruno@clisp.org>.
50311
50312 2008-10-20  Simon Josefsson  <simon@josefsson.org>
50313
50314         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
50315
50316 2008-10-20  Simon Josefsson  <simon@josefsson.org>
50317
50318         * lib/getaddrinfo.h: Remove file.
50319         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
50320         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
50321         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
50322         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
50323         * modules/netdb: Substitute GNULIB_GETADDRINFO.
50324         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
50325         * tests/test-getaddrinfo.c: Likewise.
50326         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
50327         * NEWS: Mention change.
50328
50329 2008-10-19  Bruno Haible  <bruno@clisp.org>
50330
50331         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
50332
50333 2008-10-19  Bruno Haible  <bruno@clisp.org>
50334
50335         * lib/wait-process.c: Include simply <sys/wait.h>.
50336         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
50337         WIFSTOPPED): Remove fallback definitions.
50338         * modules/wait-process (Depends-on): Add sys_wait.
50339
50340         New module 'sys_wait'.
50341         * modules/sys_wait: New file.
50342         * lib/sys_wait.in.h: New file, partially copied from
50343         lib/wait-process.c.
50344         * m4/sys_wait_h.m4: New file.
50345         * doc/posix-headers/sys_wait.texi: Mention the new module.
50346
50347 2008-10-19  Bruno Haible  <bruno@clisp.org>
50348
50349         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
50350
50351 2008-10-19  Bruno Haible  <bruno@clisp.org>
50352
50353         Assume that waitpid() fills an 'int' status, not a 'union wait'.
50354         * lib/wait-process.c (WAIT_T): Remove type.
50355         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
50356         (wait_subprocess): Update.
50357
50358 2008-10-19  Bruno Haible  <bruno@clisp.org>
50359
50360         New module 'atoll'.
50361         * modules/atoll: New file.
50362         * lib/stdlib.in.h (atoll): New declaration.
50363         * lib/atoll.c: New file, from glibc with modifications.
50364         * m4/atoll.m4: New file.
50365         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
50366         HAVE_ATOLL.
50367         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
50368         * doc/posix-functions/atoll.texi: Mention the new module.
50369
50370 2008-10-19  Bruno Haible  <bruno@clisp.org>
50371
50372         Add strtoull() declaration to <stdlib.h>.
50373         * lib/stdlib.in.h (strtoull): New declaration.
50374         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
50375         Set HAVE_STRTOULL.
50376         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
50377         HAVE_STRTOULL.
50378         * modules/strtoull (Depends-on): Add stdlib.
50379         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
50380         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
50381         HAVE_STRTOULL.
50382
50383 2008-10-19  Bruno Haible  <bruno@clisp.org>
50384
50385         Add strtoll() declaration to <stdlib.h>.
50386         * lib/stdlib.in.h (strtoll): New declaration.
50387         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
50388         Set HAVE_STRTOLL.
50389         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
50390         HAVE_STRTOLL.
50391         * modules/strtoll (Depends-on): Add stdlib.
50392         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
50393         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
50394
50395 2008-10-19  Bruno Haible  <bruno@clisp.org>
50396
50397         * modules/bcopy (Depends-on): Add strings.
50398         (Include): Specify <strings.h>.
50399
50400 2008-10-19  Bruno Haible  <bruno@clisp.org>
50401
50402         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
50403
50404 2008-10-19  Bruno Haible  <bruno@clisp.org>
50405
50406         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
50407         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
50408         mingw.
50409
50410 2008-10-19  Bruno Haible  <bruno@clisp.org>
50411
50412         * lib/atanl.c: Don't include isnanl.h.
50413         * lib/cosl.c: Likewise.
50414         * lib/ldexpl.c: Likewise.
50415         * lib/logl.c: Likewise.
50416         * lib/sinl.c: Likewise.
50417         * lib/sqrtl.c: Likewise.
50418         * lib/tanl.c: Likewise.
50419
50420         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
50421         * lib/isnanf.h: Remove file.
50422         * lib/isnand.h: Remove file.
50423         * lib/isnanl.h: Remove file.
50424         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
50425         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
50426         macros.
50427         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
50428         HAVE_ISNANF, don't define it as a C macro.
50429         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
50430         HAVE_ISNAND, don't define it as a C macro.
50431         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
50432         HAVE_ISNANL, don't define it as a C macro.
50433         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
50434         HAVE_ISNAN[FDL].
50435         * modules/isnanf (Files): Remove lib/isnanf.h.
50436         (Depends-on): Add math.
50437         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
50438         (Include): Specify <math.h> instead of isnanf.h.
50439         * modules/isnand (Files): Remove lib/isnand.h.
50440         (Depends-on): Add math.
50441         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
50442         (Include): Specify <math.h> instead of isnand.h.
50443         * modules/isnanl (Files): Remove lib/isnanl.h.
50444         (Depends-on): Add math.
50445         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
50446         (Include): Specify <math.h> instead of isnanl.h.
50447         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
50448         HAVE_ISNAN[FDL].
50449         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
50450         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
50451         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
50452         * NEWS: Mention the change.
50453
50454 2008-10-18  Bruno Haible  <bruno@clisp.org>
50455
50456         Add getusershell(), setusershell(), endusershell() declarations to
50457         <unistd.h>.
50458         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
50459         declarations.
50460         * lib/getusershell.c: Include unistd.h.
50461         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
50462         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
50463         HAVE_GETUSERSHELL.
50464         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
50465         and HAVE_GETUSERSHELL.
50466         * modules/getusershell (Depends-on): Add unistd, extensions.
50467         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
50468         (Include): Specify <unistd.h>.
50469         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
50470         HAVE_GETUSERSHELL.
50471
50472 2008-10-18  Bruno Haible  <bruno@clisp.org>
50473
50474         Add a getloadavg() declaration to <stdlib.h>.
50475         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
50476         getloadavg declaration.
50477         (getloadavg): New declaration.
50478         * lib/getloadavg.c: Include <stdlib.h> first.
50479         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
50480         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
50481         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
50482         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
50483         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
50484         * modules/getloadavg (Depends-on): Add stdlib, extensions.
50485         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
50486         (Include): Specify <stdlib.h>.
50487         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
50488         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
50489
50490 2008-10-18  Bruno Haible  <bruno@clisp.org>
50491
50492         * lib/dirchownmod.c: Don't include lchmod.h.
50493
50494         Move the lchmod() declaration to <sys/stat.h>.
50495         * lib/lchmod.h: Remove file.
50496         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
50497         (lchmod): New declaration, moved here from lib/lchown.h.
50498         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
50499         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
50500         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
50501         and HAVE_LCHMOD.
50502         * modules/lchmod (Files): Remove lib/lchmod.h.
50503         (Depends-on): Add sys_stat, extensions.
50504         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
50505         (Include): Specify <sys/stat.h> instead of lchmod.h.
50506         * modules/sys_stat (Depends-on): Add link-warning.
50507         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
50508         definition of GL_LINK_WARNING.
50509         * NEWS: Mention the change.
50510
50511 2008-10-18  Bruno Haible  <bruno@clisp.org>
50512
50513         * lib/fchdir.c: Don't include dirfd.h.
50514         * lib/fts.c: Likewise.
50515         * lib/getcwd.c: Likewise.
50516         * lib/glob.c: Likewise.
50517
50518         Move the dirfd() declaration to <dirent.h>.
50519         * lib/dirfd.h: Remove file.
50520         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
50521         (dirfd): New declaration.
50522         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
50523         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
50524         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
50525         HAVE_DECL_DIRFD.
50526         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
50527         HAVE_DECL_DIRFD.
50528         * modules/dirfd (Files): Remove lib/dirfd.h.
50529         (Depends-on): Add dirent, extensions.
50530         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
50531         (Include): Specify <dirent.h> instead of dirfd.h.
50532         * modules/dirent (Depends-on): Add link-warning.
50533         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
50534         definition of GL_LINK_WARNING.
50535         * NEWS: Mention the change.
50536
50537 2008-10-18  Bruno Haible  <bruno@clisp.org>
50538
50539         Move the euidaccess() declaration to <unistd.h>.
50540         * lib/euidaccess.h: Remove file.
50541         * lib/unistd.in.h (euidaccess): New declaration.
50542         * lib/euidaccess.c: Don't include euidaccess.h.
50543         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
50544         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
50545         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
50546         and HAVE_EUIDACCESS.
50547         * modules/euidaccess (Files): Remove lib/euidaccess.h.
50548         (Depends-on): Add unistd.
50549         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
50550         (Include): Specify <unistd.h> instead of euidaccess.h.
50551         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
50552         HAVE_EUIDACCESS.
50553         * NEWS: Mention the change.
50554
50555 2008-10-18  Bruno Haible  <bruno@clisp.org>
50556
50557         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
50558
50559         Move the getdomainname() declaration to <unistd.h>.
50560         * lib/getdomainname.h: Remove file.
50561         * lib/unistd.in.h (getdomainname): New declaration.
50562         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
50563         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
50564         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
50565         HAVE_GETDOMAINNAME.
50566         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
50567         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
50568         * modules/getdomainname (Files): Remove lib/getdomainname.h.
50569         (Depends-on): Add unistd, extensions.
50570         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
50571         (Includes): Specify <unistd.h> instead of getdomainname.h.
50572         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
50573         HAVE_GETDOMAINNAME.
50574         * NEWS: Mention the change.
50575
50576 2008-10-18  Bruno Haible  <bruno@clisp.org>
50577
50578         * modules/dirent: New file.
50579         * m4/dirent_h.m4: New file.
50580         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
50581         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
50582         * modules/fchdir (Files): Remove lib/dirent.in.h.
50583         (Depends-on): Add dirent.
50584         (Makefile.am): Move rules to modules/dirent.
50585         * doc/posix-headers/dirent.texi: Mention the new module.
50586
50587 2008-10-18  Bruno Haible  <bruno@clisp.org>
50588
50589         Avoid -Wunused-parameter warnings in public gnulib header files.
50590         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
50591         macro.
50592         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
50593
50594 2008-10-18  Bruno Haible  <bruno@clisp.org>
50595
50596         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
50597         * doc/glibc-functions/error.texi: Mention the module 'error'.
50598         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
50599         * doc/glibc-functions/getdomainname.texi: Mention the module
50600         'getdomainname'.
50601         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
50602         * doc/glibc-functions/getpagesize.texi: Mention the module
50603         'getpagesize'.
50604         * doc/glibc-functions/getusershell.texi: Mention the module
50605         'getusershell'.
50606         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
50607         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
50608         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
50609         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
50610         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
50611         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
50612         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
50613         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
50614         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
50615         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
50616         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
50617         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
50618         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
50619         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
50620
50621 2008-10-17  Bruno Haible  <bruno@clisp.org>
50622
50623         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
50624         HP-UX and IRIX, use -0.0L.
50625         * tests/test-ceill.c (minus_zero): Likewise.
50626         * tests/test-floorl.c (minus_zero): Likewise.
50627         * tests/test-frexpl.c (minus_zero): Likewise.
50628         * tests/test-isnan.c (minus_zerol): Likewise.
50629         * tests/test-isnanl.h (minus_zero): Likewise.
50630         * tests/test-ldexpl.c (minus_zero): Likewise.
50631         * tests/test-roundl.c (minus_zero): Likewise.
50632         * tests/test-signbit.c (minus_zerol): Likewise.
50633         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
50634         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
50635         * tests/test-truncl.c (minus_zero): Likewise.
50636         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
50637         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
50638         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
50639         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
50640
50641 2008-10-17  Bruno Haible  <bruno@clisp.org>
50642
50643         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
50644         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
50645         that it gets activated only for gcc >= 3.0.
50646         * lib/dirent.in.h: Likewise.
50647         * lib/errno.in.h: Likewise.
50648         * lib/fcntl.in.h: Likewise.
50649         * lib/float.in.h: Likewise.
50650         * lib/iconv.in.h: Likewise.
50651         * lib/inttypes.in.h: Likewise.
50652         * lib/locale.in.h: Likewise.
50653         * lib/math.in.h: Likewise.
50654         * lib/netdb.in.h: Likewise.
50655         * lib/netinet_in.in.h: Likewise.
50656         * lib/search.in.h: Likewise.
50657         * lib/signal.in.h: Likewise.
50658         * lib/spawn.in.h: Likewise.
50659         * lib/stdarg.in.h: Likewise.
50660         * lib/stdint.in.h: Likewise.
50661         * lib/stdio.in.h: Likewise.
50662         * lib/stdlib.in.h: Likewise.
50663         * lib/string.in.h: Likewise.
50664         * lib/strings.in.h: Likewise.
50665         * lib/sys_file.in.h: Likewise.
50666         * lib/sys_ioctl.in.h: Likewise.
50667         * lib/sys_select.in.h: Likewise.
50668         * lib/sys_socket.in.h: Likewise.
50669         * lib/sys_stat.in.h: Likewise.
50670         * lib/sys_time.in.h: Likewise.
50671         * lib/sysexits.in.h: Likewise.
50672         * lib/time.in.h: Likewise.
50673         * lib/unistd.in.h: Likewise.
50674         * lib/wchar.in.h: Likewise.
50675         * lib/wctype.in.h: Likewise.
50676         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
50677
50678 2008-10-17  Jim Meyering  <meyering@redhat.com>
50679
50680         ignore-value: don't depend on inline module
50681         * modules/ignore-value (Depends-on): Remove 'inline'.
50682         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
50683         Suggestion from Bruno Haible.
50684
50685 2008-10-17  Bruno Haible  <bruno@clisp.org>
50686
50687         New implementation of condition variables for Win32.
50688         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
50689         (gl_linked_waitqueue_t): New type.
50690         (gl_cond_t): Use it.
50691         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
50692         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
50693         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
50694         (glthread_cond_init_func, glthread_cond_wait_func,
50695         glthread_cond_timedwait_func, glthread_cond_signal_func,
50696         glthread_cond_broadcast_func, glthread_cond_destroy_func):
50697         Reimplemented on the basis of gl_linked_waitqueue_t.
50698         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
50699         gl_waitqueue_t.
50700         (gl_rwlock_t): Update.
50701         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
50702
50703 2008-10-17  Simon Josefsson  <simon@josefsson.org>
50704
50705         * modules/recvfrom (Depends-on): Add dependency on getpeername.
50706         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
50707
50708 2008-10-17  Jim Meyering  <meyering@redhat.com>
50709
50710         ignore-value: new module
50711         * modules/ignore-value: New file.
50712         * lib/ignore-value.h: New file.
50713         * MODULES.html.sh (Compiler warning management): New section,
50714         just for this module.  More to come.
50715
50716 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
50717
50718         open-safer.c: avoid 'signed and unsigned in conditional...' warning
50719         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
50720         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
50721
50722 2008-10-16  Jim Meyering  <meyering@redhat.com>
50723
50724         openat-die.c: avoid 'no previous prototype' warning
50725         * lib/openat-die.c: Include "openat.h".
50726         Reported by Reuben Thomas <rrt@sc3d.org>.
50727
50728 2008-10-16  Simon Josefsson  <simon@josefsson.org>
50729
50730         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
50731         * lib/netdb.in.h: Fix typo.
50732         Reported by Bruno Haible  <bruno@clisp.org>
50733
50734         * lib/netdb.in.h: Include sys/socket.h for platforms without
50735         netdb.h, to get structures like hostent on MinGW.
50736         * modules/netdb (Depends-on): Add sys_socket.
50737
50738 2008-10-15  Simon Josefsson  <simon@josefsson.org>
50739
50740         * modules/netdb, modules/netdb-tests: New file.
50741         * m4/netdb_h.m4: New file.
50742         * lib/netdb.in.h: Add, currently just an empty file pending
50743         definitions.
50744         * tests/test-netdb.c: New file.
50745         * doc/posix-headers/netdb.texi: Mention that we replace it if
50746         needed.
50747         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
50748         netdb.
50749
50750 2008-10-15  Simon Josefsson  <simon@josefsson.org>
50751
50752         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
50753         with code.
50754
50755 2008-10-13  Bruno Haible  <bruno@clisp.org>
50756
50757         * lib/glthread/cond.c (glthread_cond_wait_func,
50758         glthread_cond_timedwait_func): Add a comment.
50759
50760 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
50761
50762         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
50763         * tests/test-select.c: Likewise,
50764
50765 2008-10-13  Bruno Haible  <bruno@clisp.org>
50766
50767         * lib/glthread/cond.c (glthread_cond_wait_func,
50768         glthread_cond_timedwait_func): Fix variable name.
50769         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
50770
50771 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
50772
50773         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
50774         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
50775         struct sockaddr.sa_len.
50776         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
50777
50778 2008-10-13  Simon Josefsson  <simon@josefsson.org>
50779
50780         * build-aux/pmccabe2html: Add css and css_url parameters.
50781
50782 2008-10-12  Bruno Haible  <bruno@clisp.org>
50783
50784         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
50785         calling aclx_get.
50786         Reported by Rainer Tammer <tammer@tammer.net>.
50787
50788 2008-10-12  Bruno Haible  <bruno@clisp.org>
50789
50790         Use msvcrt aware primitives for creation/termination of Win32 threads.
50791         * lib/glthread/thread.c: Include <process.h>.
50792         (glthread_create_func): Use _beginthreadex instead of CreateThread.
50793         (wrapper_func): Update signature.
50794         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
50795
50796 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
50797             Bruno Haible  <bruno@clisp.org>
50798
50799         Provide a Win32 implementation of the 'cond' module.
50800         * lib/glthread/cond.h [USE_WIN32]: New implementation.
50801         * lib/glthread/cond.c (glthread_cond_init_func,
50802         glthread_cond_wait_func, glthread_cond_timedwait_func,
50803         glthread_cond_signal_func, glthread_cond_broadcast_func,
50804         glthread_cond_destroy_func) [USE_WIN32]: New functions.
50805         * modules/cond (Dependencies): Add gettimeofday.
50806
50807 2008-10-11  Bruno Haible  <bruno@clisp.org>
50808
50809         Make sleep work on older versions of mingw.
50810         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
50811         only whether it exists.
50812         * doc/posix-functions/sleep.texi: Mention the problem with older
50813         versions of mingw.
50814
50815 2008-10-11  Bruno Haible  <bruno@clisp.org>
50816
50817         New module 'shutdown'.
50818         * modules/shutdown: New file.
50819         * lib/sys_socket.in.h (shutdown): New declaration.
50820         * lib/winsock.c (shutdown): New function.
50821         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
50822         GNULIB_SHUTDOWN.
50823         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
50824         * doc/posix-functions/shutdown.texi: Document the new module.
50825
50826 2008-10-11  Jim Meyering  <meyering@redhat.com>
50827
50828         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
50829
50830 2008-10-11  Bruno Haible  <bruno@clisp.org>
50831
50832         New module 'fclose'.
50833         * modules/fclose: New file.
50834         * lib/stdio.in.h (fclose): New declaration.
50835         * lib/fclose.c: New file.
50836         * m4/fclose.m4: New file.
50837         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
50838         REPLACE_FCLOSE.
50839         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
50840         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
50841         REPLACE_FCLOSE.
50842         * modules/close (Depends-on): fclose.
50843         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
50844
50845 2008-10-11  Bruno Haible  <bruno@clisp.org>
50846
50847         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
50848         set errno and don't call _close.
50849
50850 2008-10-10  Bruno Haible  <bruno@clisp.org>
50851
50852         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
50853         ACL, not afterwards. Fixes test failure on Cygwin.
50854
50855 2008-10-09  Ben Pfaff  <blp@gnu.org>
50856
50857         * build-aux/announce-gen: Fix gnulib version related part of usage
50858         message.  Die with a useful error message if no tarballs are
50859         found.
50860
50861 2008-10-10  Jim Meyering  <meyering@redhat.com>
50862
50863         bootstrap: use git's --depth=N option only if it's supported
50864         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
50865         recognize the --depth option.  Reported by Pádraig Brady.
50866
50867 2008-10-09  Bruno Haible  <bruno@clisp.org>
50868
50869         New module 'ioctl'.
50870         * modules/ioctl: New file.
50871         * lib/sys_socket.in.h (ioctl): Remove declaration.
50872         * lib/winsock.c: Include <sys/ioctl.h>.
50873         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
50874         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
50875         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
50876         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
50877         * doc/posix-functions/ioctl.texi: Mention the new module.
50878
50879 2008-10-09  Bruno Haible  <bruno@clisp.org>
50880
50881         New module 'sys_ioctl'.
50882         * lib/sys_ioctl.in.h: New file.
50883         * m4/sys_ioctl_h.m4: New file.
50884         * modules/sys_ioctl: New file.
50885         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
50886
50887 2008-10-09  Bruno Haible  <bruno@clisp.org>
50888
50889         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
50890         * lib/winsock.c: Include <stdarg.h>.
50891         (rpl_ioctl): Change to second argument 'int' and then varargs.
50892
50893 2008-10-09  Bruno Haible  <bruno@clisp.org>
50894
50895         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
50896         when the sys_socket module is present and the system has <winsock2.h>.
50897
50898 2008-10-09  Bruno Haible  <bruno@clisp.org>
50899
50900         * doc/posix-functions/close.texi: Mention module 'close' instead of
50901         module 'sys_socket'.
50902
50903 2008-10-09  Bruno Haible  <bruno@clisp.org>
50904
50905         * doc/glibc-headers/sys_ioctl.texi: New file.
50906         * doc/gnulib.texi: Include it.
50907
50908 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
50909             Bruno Haible  <bruno@clisp.org>
50910
50911         Combine the two replacements of 'close'.
50912         * lib/sys_socket.in.h (close): Define to a reminder to include
50913         <unistd.h>.
50914         (_gl_close_fd_maybe_socket): New declaration.
50915         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
50916         * lib/winsock.c (close): Remove undefinition.
50917         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
50918         needed for the gnulib module 'close'.
50919         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
50920         define to an error symbol or to a warning, if suitable.
50921         * lib/close.c: Include <sys/socket.h>.
50922         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
50923         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
50924         UNISTD_H_HAVE_WINSOCK2_H.
50925         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
50926         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
50927         UNISTD_H_HAVE_WINSOCK2_H.
50928         * modules/sys_socket (Files): Add m4/unistd_h.m4.
50929         (configure.ac): Set a module indicator.
50930         (Makefile.am): Substitute GNULIB_CLOSE.
50931         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
50932         * modules/poll-tests (Depends-on): Add close.
50933         * modules/select-tests (Depends-on): Likewise.
50934
50935 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
50936             Bruno Haible  <bruno@clisp.org>
50937
50938         New module 'close'.
50939         * modules/close: New file.
50940         * lib/unistd.in.h (close): Move declaration out of the
50941         FCHDIR_REPLACEMENT scope.
50942         (_gl_unregister_fd): New declaration.
50943         * lib/close.c: New file.
50944         * lib/fchdir.c (rpl_close): Remove function.
50945         * m4/close.m4: New file.
50946         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
50947         close.
50948         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
50949         REPLACE_CLOSE.
50950         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
50951         REPLACE_CLOSE.
50952         * modules/fchdir (Depends-on): Add close.
50953
50954 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
50955             Bruno Haible  <bruno@clisp.org>
50956
50957         * lib/fcntl.in.h (open): Simplify conditionals.
50958         (_gl_register_fd): New declaration.
50959         * lib/fchdir.c (rpl_open): Remove function.
50960         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
50961         also.
50962         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
50963         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
50964         open.
50965
50966 2008-10-09  Jim Meyering  <meyering@redhat.com>
50967
50968         GNUmakefile: use the more name-space-friendly "_version"
50969         * top/GNUmakefile (_dummy): Update.
50970         (_version): Rename from "version".
50971
50972 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
50973             Bruno Haible  <bruno@clisp.org>
50974
50975         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
50976         rpl_close.
50977         (_gl_register_fd): New function, extracted from rpl_open.
50978         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
50979         (rpl_open, rpl_opendir): Use _gl_register_fd.
50980
50981 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
50982
50983         Fix organization of 'open' replacement.
50984         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
50985         (gl_FUNC_OPEN): Use it.
50986         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
50987
50988 2008-10-08  Bruno Haible  <bruno@clisp.org>
50989
50990         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
50991
50992 2008-10-08  Simon Josefsson  <simon@josefsson.org>
50993
50994         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
50995         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
50996         listen).
50997
50998 2008-10-08  Eric Blake  <ebb9@byu.net>
50999
51000         GNUmakefile: add 'make version' target
51001         * top/GNUmakefile (_curr-ver): Split version update rules...
51002         (version): ...into a target.
51003
51004 2008-10-07  Bruno Haible  <bruno@clisp.org>
51005
51006         Use a more portable replacement expression for -0.0L.
51007         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
51008         instead of -0.0L. Fix m4 quotation.
51009
51010         * tests/test-signbit.c: Include <float.h>.
51011         (minus_zero): New variable.
51012         (test_signbitl): Use minus_zero instead of -zero.
51013         * modules/signbit-tests (Depends-on): Add float.
51014
51015         * tests/test-ceill.c: Include <float.h>.
51016         (zero): Remove variable.
51017         (minus_zero): New variable.
51018         (main): Use minus_zero instead of -zero.
51019         * modules/ceill-tests (Depends-on): Add float.
51020
51021         * tests/test-floorl.c: Include <float.h>.
51022         (zero): Remove variable.
51023         (minus_zero): New variable.
51024         (main): Use minus_zero instead of -zero.
51025         * modules/floorl-tests (Depends-on): Add float.
51026
51027         * tests/test-roundl.c: Include <float.h>.
51028         (zero): Remove variable.
51029         (minus_zero): New variable.
51030         (main): Use minus_zero instead of -zero.
51031         * modules/roundl-tests (Depends-on): Add float.
51032
51033         * tests/test-truncl.c: Include <float.h>.
51034         (zero): Remove variable.
51035         (minus_zero): New variable.
51036         (main): Use minus_zero instead of -zero.
51037         * modules/truncl-tests (Depends-on): Add float.
51038
51039         * tests/test-frexpl.c (zero): Remove variable.
51040         (minus_zero): New variable.
51041         (main): Use minus_zero instead of -zero.
51042         * modules/frexpl-tests (Depends-on): Add float.
51043
51044         * tests/test-isnan.c (zerol): Remove variable.
51045         (minus_zerol): New variable.
51046         (test_long_double): Use minus_zerol instead of -zerol.
51047         * modules/isnan-tests (Depends-on): Add float.
51048
51049         * tests/test-isnanl.h (zero): Remove variable.
51050         (minus_zero): New variable.
51051         (main): Use minus_zero instead of -zero.
51052         * modules/isnanl-nolibm-tests (Depends-on): Add float.
51053         * modules/isnanl-tests (Depends-on): Add float.
51054
51055         * tests/test-ldexpl.c (zero): Remove variable.
51056         (minus_zero): New variable.
51057         (main): Use minus_zero instead of -zero.
51058         * modules/ldexpl-tests (Depends-on): Add float.
51059
51060         * tests/test-snprintf-posix.h (zerol): Remove variable.
51061         (minus_zerol): New variable.
51062         (test_function): Use minus_zerol instead of -zerol.
51063         * modules/snprintf-posix-tests (Depends-on): Add float.
51064         * modules/vsnprintf-posix-tests (Depends-on): Add float.
51065
51066         * tests/test-sprintf-posix.h (zerol): Remove variable.
51067         (minus_zerol): New variable.
51068         (test_function): Use minus_zerol instead of -zerol.
51069         * modules/sprintf-posix-tests (Depends-on): Add float.
51070         * modules/vsprintf-posix-tests (Depends-on): Add float.
51071
51072         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
51073         (minus_zerol): New variable.
51074         (test_function): Use minus_zerol instead of -zerol.
51075         * modules/vasnprintf-posix-tests (Depends-on): Add float.
51076
51077         * tests/test-vasprintf-posix.c (zerol): Remove variable.
51078         (minus_zerol): New variable.
51079         (test_function): Use minus_zerol instead of -zerol.
51080         * modules/vasprintf-posix-tests (Depends-on): Add float.
51081
51082 2008-10-07  Simon Josefsson  <simon@josefsson.org>
51083
51084         * MODULES.html.sh (Support for building documentation): Mention
51085         pmccabe2html.  Sort entries.
51086
51087         Add pmccabe2html module, from gnupdf.
51088         * build-aux/pmccabe.css: New file.
51089         * build-aux/pmccabe2html: New file.
51090         * m4/pmccabe2html.m4: New file.
51091         * modules/pmccabe2html: New file.
51092
51093 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
51094
51095         flock: new module
51096         * MODULES.html.sh: Add to list of modules.
51097         * lib/flock.c: flock implementation for Windows and Unix systems
51098         which have fcntl.
51099         * doc/glibc-functions/flock.texi: Update documentation.
51100         * lib/sys_file.in.h: <sys/file.h> header file.
51101         * m4/flock.m4: M4 macros.
51102         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
51103         * modules/flock: flock module.
51104         * modules/flock-tests: flock tests module.
51105         * modules/sys_file: sys/file.h module.
51106         * tests/test-flock.c: test suite for flock.
51107
51108 2008-10-06  Jim Meyering  <meyering@redhat.com>
51109
51110         bootstrap: check for LT_INIT more portably still ;-)
51111         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
51112         Spotted by Bruno Haible.
51113
51114 2008-10-06  Eric Blake  <ebb9@byu.net>
51115
51116         test-signbit: avoid tripping Irix cc bug on -0.0L
51117         * tests/test-signbit.c (minus_zerol): Delete, and replace with
51118         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
51119         entire testsuite consistent and avoids an Irix 6.2 bug.
51120
51121 2008-10-05  Bruno Haible  <bruno@clisp.org>
51122             Jim Meyering  <jim@meyering.net>
51123
51124         Add an option for ignoring EPIPE during close_stdout.
51125         * lib/closeout.h: Include <stdbool.h>.
51126         (close_stdout_set_ignore_EPIPE): New declaration.
51127         * lib/closeout.c: Include <stdbool.h>.
51128         (ignore_EPIPE): New variable.
51129         (close_stdout_set_ignore_EPIPE): New function.
51130         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
51131         * lib/close-stream.c (close_stream): Mention the possible EPIPE
51132         failure.
51133         * modules/closeout (Depends-on): Add stdbool.
51134
51135 2008-10-05  Bruno Haible  <bruno@clisp.org>
51136
51137         * modules/accept: New file.
51138         * modules/bind: New file.
51139         * modules/connect: New file.
51140         * modules/getpeername: New file.
51141         * modules/getsockname: New file.
51142         * modules/getsockopt: New file.
51143         * modules/listen: New file.
51144         * modules/recv: New file.
51145         * modules/recvfrom: New file.
51146         * modules/send: New file.
51147         * modules/sendto: New file.
51148         * modules/setsockopt: New file.
51149         * modules/socket: New file.
51150         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
51151         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
51152         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
51153         the particular module is requested. Add a link warning when the
51154         particular module is not requested.
51155         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
51156         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
51157         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
51158         the particular module is requested.
51159         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
51160         gl_SYS_SOCKET_H_DEFAULTS): New macros.
51161         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
51162         * modules/sys_socket (Depends-on): Add link-warning.
51163         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
51164         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
51165         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
51166         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
51167         GL_LINK_WARNING.
51168         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
51169         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
51170         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
51171         * doc/posix-functions/getpeername.texi: Mention the new module
51172         'getpeername'.
51173         * doc/posix-functions/getsockname.texi: Mention the new module
51174         'getsockname'.
51175         * doc/posix-functions/getsockopt.texi: Mention the new module
51176         'getsockopt'.
51177         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
51178         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
51179         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
51180         * doc/posix-functions/send.texi: Mention the new module 'send'.
51181         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
51182         * doc/posix-functions/setsockopt.texi: Mention the new module
51183         'setsockopt'.
51184         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
51185         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
51186         listen, connect, accept.
51187         * modules/select-tests (Depends-on): Likewise.
51188
51189 2008-10-05  Bruno Haible  <bruno@clisp.org>
51190
51191         * lib/winsock.c (strerror): Remove unused #undef.
51192         (rpl_close): Remove unused local variable.
51193
51194         * modules/sys_socket (Depends-on); Add errno.
51195
51196 2008-10-05  Bruno Haible  <bruno@clisp.org>
51197
51198         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
51199         (select): Add a link warning when the 'select' module is not used.
51200         * modules/sys_select (Depends-on): Add link-warning.
51201         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
51202         Suggested by Paolo Bonzini.
51203
51204 2008-10-05  Jim Meyering  <meyering@redhat.com>
51205
51206         bootstrap: check for LT_INIT more portably
51207         * build-aux/bootstrap: Avoid using grep -E, since it's not
51208         portable enough.  Suggestion from Bruno Haible.
51209
51210 2008-10-05  Bruno Haible  <bruno@clisp.org>
51211
51212         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
51213         as being fixed by gnulib.
51214
51215 2008-10-05  Bruno Haible  <bruno@clisp.org>
51216
51217         * modules/select-tests: New file, mostly copied from
51218         modules/sys_select-tests.
51219         * tests/test-select.c: New file, mostly copied from
51220         tests/test-sys_select.c.
51221         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
51222         * modules/sys_select-tests (Depends-on): Remove all dependencies.
51223         (Makefile.am): Remove test_sys_select_LDADD.
51224
51225         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
51226         to an undefined symbol, for an error message.
51227         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
51228         (gl_SYS_SELECT_H_DEFAULTS): New macro.
51229         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
51230         winsock-select.c here.
51231         * modules/sys_select (Files): Remove lib/winsock-select.c.
51232         (Depends-on): Remove alloca.
51233         (Makefile.am): Substitute GNULIB_SELECT.
51234         * modules/select: New file.
51235         * doc/posix-functions/select.texi: Update.
51236
51237 2008-10-05  Bruno Haible  <bruno@clisp.org>
51238
51239         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
51240         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
51241         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
51242         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
51243         getdtablesize.
51244         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
51245         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
51246
51247 2008-10-05  Bruno Haible  <bruno@clisp.org>
51248
51249         * modules/getdtablesize-tests: New file.
51250         * tests/test-getdtablesize.c: New file.
51251
51252         New module 'getdtablesize'.
51253         * lib/unistd.in.h (getdtablesize): New declaration.
51254         * lib/getdtablesize.c: New file.
51255         * m4/getdtablesize.m4: New file.
51256         * modules/getdtablesize: New file.
51257         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
51258         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
51259         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
51260         HAVE_GETDTABLESIZE.
51261         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
51262
51263 2008-10-05  Bruno Haible  <bruno@clisp.org>
51264
51265         * modules/sched (Makefile.am): Fix typo.
51266         Reported by Simon Josefsson.
51267
51268 2008-10-05  Jim Meyering  <meyering@redhat.com>
51269
51270         bootstrap: check for LT_INIT, too
51271         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
51272         are deprecated.  Suggestion from Ralf Wildenhues.
51273
51274 2008-10-05  Bruno Haible  <bruno@clisp.org>
51275
51276         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
51277         overriding them by ours.
51278         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
51279
51280 2008-10-05  Jim Meyering  <meyering@redhat.com>
51281
51282         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
51283         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
51284         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
51285
51286 2008-10-04  Bruno Haible  <bruno@clisp.org>
51287
51288         * modules/dup2 (License): Change to LGPLv2+.
51289         * modules/sleep (License): Likewise.
51290         * modules/perror (License): Likewise.
51291         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
51292         Blake.
51293         * modules/signal (License): Likewise.
51294         * modules/sigprocmask (License): Likewise.
51295         * modules/raise (License): Change to LGPLv2+, with approval by Jim
51296         Meyering.
51297
51298 2008-10-04  Bruno Haible  <bruno@clisp.org>
51299
51300         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
51301         Reported by Rainer Tammer <tammer@tammer.net>.
51302
51303 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
51304             Bruno Haible  <bruno@clisp.org>
51305
51306         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
51307         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
51308         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
51309
51310 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
51311
51312         filevercmp: new module
51313         * lib/filevercmp.h: New function filevercmp comparing version strings.
51314         * lib/filevercmp.c: Implementation of filevercmp function.
51315         * modules/filevercmp: Module metadata.
51316         * tests/test-filevercmp.c: Unit test for new module.
51317         * modules/filevercmp-tests: Unit test metadata.
51318         * MODULES.html.sh: Add filevercmp module.
51319
51320 2008-10-03  Bruno Haible  <bruno@clisp.org>
51321
51322         * lib/c-ctype.h: Add comment.
51323         Reported by Jim Meyering.
51324
51325 2008-10-02  Bruno Haible  <bruno@clisp.org>
51326
51327         * modules/posix_spawn-internal (Depends-on): Add 'open'.
51328
51329 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
51330
51331         * build-aux/bootstrap: Allow renaming bootstrap, and change the
51332         name of bootstrap.conf accordingly.
51333
51334 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
51335
51336         * build-aux/bootstrap: Install git-merge-changelog configuration
51337         items into .gitconfig if needed.
51338
51339 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
51340
51341         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
51342         git repository, and initialize/update it accordingly.
51343
51344 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
51345
51346         * modules/fsync-tests: New file.
51347         * tests/test-fsync.c: New file.
51348
51349         New module 'fsync'.
51350         * lib/fsync.c: New file.
51351         * m4/fsync.m4: New file.
51352         * modules/fsync: New file.
51353         * lib/unistd.in.h (fsync): New declaration.
51354         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
51355         GNULIB_FSYNC and HAVE_FSYNC.
51356         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
51357         * MODULES.html.sh (posix_functions): Add fsync.
51358         * doc/posix-functions/fsync.texi: Mention the new module.
51359
51360 2008-10-02  Jim Meyering  <meyering@redhat.com>
51361
51362         fts.c: sync with similar code from coreutils' remove.c
51363         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
51364         Guard also with "#if defined __linux__", since for now at least,
51365         this code is Linux-kernel-specific.
51366
51367 2008-10-02  Jim Meyering  <meyering@redhat.com>
51368
51369         fts: bug fixes
51370         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
51371         Include <sys/vfs.h>, not <sys/statfs.h>.
51372
51373         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
51374         Include <sys/vfs.h>, not <sys/statfs.h>.
51375
51376 2008-10-01  Bruno Haible  <bruno@clisp.org>
51377
51378         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
51379         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
51380         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
51381         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
51382         * doc/posix-functions/posix_spawnp.texi: Likewise.
51383         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
51384         whether posix_spawn actually works.
51385         * m4/pipe.m4 (gl_PIPE): Likewise.
51386         * modules/execute (Files): Add m4/posix_spawn.m4.
51387         * modules/pipe (Files): Add m4/posix_spawn.m4.
51388         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
51389
51390 2008-10-01  Jim Meyering  <meyering@redhat.com>
51391
51392         remove trailing spaces
51393         * NEWS: Likewise.
51394         * lib/poll.c (poll): Likewise.
51395         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
51396         * lib/winsock.c (rpl_close): Likewise.
51397         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
51398         * modules/yield: Likewise.
51399         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
51400         * tests/test-sys_select.c (connect_to_socket): Likewise.
51401
51402         fts.c: adjust a new interface to be more generally useful
51403         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
51404         (fts_build): Adjust caller.
51405
51406 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51407
51408         * modules/cond-tests: New file.
51409         * tests/test-cond.c: New file.
51410
51411 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51412             Bruno Haible  <bruno@clisp.org>
51413
51414         * modules/cond (Dependencies): Add errno, time.
51415         * lib/glthread/cond.h: Include <time.h>.
51416         (gl_cond_define, gl_cond_define_initialized): Use the same definition
51417         across platforms.
51418
51419 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51420             Bruno Haible  <bruno@clisp.org>
51421
51422         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
51423
51424 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51425             Bruno Haible  <bruno@clisp.org>
51426
51427         * modules/tls-tests (Depends-on): Add thread, yield.
51428         (configure.ac): Remove all checks.
51429         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
51430         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
51431         gl_thread_self): Remove definitions. Include glthread/thread.h and
51432         glthread/yield.h instead.
51433         (test_tls): Pass an additional NULL argument to gl_thread_join.
51434
51435 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51436             Bruno Haible  <bruno@clisp.org>
51437
51438         * modules/lock-tests (Depends-on): Add thread, yield.
51439         (configure.ac): Remove all checks.
51440         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
51441         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
51442         gl_thread_self): Remove definitions. Include glthread/thread.h and
51443         glthread/yield.h instead.
51444         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
51445         additional NULL argument to gl_thread_join.
51446
51447 2008-09-30  Bruno Haible  <bruno@clisp.org>
51448
51449         Fix the Win32 implementation of the 'thread' module.
51450         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
51451         pointer type.
51452         (gl_thread_self): Invoke gl_thread_self_func.
51453         (gl_thread_self_func): New declaration.
51454         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
51455         (do_init_self_key, init_self_key): New functions.
51456         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
51457         Remove some fields.
51458         (running_threads, running_lock): Remove variables.
51459         (get_current_thread_handle): New function.
51460         (gl_thread_self_func, wrapper_func, glthread_create_func,
51461         glthread_join_func, gl_thread_exit_func): Largely rewritten and
51462         simplified.
51463
51464 2008-09-30  Bruno Haible  <bruno@clisp.org>
51465
51466         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
51467         files.
51468
51469 2008-09-30  Jim Meyering  <meyering@redhat.com>
51470
51471         fts.m4: correct the test for statfs.f_type
51472         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
51473         when checking for statfs.f_type.
51474
51475 2008-09-15  Simon Josefsson  <simon@josefsson.org>
51476
51477         tests: avoid some compiler warnings
51478         * tests/test-memchr.c (main): Pass NULL indirectly.
51479         * tests/test-getdate.c (main): Remove unused variable 'ret'.
51480
51481 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
51482
51483         getdate.y: disallow countable dayshifts like "4 yesterday ago"
51484         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
51485         exactly specified dayshifts.
51486         (dayshift): New rule.
51487         (rel): Add dayshift.
51488         (relative_time_table) [tomorrow, yesterday, today, now]:
51489         Use tDAY_SHIFT in place of tDAY_UNIT.
51490         * tests/test-getdate.c: Add tests for now-disallowed countable
51491         dayshifts, e.g., "4 yesterday ago".
51492
51493 2008-09-29  Bruno Haible  <bruno@clisp.org>
51494
51495         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
51496         * tests/test-posix_spawn1.in.sh: Renamed from
51497         tests/test-posix_spawn.in.sh.
51498         * tests/test-posix_spawn2.c: New file.
51499         * tests/test-posix_spawn2.in.sh: New file.
51500         * modules/posix_spawnp-tests (Files): Update.
51501         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
51502
51503 2008-09-29  Bruno Haible  <bruno@clisp.org>
51504
51505         Propagate effects of putenv/setenv/unsetenv to child processes.
51506         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
51507         * lib/pipe.c (create_pipe): Likewise.
51508
51509 2008-09-29  Bruno Haible  <bruno@clisp.org>
51510
51511         Enable use of shell scripts as executables in mingw.
51512         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
51513         run the program as a shell script.
51514         * lib/pipe.c (create_pipe): Likewise.
51515         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
51516         resulting array.
51517
51518 2008-09-29  Eric Blake  <ebb9@byu.net>
51519
51520         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
51521
51522 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
51523
51524         * doc/posix-functions/accept.texi: Update mingw problems.
51525         * doc/posix-functions/bind.texi: Update mingw problems.
51526         * doc/posix-functions/close.texi: Update mingw problems.
51527         * doc/posix-functions/connect.texi: Update mingw problems.
51528         * doc/posix-functions/getpeername.texi: Update mingw problems.
51529         * doc/posix-functions/getsockname.texi: Update mingw problems.
51530         * doc/posix-functions/getsockopt.texi: Update mingw problems.
51531         * doc/posix-functions/ioctl.texi: Update mingw problems.
51532         * doc/posix-functions/listen.texi: Update mingw problems.
51533         * doc/posix-functions/recv.texi: Update mingw problems.
51534         * doc/posix-functions/recvfrom.texi: Update mingw problems.
51535         * doc/posix-functions/select.texi: Update mingw problems.
51536         * doc/posix-functions/send.texi: Update mingw problems.
51537         * doc/posix-functions/sendto.texi: Update mingw problems.
51538         * doc/posix-functions/setsockopt.texi: Update mingw problems.
51539         * doc/posix-functions/socket.texi: Update mingw problems.
51540
51541 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
51542             Bruno Haible  <bruno@clisp.org>
51543
51544         * lib/sys_select.in.h: Include sys/time.h.
51545         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
51546         * modules/sys_select: Depend on sys_time.
51547         * tests/test-sys_select.c: Test that sys/select.h defines struct
51548         timeval fully.
51549
51550 2008-09-29  Bruno Haible  <bruno@clisp.org>
51551
51552         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
51553         * lib/sys_select.in.h: Likewise.
51554
51555 2008-09-29  Bruno Haible  <bruno@clisp.org>
51556
51557         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
51558
51559 2008-09-29  Bruno Haible  <bruno@clisp.org>
51560
51561         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
51562         Set LIBSOCKET instead of augmenting LIBS.
51563         * modules/sockets (Link): New section.
51564         * modules/sockets-tests (test_sockets_LDADD): New variable.
51565         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
51566         * modules/poll-tests (test_poll_LDADD): New variable.
51567         * NEWS: Document the change.
51568
51569 2008-09-29  Bruno Haible  <bruno@clisp.org>
51570
51571         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
51572         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
51573         ARPA_INET_H directly.
51574         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
51575
51576 2008-09-28  Bruno Haible  <bruno@clisp.org>
51577
51578         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
51579         from gl_HEADER_SYS_SOCKET.
51580         (gl_HEADER_SYS_SOCKET): Invoke it.
51581         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
51582
51583 2008-09-28  Bruno Haible  <bruno@clisp.org>
51584
51585         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
51586         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
51587         Needed on OSF/1 4.0.
51588
51589 2008-09-28  Bruno Haible  <bruno@clisp.org>
51590
51591         Override open more carefully.
51592         * lib/open.c (orig_open): New function.
51593         (rpl_open): Use orig_open instead of open.
51594         * lib/fcntl.in.h: Add special invocation convention.
51595         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
51596         (gl_FUNC_OPEN): Invoke it.
51597
51598         Override freopen more carefully.
51599         * lib/freopen.c (orig_freopen): New function.
51600         (rpl_freopen): Use orig_freopen instead of freopen.
51601         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
51602         (gl_FUNC_FREOPEN): Invoke it.
51603
51604         Override fopen more carefully.
51605         * lib/fopen.c (orig_fopen): New function.
51606         (rpl_fopen): Use orig_fopen instead of fopen.
51607         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
51608         (gl_FUNC_FOPEN): Invoke it.
51609         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
51610
51611 2008-09-28  Bruno Haible  <bruno@clisp.org>
51612
51613         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
51614         SIGPIPE.
51615
51616 2008-09-28  Bruno Haible  <bruno@clisp.org>
51617
51618         * tests/test-sigaction.c (handler, main): Disable the check whether
51619         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
51620         glibc systems with LinuxThreads.
51621
51622 2008-09-28  Bruno Haible  <bruno@clisp.org>
51623
51624         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
51625
51626         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
51627         with AIX xlc.
51628         * lib/fcntl.in.h (open): Likewise.
51629         Reported by Rainer Tammer <tammer@tammer.net>.
51630
51631 2008-09-28  Bruno Haible  <bruno@clisp.org>
51632
51633         * modules/posix_spawnp-tests: New file.
51634         * tests/test-posix_spawn.c: New file.
51635         * tests/test-posix_spawn.in.sh: New file.
51636
51637         New module 'posix_spawnp'.
51638         * modules/posix_spawnp: New file.
51639         * lib/spawnp.c: New file, from GNU libc with modifications.
51640         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
51641
51642         New module 'posix_spawn'.
51643         * modules/posix_spawn: New file.
51644         * lib/spawn.c: New file, from GNU libc with modifications.
51645         * doc/posix-functions/posix_spawn.texi: Mention the new module.
51646
51647         New module 'posix_spawnattr_destroy'.
51648         * modules/posix_spawnattr_destroy: New file.
51649         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
51650         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
51651         module.
51652
51653         New module 'posix_spawnattr_setsigmask'.
51654         * modules/posix_spawnattr_setsigmask: New file.
51655         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
51656         modifications.
51657         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
51658         new module.
51659
51660         New module 'posix_spawnattr_getsigmask'.
51661         * modules/posix_spawnattr_getsigmask: New file.
51662         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
51663         modifications.
51664         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
51665         new module.
51666
51667         New module 'posix_spawnattr_setsigdefault'.
51668         * modules/posix_spawnattr_setsigdefault: New file.
51669         * lib/spawnattr_setdefault.c: New file, from GNU libc with
51670         modifications.
51671         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
51672         new module.
51673
51674         New module 'posix_spawnattr_getsigdefault'.
51675         * modules/posix_spawnattr_getsigdefault: New file.
51676         * lib/spawnattr_getdefault.c: New file, from GNU libc with
51677         modifications.
51678         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
51679         new module.
51680
51681         New module 'posix_spawnattr_setschedpolicy'.
51682         * modules/posix_spawnattr_setschedpolicy: New file.
51683         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
51684         modifications.
51685         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
51686         new module.
51687
51688         New module 'posix_spawnattr_getschedpolicy'.
51689         * modules/posix_spawnattr_getschedpolicy: New file.
51690         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
51691         modifications.
51692         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
51693         new module.
51694
51695         New module 'posix_spawnattr_setschedparam'.
51696         * modules/posix_spawnattr_setschedparam: New file.
51697         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
51698         modifications.
51699         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
51700         new module.
51701
51702         New module 'posix_spawnattr_getschedparam'.
51703         * modules/posix_spawnattr_getschedparam: New file.
51704         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
51705         modifications.
51706         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
51707         new module.
51708
51709         New module 'posix_spawnattr_setpgroup'.
51710         * modules/posix_spawnattr_setpgroup: New file.
51711         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
51712         modifications.
51713         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
51714         module.
51715
51716         New module 'posix_spawnattr_getpgroup'.
51717         * modules/posix_spawnattr_getpgroup: New file.
51718         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
51719         modifications.
51720         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
51721         module.
51722
51723         New module 'posix_spawnattr_setflags'.
51724         * modules/posix_spawnattr_setflags: New file.
51725         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
51726         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
51727         module.
51728
51729         New module 'posix_spawnattr_getflags'.
51730         * modules/posix_spawnattr_getflags: New file.
51731         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
51732         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
51733         module.
51734
51735         New module 'posix_spawnattr_init'.
51736         * modules/posix_spawnattr_init: New file.
51737         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
51738         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
51739         module.
51740
51741         New module 'posix_spawn_file_actions_destroy'.
51742         * modules/posix_spawn_file_actions_destroy: New file.
51743         * lib/spawn_faction_destroy.c: New file, from GNU libc with
51744         modifications.
51745         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
51746         the new module.
51747
51748         New module 'posix_spawn_file_actions_addopen'.
51749         * modules/posix_spawn_file_actions_addopen: New file.
51750         * lib/spawn_faction_addopen.c: New file, from GNU libc with
51751         modifications.
51752         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
51753         the new module.
51754
51755         New module 'posix_spawn_file_actions_adddup2'.
51756         * modules/posix_spawn_file_actions_adddup2: New file.
51757         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
51758         modifications.
51759         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
51760         the new module.
51761
51762         New module 'posix_spawn_file_actions_addclose'.
51763         * modules/posix_spawn_file_actions_addclose: New file.
51764         * lib/spawn_faction_addclose.c: New file, from GNU libc with
51765         modifications.
51766         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
51767         the new module.
51768
51769         New module 'posix_spawn_file_actions_init'.
51770         * modules/posix_spawn_file_actions_init: New file.
51771         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
51772         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
51773         new module.
51774
51775         New module 'posix_spawn-internal'.
51776         * modules/posix_spawn-internal: New file.
51777         * lib/spawn_int.h: New file, from GNU libc with modifications.
51778         * lib/spawni.c: New file, from GNU libc with modifications.
51779         * m4/posix_spawn.m4: New file.
51780
51781         New module 'spawn'.
51782         * modules/spawn: New file.
51783         * lib/spawn.in.h: New file, from GNU libc with modifications.
51784         * m4/spawn_h.m4: New file.
51785         * doc/posix-headers/spawn.texi: Mention the new module.
51786
51787 2008-09-28  Bruno Haible  <bruno@clisp.org>
51788
51789         * modules/sched-tests: New file.
51790         * tests/test-sched.c: New file.
51791
51792         New module 'sched'.
51793         * modules/sched: New file.
51794         * lib/sched.in.h: New file.
51795         * m4/sched_h.m4: New file.
51796         * doc/posix-headers/sched.texi: Mention the new module.
51797
51798 2008-09-27  Eric Blake  <ebb9@byu.net>
51799
51800         Fix previous patch, and tweak references to $0.
51801         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
51802         (func_version, func_gnulib_dir): Don't call this program
51803         gnulib-tool.
51804         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
51805         with using $0 in function.
51806         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
51807         (func_fatal_error): Reuse the name the user invoked us with.
51808
51809 2008-09-27  Bruno Haible  <bruno@clisp.org>
51810
51811         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
51812         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
51813         (gl_ICONV_H): Not here.
51814         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
51815         instead of assigning ICONV_H directly.
51816
51817         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
51818         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
51819         WCHAR_H directly.
51820
51821 2008-09-27  Bruno Haible  <bruno@clisp.org>
51822
51823         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
51824         * modules/arpa_inet (Depends-on): Add link-warning.
51825         (Makefile.am): Insert the definition of GL_LINK-WARNING.
51826         * modules/unistd (Makefile.am): Likewise.
51827
51828 2008-09-26  Bruno Haible  <bruno@clisp.org>
51829
51830         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
51831         variables.
51832         (func_version): Essentially copied from gnulib-tool.
51833         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
51834         func_readlink): Copied from gnulib-tool.
51835
51836 2008-09-26  Bruno Haible  <bruno@clisp.org>
51837
51838         * gnulib-tool (func_version): Change directory to $gnulib_dir before
51839         invoking git-version-gen.
51840
51841 2008-09-26  Bruno Haible  <bruno@clisp.org>
51842
51843         * posix-modules: Update to directory names changed on 2008-01-19.
51844         Remove commas in output before splitting into words. No more need to
51845         avoid 'ftruncate' since 2007-02-19.
51846
51847 2008-09-26  Bruno Haible  <bruno@clisp.org>
51848
51849         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
51850
51851 2008-09-26  Bruno Haible  <bruno@clisp.org>
51852
51853         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
51854         * modules/fwriteerror (Depends-on): Add errno.
51855
51856 2008-09-26  Bruno Haible  <bruno@clisp.org>
51857
51858         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
51859         * tests/test-vc-list-files-cvs.sh: Likewise.
51860
51861 2008-09-26  Bruno Haible  <bruno@clisp.org>
51862
51863         * doc/posix-headers/sys_resource.texi: Reorder items.
51864
51865 2008-09-26  Jim Meyering  <meyering@redhat.com>
51866
51867         fts: tweak inode comparison function
51868         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
51869         inode numbers, as documented.
51870
51871         fts: sort dirent entries on inode number before traversing
51872         This avoids a quadratic, seek-related performance penalty when
51873         operating on a directory containing many entries (measurable at 10k;
51874         3.5 hours at 2 million entries with a cold cache) on certain types
51875         of file systems, including ext3 and ext4, but not tmpfs.
51876         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
51877         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
51878         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
51879         (fs_handles_readdir_ordered_dirents_efficiently): New function.
51880         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
51881         (fts_build): Set the stat.st_ino member from D_INO.
51882         If it is likely to be useful, sort dirent entries on inode number.
51883
51884         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
51885         and the struct statfs.f_type member.
51886         * modules/fts (Depends-on): Add d-ino.
51887
51888 2008-09-26  Bruno Haible  <bruno@clisp.org>
51889
51890         * modules/sigpipe-die (Depends-on): Add sigpipe.
51891
51892         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
51893         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
51894         and GNULIB_STDIO_H_SIGPIPE are set.
51895         * lib/stdio-write.c: New file.
51896         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
51897         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
51898         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
51899         REPLACE_STDIO_WRITE_FUNCS.
51900         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
51901         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
51902         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
51903         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
51904         * modules/stdio (Files): Add lib/stdio-write.c.
51905         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
51906         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
51907         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
51908         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
51909         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
51910         REPLACE_FPRINTF_POSIX.
51911         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
51912         REPLACE_PRINTF_POSIX.
51913         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
51914         REPLACE_VFPRINTF_POSIX.
51915         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
51916         REPLACE_VPRINTF_POSIX.
51917         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
51918         SIGPIPE issue.
51919         * doc/posix-functions/fputc.texi: Likewise.
51920         * doc/posix-functions/fputs.texi: Likewise.
51921         * doc/posix-functions/fwrite.texi: Likewise.
51922         * doc/posix-functions/printf.texi: Likewise.
51923         * doc/posix-functions/putc.texi: Likewise.
51924         * doc/posix-functions/putchar.texi: Likewise.
51925         * doc/posix-functions/puts.texi: Likewise.
51926         * doc/posix-functions/vfprintf.texi: Likewise.
51927         * doc/posix-functions/vprintf.texi: Likewise.
51928
51929         * modules/safe-write (Depends-on): Add write.
51930
51931         * modules/sigpipe-tests: New file.
51932         * tests/test-sigpipe.c: New file.
51933         * tests/test-sigpipe.sh: New file.
51934
51935         * modules/write: New file.
51936         * lib/unistd.in.h: Include <sys/types.h>.
51937         (write): New declaration.
51938         * lib/write.c: New file.
51939         * m4/write.m4: New file.
51940         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
51941         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
51942         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
51943         GNULIB_WRITE, REPLACE_WRITE.
51944         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
51945         and the SIGPIPE issue.
51946
51947         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
51948         (raise): New declaration.
51949         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
51950         (ext_signal): New function.
51951         (rpl_raise): New function.
51952         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
51953         GNULIB_SIGNAL_H_SIGPIPE.
51954         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
51955         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
51956
51957         * modules/sigpipe: New file.
51958         * m4/sigpipe.m4: New file.
51959
51960 2008-09-25  Derek Price  <derek@ximbiot.com>
51961             Bruno Haible  <bruno@clisp.org>
51962
51963         * gnulib-tool (func_import): Report all license incompatibilities, not
51964         just the first one.
51965
51966 2008-09-25  Bruno Haible  <bruno@clisp.org>
51967
51968         * gnulib-tool (func_import): When computing the edits, consider not
51969         only the Makefile.ams that exist but also those that will be generated.
51970
51971 2008-09-25  Simon Josefsson  <simon@josefsson.org>
51972
51973         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
51974         fixes gnulib-tool --test warning about duplicate dependency.
51975
51976 2008-09-25  Bruno Haible  <bruno@clisp.org>
51977
51978         * gnulib-tool: Don't ask the user to perform edits in the generated
51979         Makefile.ams.
51980         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
51981         apply to the Makefile.am being generated.
51982         (func_emit_tests_Makefile_am): Execute edits that apply to the
51983         Makefile.am being generated.
51984         (func_import): Setup list of Makefile.am edits before emitting the
51985         Makefile.ams, not at the end.
51986         (func_create_testdir): Update.
51987         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
51988
51989 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51990
51991         * gnulib-tool (func_import): Store the --tests-base option in the
51992         comment in gnulib-cache.m4.
51993
51994 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
51995
51996         * NEWS: Document increased portability that sys_select now provides.
51997
51998         * lib/sys_select.in.h: Install select wrapper.
51999         * lib/sys_socket.in.h: Use more descriptive name when there is no
52000         select wrapper.
52001         * lib/winsock-select.c: New.
52002         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
52003         Require gl_HEADER_SYS_SOCKET.
52004         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
52005         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
52006         * tests/test-sys_select.c: Add functional tests.
52007
52008 2008-09-24  Eric Blake  <ebb9@byu.net>
52009
52010         open, fopen: close fd leak in last patch
52011         * lib/open.c (rpl_open): Close fd before returning error.
52012         * lib/fopen.c (rpl_fopen): Close fd before returning error.
52013         * doc/posix-functions/open.texi (open): Document that Irix also
52014         has the bug.
52015         * doc/posix-functions/fopen.texi (fopen): Likewise.
52016         Reported by Paolo Bonzini.
52017
52018 2008-09-24  Bruno Haible  <bruno@clisp.org>
52019
52020         Ensure that a filename ending in a slash cannot be used to access a
52021         non-directory.
52022         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
52023         to check whether it's really a directory.
52024         * lib/fopen.c: Include fcntl.h, unistd.h.
52025         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
52026         and fdopen().
52027         * modules/fopen (Depends-on): Add unistd.
52028         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
52029         * tests/test-fopen.c (main): Likewise.
52030         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
52031         * doc/posix-functions/fopen.texi: Likewise.
52032         Reported by Eric Blake.
52033
52034 2008-09-23  Eric Blake  <ebb9@byu.net>
52035
52036         c-stack: avoid compiler optimizations when provoking overflow
52037         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
52038         recursion harder to optimize, to ensure a stack overflow occurs.
52039         * tests/test-c-stack.c (recurse): Likewise.
52040         Borrowed from libsigsegv.
52041
52042         c-stack: work around Irix sigaltstack bug
52043         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
52044         whether sigaltstack uses wrong end of stack_t (copied in part from
52045         libsigsegv).
52046         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
52047         Irix bug, without requiring an over-allocation.
52048         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
52049         bug.
52050
52051         fopen: document mingw bug on directories
52052         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
52053         not allowing a stream visiting a directory, even though reading
52054         from such a stream is not portable.
52055
52056 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
52057
52058         * lib/poll.c: Rewrite.
52059         * modules/poll: Depend on alloca.
52060
52061 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
52062
52063         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
52064         instead define prototypes for a full set of wrappers.  Ensure
52065         that Cygwin does not use the compatibility code, which is only
52066         for MinGW.
52067         * lib/winsock.c: New.
52068         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
52069         * modules/sys_socket: Add lib/winsock.c.
52070
52071         * modules/poll-tests: Add errno and perror.
52072         * tests/test-poll.c: Use ioctl, not ioctlsocket.
52073
52074 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
52075
52076         * tests/test-poll.c: Downgrade minimum needed Winsock version.
52077
52078 2008-09-23  Bruno Haible  <bruno@clisp.org>
52079
52080         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
52081         * doc/glibc-functions/*: Likewise.
52082
52083 2008-09-23  Simon Josefsson  <simon@josefsson.org>
52084
52085         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
52086         success.
52087
52088 2008-09-22  Eric Blake  <ebb9@byu.net>
52089             Bruno Haible  <bruno@clisp.org>
52090
52091         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
52092         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
52093         supply %A but mishandle pseudo-NaN.
52094         Reported by Simon Josefsson.
52095
52096 2008-09-21  Bruno Haible  <bruno@clisp.org>
52097
52098         * tests/test-lock.c (main): Tweak skip message.
52099         * tests/test-tls.c (main): Likewise.
52100
52101 2008-09-21  Bruno Haible  <bruno@clisp.org>
52102
52103         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
52104         whether 'struct sigaction' has sa_sigaction here...
52105         (gl_PREREQ_SIG_HANDLER_H): ... not here.
52106         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
52107
52108 2008-09-21  Bruno Haible  <bruno@clisp.org>
52109
52110         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
52111         section.
52112         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
52113         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
52114         the new section.
52115         (Support for obsolete systems lacking POSIX:2001): New section.
52116         (String handling <string.h>): Move strdup to the new section.
52117         Suggested by Simon Josefsson and Paolo Bonzini.
52118
52119 2008-09-21  Bruno Haible  <bruno@clisp.org>
52120
52121         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
52122         exponents in %e and %g results on 'long double'. Needed for mingw's
52123         improved *printf functions.
52124         * tests/test-vasprintf-posix.c (test_function): Likewise.
52125         * tests/test-snprintf-posix.h (test_function): Likewise.
52126         * tests/test-sprintf-posix.h (test_function): Likewise.
52127         Reported by Eric Blake.
52128
52129 2008-09-21  Bruno Haible  <bruno@clisp.org>
52130
52131         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
52132         * tests/test-sprintf-posix.h (test_function): Likewise.
52133
52134 2008-09-21  Bruno Haible  <bruno@clisp.org>
52135
52136         * modules/getpass (Depends-on): Add strdup-posix.
52137
52138         New module 'strdup-posix'.
52139         * modules/strdup-posix: New file.
52140         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
52141         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
52142         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
52143         REPLACE_STRDUP.
52144         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
52145         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
52146         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
52147         strdup-posix.
52148
52149         * modules/strdup (Depends-on): Remove malloc-posix.
52150
52151 2008-09-20  Bruno Haible  <bruno@clisp.org>
52152
52153         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
52154         Wildenhues.
52155
52156 2008-09-20  Bruno Haible  <bruno@clisp.org>
52157
52158         Ensure that wint_t gets defined on IRIX 5.3.
52159         * lib/wchar.in.h (wint_t): Define if not defined by the system.
52160         * lib/wctype.in.h (wint_t): Likewise.
52161         (__wctype_wint_t): Remove type.
52162         (isw*): Use wint_t instead of __wctype_wint_t.
52163         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
52164         * modules/wchar (Files): Add m4/wint_t.m4.
52165         (Makefile.am): Substitute HAVE_WINT_T.
52166         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
52167         * tests/test-wctype.c: Check that wint_t is defined.
52168         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
52169         * doc/posix-headers/wctype.texi: Likewise.
52170         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
52171
52172 2008-09-18  Bruno Haible  <bruno@clisp.org>
52173
52174         * gnulib-tool (func_exit): Update comment.
52175
52176 2008-09-18  Simon Josefsson  <simon@josefsson.org>
52177
52178         * modules/getaddrinfo (Depends-on): Remove strdup, this module
52179         assumes strdup exists and does not depend on strdup to return
52180         ENOMEM on out of memory conditions.
52181
52182 2008-09-18  Bruno Haible  <bruno@clisp.org>
52183
52184         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
52185         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
52186         digits for the exponent.
52187
52188 2008-09-18  Jim Meyering  <meyering@redhat.com>
52189             Bruno Haible  <bruno@clisp.org>
52190
52191         * lib/vasnprintf.c (decimal_point_char): Define also if
52192         NEED_PRINTF_INFINITE_LONG_DOUBLE.
52193
52194 2008-09-16  Bruno Haible  <bruno@clisp.org>
52195         and Eric Blake  <ebb9@byu.net>
52196
52197         vasnprintf: support Irix 5.3
52198         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
52199         that mishandle long double infinity.
52200         Reported by Tom G. Christensen.
52201
52202 2008-09-16  Bruno Haible  <bruno@clisp.org>
52203
52204         * doc/glibc-functions/scandir.texi: Mention the function is missing on
52205         Solaris 9.
52206         * doc/glibc-functions/alphasort.texi: Likewise.
52207         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
52208
52209 2008-09-16  Jim Meyering  <meyering@redhat.com>
52210
52211         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
52212         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
52213         a umask modification leak out of a subshell.  Otherwise, the
52214         opensolaris /bin/sh would be accepted and thus cause unwarranted
52215         failures in the coreutils test suite.
52216
52217 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
52218
52219         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
52220         to succeed.
52221
52222 2008-09-16  Jim Meyering  <meyering@redhat.com>
52223
52224         avoid spurious test failure when library is built without ACL support
52225         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
52226         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
52227         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
52228         * tests/test-copy-acl.sh: Likewise.
52229
52230 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52231
52232         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
52233         based on character occurrence counts.
52234
52235 2008-09-15  Eric Blake  <ebb9@byu.net>
52236
52237         tests: avoid some compiler warnings
52238         * tests/test-memchr.c (main): Pass NULL indirectly.
52239         * tests/test-closein.c (main): Avoid unused variable.
52240
52241 2008-09-15  Bruno Haible  <bruno@clisp.org>
52242
52243         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
52244         are missing on OpenBSD 4.0 individually.
52245         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
52246
52247 2008-09-15  Bruno Haible  <bruno@clisp.org>
52248
52249         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
52250         * doc/posix-functions/strerror.texi: Mention also Cygwin.
52251         * doc/posix-functions/perror.texi: Likewise.
52252         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
52253         is missing.
52254         Reported by Eric Blake.
52255
52256         * lib/errno.in.h: Use replacement values >= 2000.
52257         Reported by Eric Blake.
52258
52259 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52260
52261         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
52262         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
52263         limit.
52264         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
52265         compareseq was aborted.
52266
52267 2008-09-14  Bruno Haible  <bruno@clisp.org>
52268
52269         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
52270         yvec_edit_count.
52271         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
52272         (fstrcmp_bounded): Simplify result computation accordingly.
52273
52274 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52275
52276         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
52277         (fstrcmp): Define in terms of fstrcmp_bounded.
52278         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
52279         lower_bound argument.
52280         Return quickly if the result is certainly < lower_bound.
52281         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
52282
52283 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52284
52285         * lib/diffseq.h (EARLY_ABORT): New macro.
52286         (compareseq): Change return type to bool. Return true when EARLY_ABORT
52287         evaluates to true.
52288
52289 2008-09-14  Bruno Haible  <bruno@clisp.org>
52290
52291         * modules/perror-tests: New file.
52292         * tests/test-perror.sh: New file.
52293         * tests/test-perror.c: New file.
52294
52295         New module 'perror'.
52296         * lib/stdio.in.h (perror): New declaration.
52297         * lib/perror.c: New file.
52298         * m4/perror.m4: New file.
52299         * modules/perror: New file.
52300         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
52301         * doc/posix-functions/perror.texi: Mention the perror module.
52302         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
52303         REPLACE_PERROR.
52304         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
52305         REPLACE_PERROR.
52306
52307 2008-09-14  Bruno Haible  <bruno@clisp.org>
52308
52309         * modules/stdio (Makefile.am): Reorder to match the order in
52310         lib/stdio.in.h.
52311         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
52312
52313 2008-09-13  Bruno Haible  <bruno@clisp.org>
52314
52315         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
52316
52317 2008-09-13  Bruno Haible  <bruno@clisp.org>
52318
52319         Extend strerror to cover the added errno values.
52320         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
52321         (rpl_strerror): Provide error messages for the added errno values and
52322         for the WSA* values.
52323         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
52324         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
52325         strerror.
52326         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
52327         * modules/strerror (Depends-on): Add errno.
52328         * doc/posix-functions/strerror.texi: Document the change.
52329         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
52330         and EOVERFLOW.
52331
52332 2008-09-13  Bruno Haible  <bruno@clisp.org>
52333
52334         * modules/EOVERFLOW: Remove file.
52335         * m4/eoverflow.m4: Remove file.
52336         * modules/EOVERFLOW-tests: Remove file.
52337         * tests/test-EOVERFLOW.c: Remove file.
52338         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
52339         * modules/ftell (Depends-on): Likewise.
52340         * modules/getdelim (Depends-on): Likewise.
52341         * modules/getugroups (Depends-on): Likewise.
52342         * modules/poll (Depends-on): Likewise.
52343         * modules/snprintf (Depends-on): Likewise.
52344         * modules/sprintf-posix (Depends-on): Likewise.
52345         * modules/vasnprintf (Depends-on): Likewise.
52346         * modules/vasprintf (Depends-on): Likewise.
52347         * modules/vfprintf-posix (Depends-on): Likewise.
52348         * modules/vsnprintf (Depends-on): Likewise.
52349         * modules/vsprintf-posix (Depends-on): Likewise.
52350         * modules/xvasprintf (Depends-on): Likewise.
52351         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
52352         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
52353         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
52354         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
52355         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
52356         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
52357         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
52358         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
52359         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
52360         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
52361         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
52362         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
52363         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
52364         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
52365         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
52366         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
52367         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
52368         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
52369         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
52370         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
52371         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
52372         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
52373         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
52374         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
52375         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
52376         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
52377         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
52378         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
52379         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
52380         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
52381         * MODULES.html.sh: Remove EOVERFLOW.
52382         * NEWS: Mention the change.
52383
52384 2008-09-13  Bruno Haible  <bruno@clisp.org>
52385
52386         * modules/errno-tests: New file.
52387         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
52388
52389         * lib/errno.in.h: New file.
52390         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
52391         * modules/errno: New file.
52392         * doc/posix-headers/errno.texi: Update documentation.
52393         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
52394
52395 2008-09-13  Bruno Haible  <bruno@clisp.org>
52396
52397         * tests/test-poll.c: Use #if for native Windows, rather than testing
52398         __MSVCRT__.
52399
52400 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52401             Bruno Haible  <bruno@clisp.org>
52402
52403         * lib/glob.c: Don't include <pwd.h> on native Windows.
52404         (WINDOWS32): New macro.
52405         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
52406
52407 2008-09-13  Bruno Haible  <bruno@clisp.org>
52408
52409         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
52410         (ETIMEDOUT): Remove macro.
52411         (glthread_cond_timedwait_multithreaded): New declaration.
52412         (glthread_cond_timedwait): Use it.
52413         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
52414         (glthread_cond_timedwait_multithreaded): New function.
52415
52416 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
52417
52418         * modules/poll-tests: Do not check for io.h.
52419         * tests/test-poll.c: Check for __MSVCRT__ instead.
52420
52421 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
52422
52423         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
52424         * modules/poll-tests: Add inet_pton, stdbool, sockets.
52425         * tests/test-poll.c: Use them.  Use _pipe on Windows.
52426
52427 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
52428
52429         * modules/poll-tests: New.
52430         * tests/test-poll.c: New.
52431
52432 2008-09-12  Eric Blake  <ebb9@byu.net>
52433
52434         frexp: test for NetBSD failure on -0.0
52435         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
52436         not all, bugs from NetBSD 3.0 have been fixed.
52437         * doc/posix-functions/frexp.texi (frexp): Document bug.
52438         Reported by Thomas Klausner.
52439
52440         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
52441         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
52442         literal -0.0.
52443         Reported by Jonathan C. Patschke <jp@centtech.com>.
52444
52445 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52446
52447         * lib/glthread/cond.h: Use dummy implementation also if
52448         USE_WIN32_THREADS.
52449
52450 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52451
52452         * modules/fnmatch-posix (License): Change to LGPLv2+.
52453         * modules/fnmatch-gnu (License): Likewise.
52454
52455 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52456
52457         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
52458
52459 2008-09-11  Jim Meyering  <meyering@redhat.com>
52460
52461         * users.txt: Add gtk-vnc.
52462
52463 2008-09-08  Simon Josefsson  <simon@josefsson.org>
52464
52465         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
52466         rotate amounts.
52467
52468         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
52469         required for 16-bit and 8-bit rotates.
52470         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
52471         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
52472         UINT8_MAX instead of hard-coded constants.
52473         Suggested by Paul Eggert.
52474
52475 2008-09-07  Bruno Haible  <bruno@clisp.org>
52476
52477         * tests/test-striconveh.c (main): Check behaviour when converting from
52478         UTF-7.
52479
52480         Make striconveh work better with stateful encodings.
52481         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
52482         that iconv does not increment the inptr when returning -1/EINVAL.
52483
52484 2008-09-07  Bruno Haible  <bruno@clisp.org>
52485
52486         * build-aux/config.rpath: Update according to libtool-2.2.6.
52487         * build-aux/config.libpath: Likewise.
52488
52489 2008-09-06  Bruno Haible  <bruno@clisp.org>
52490
52491         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
52492         * lib/freadptr.c (freadptr): Likewise.
52493         * lib/freadseek.c (freadptrinc): Likewise.
52494         Reported by Simon Josefsson.
52495
52496 2008-09-06  Bruno Haible  <bruno@clisp.org>
52497
52498         * modules/freadptr (License): Change to LGPLv2+.
52499         * modules/freadseek (License): Likewise.
52500         Suggested by Eric Blake.
52501
52502         * modules/memchr2 (License): Change to LGPLv2+.
52503         Approved by Eric Blake.
52504
52505 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52506             Bruno Haible  <bruno@clisp.org>
52507
52508         Make gnulib-tool work with native 'sed' on AIX.
52509         * gnulib-tool (sed_noop): New variable.
52510         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
52511         func_add_or_update, func_create_testdir): Use it to initialize sed
52512         script variables.
52513         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
52514
52515 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
52516             Bruno Haible  <bruno@clisp.org>
52517
52518         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
52519         also works after #include directives.
52520
52521 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
52522
52523         getdate.y: reject an out-of-range timezone value
52524         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
52525         the range [-24...+24].  When specified with only one or two digits,
52526         * tests/test-getdate.c: Tests for the fix.
52527         * doc/getdate.texi: Document this change.
52528
52529 2008-09-03  Bruno Haible  <bruno@clisp.org>
52530
52531         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
52532
52533 2008-09-02  Simon Josefsson  <simon@josefsson.org>
52534
52535         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
52536         <bruce.korb@gmail.com> with ideas from Ben Pfaff
52537         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
52538         Blake <ebb9@byu.net>.
52539
52540         * tests/test-bitrotate.c: Add more test vectors.
52541
52542 2008-09-02  Eric Blake  <ebb9@byu.net>
52543
52544         vasnprintf-posix: handle large precision via %.*d
52545         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
52546         when handling it ourselves.
52547         * tests/test-vasnprintf-posix.c (test_function): Add test.
52548         * tests/test-snprintf-posix.h (test_function): Likewise.
52549         * tests/test-sprintf-posix.h (test_function): Likewise.
52550         * tests/test-vasprintf-posix.c (test_function): Likewise.
52551         Reported by Alain Guibert.
52552
52553 2008-09-01  Eric Blake  <ebb9@byu.net>
52554
52555         c-stack: make configure-time check more robust
52556         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
52557         successful sigaction call.
52558         Reported by Tom G. Christensen.
52559
52560 2008-09-01  Bruno Haible  <bruno@clisp.org>
52561
52562         New module 'findprog-lgpl'.
52563         * modules/findprog-lgpl: New file.
52564         * lib/findprog-lgpl.c: New file.
52565         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
52566         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
52567         to decide whether to use strdup or xstrdup, concatenated_filename or
52568         xconcatenated_filename.
52569
52570 2008-09-01  Bruno Haible  <bruno@clisp.org>
52571
52572         Split module 'concat-filename' into 'concat-filename' (LGPL) and
52573         'xconcat-filename' (GPL).
52574         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
52575         (License): Change to LGPLv2+.
52576         * modules/xconcat-filename: New file.
52577         * lib/concat-filename.h (concatenated_filename): Change specification.
52578         (xconcatenated_filename): New declaration.
52579         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
52580         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
52581         memory situations.
52582         * lib/xconcat-filename.c: New file.
52583         * NEWS: Mention the change.
52584         * lib/findprog.c: Include concat-filename.h, not filename.h.
52585         (find_in_path): Use xconcatenated_filename instead of
52586         concatenated_filename.
52587         * lib/javacomp.c: Include concat-filename.h, not filename.h.
52588         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
52589         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
52590         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
52591         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
52592         instead of concatenated_filename.
52593         * lib/javaexec.c: Include concat-filename.h, not filename.h.
52594         (execute_java_class): Use xconcatenated_filename instead of
52595         concatenated_filename.
52596         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
52597         * modules/javacomp (Depends-on): Likewise.
52598         * modules/javaexec (Depends-on): Likewise.
52599
52600 2008-09-01  Bruno Haible  <bruno@clisp.org>
52601
52602         Split module 'filename' into 'filename' and 'concat-filename'.
52603         * modules/filename: Keep only lib/filename.h.
52604         (License): Change to LGPLv2+.
52605         * modules/concat-filename: New file, extracted from modules/filename.
52606         * lib/filename.h (concatenated_filename): Remove declaration.
52607         * lib/concat-filename.h: New file, extracted from lib/filename.h.
52608         * lib/concat-filename.c: Include concat-filename.h.
52609         * NEWS: Mention the change.
52610
52611 2008-09-01  Simon Josefsson  <simon@josefsson.org>
52612
52613         * lib/bitrotate.h (rotl8, rotr8): Add.
52614
52615         * modules/bitrotate (configure.ac): Need
52616         AC_REQUIRE([AC_C_INLINE]).
52617         (Description): Mention stdint.h.  Reported by Bruno Haible
52618         <bruno@clisp.org>.
52619
52620         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
52621         Paolo Bonzini <bonzini@gnu.org>.
52622
52623 2008-08-31  Bruno Haible  <bruno@clisp.org>
52624
52625         Assume Solaris specific bi-arch conventions on Solaris systems.
52626         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
52627         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
52628         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
52629         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
52630         like acl_libdirstem.
52631         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
52632         acl_libdirstem.
52633         * NEWS: Mention the change.
52634         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
52635
52636 2008-08-31  Jim Meyering  <meyering@redhat.com>
52637
52638         * lib/strftime.h: Add comments describing the two added arguments.
52639
52640         remove duplicate #include directives
52641         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
52642         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
52643
52644 2008-08-31  Bruno Haible  <bruno@clisp.org>
52645
52646         New module 'sigpipe-die'.
52647         * modules/sigpipe-die: New file.
52648         * lib/sigpipe-die.h: New file.
52649         * lib/sigpipe-die.c: New file.
52650         * MODULES.html.sh (Signal handling): Add sigpipe-die.
52651
52652 2008-08-31  Bruno Haible  <bruno@clisp.org>
52653
52654         Don't override previously installed signal handlers.
52655         * lib/fatal-signal.c (saved_sigactions): New variable.
52656         (uninstall_handlers): Reset the signal to the saved handler, not
52657         to SIG_DFL (except when ignored).
52658         (install_handlers): Save the previous handlers.
52659
52660 2008-08-30  Bruno Haible  <bruno@clisp.org>
52661
52662         * gnulib-tool (func_reset_sigpipe): New function.
52663         (func_get_automake_snippet, func_modules_transitive_closure,
52664         func_import): Invoke it before a join command that reads from stdin,
52665         to avoid "echo: write error: Broken pipe" error messages on stderr.
52666         Reported by Sam Steingold <sds@gnu.org>.
52667
52668 2008-08-30  Bruno Haible  <bruno@clisp.org>
52669
52670         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
52671         Code copied from m4/open.m4.
52672         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
52673         access and the filename ends in a slash. Code copied from lib/open.c.
52674         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
52675         * tests/test-fopen.c (main): Check against bug with trailing slash.
52676
52677 2008-08-29  Bruno Haible  <bruno@clisp.org>
52678
52679         Avoid some "gcc -pedantic" warnings.
52680         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
52681         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
52682         * lib/dirent.in.h: Likewise.
52683         * lib/fcntl.in.h: Likewise.
52684         * lib/float.in.h: Likewise.
52685         * lib/iconv.in.h: Likewise.
52686         * lib/inttypes.in.h: Likewise.
52687         * lib/locale.in.h: Likewise.
52688         * lib/math.in.h: Likewise.
52689         * lib/netinet_in.in.h: Likewise.
52690         * lib/search.in.h: Likewise.
52691         * lib/signal.in.h: Likewise.
52692         * lib/stdarg.in.h: Likewise.
52693         * lib/stdint.in.h: Likewise.
52694         * lib/stdio.in.h: Likewise.
52695         * lib/stdlib.in.h: Likewise.
52696         * lib/string.in.h: Likewise.
52697         * lib/strings.in.h: Likewise.
52698         * lib/sys_select.in.h: Likewise.
52699         * lib/sys_socket.in.h: Likewise.
52700         * lib/sys_stat.in.h: Likewise.
52701         * lib/sys_time.in.h: Likewise.
52702         * lib/sysexits.in.h: Likewise.
52703         * lib/time.in.h: Likewise.
52704         * lib/unistd.in.h: Likewise.
52705         * lib/wchar.in.h: Likewise.
52706         * lib/wctype.in.h: Likewise.
52707         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
52708         * modules/fchdir (Makefile.am): Likewise.
52709         * modules/fcntl (Makefile.am): Likewise.
52710         * modules/float (Makefile.am): Likewise.
52711         * modules/iconv_open (Makefile.am): Likewise.
52712         * modules/inttypes (Makefile.am): Likewise.
52713         * modules/locale (Makefile.am): Likewise.
52714         * modules/math (Makefile.am): Likewise.
52715         * modules/netinet_in (Makefile.am): Likewise.
52716         * modules/search (Makefile.am): Likewise.
52717         * modules/signal (Makefile.am): Likewise.
52718         * modules/stdarg (Makefile.am): Likewise.
52719         * modules/stdint (Makefile.am): Likewise.
52720         * modules/stdio (Makefile.am): Likewise.
52721         * modules/stdlib (Makefile.am): Likewise.
52722         * modules/string (Makefile.am): Likewise.
52723         * modules/strings (Makefile.am): Likewise.
52724         * modules/sys_select (Makefile.am): Likewise.
52725         * modules/sys_socket (Makefile.am): Likewise.
52726         * modules/sys_stat (Makefile.am): Likewise.
52727         * modules/sys_time (Makefile.am): Likewise.
52728         * modules/sysexits (Makefile.am): Likewise.
52729         * modules/time (Makefile.am): Likewise.
52730         * modules/unistd (Makefile.am): Likewise.
52731         * modules/wchar (Makefile.am): Likewise.
52732         * modules/wctype (Makefile.am): Likewise.
52733         Reported by Reuben Thomas <rrt@sc3d.org>.
52734
52735 2008-08-29  Bruno Haible  <bruno@clisp.org>
52736
52737         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
52738         any more.
52739
52740 2008-08-29  Simon Josefsson  <simon@josefsson.org>
52741
52742         * MODULES.html.sh (Misc): Add bitrotate.
52743
52744         * modules/bitrotate: New file.
52745
52746         * lib/bitrotate.h: New file.
52747
52748         * modules/bitrotate-tests: New file.
52749
52750         * tests/test-bitrotate.c: New file.
52751
52752         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
52753         on the bitrotate module.
52754
52755         * lib/arctwo.c: Use new bitrotate module.
52756
52757 2008-08-29  Jim Meyering  <meyering@redhat.com>
52758
52759         bootstrap: merge changes from coreutils
52760         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
52761         of copied files.  Remove a kludge, now that this is fixed.
52762         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
52763         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
52764         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
52765
52766 2008-08-29  Bruno Haible  <bruno@clisp.org>
52767
52768         * MODULES.html.sh: Remove --cvs-urls option.
52769
52770 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
52771
52772         maint.mk: adjust to file name change
52773         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
52774
52775 2008-08-28  Jim Meyering  <meyering@redhat.com>
52776
52777         * modules/getndelim2 (License): Relicense to LGPLv2+.
52778         Approved by Richard Stallman for the version of 1995, and by
52779         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
52780
52781 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
52782
52783         * lib/getdelim.c (flockfile, funlockfile): Make all of them
52784         dummy if one is not available.  Do not touch them if
52785         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
52786         (getc_maybe_unlocked): New.
52787         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
52788
52789 2008-08-26  Eric Blake  <ebb9@byu.net>
52790
52791         doc/INSTALL: resync from autoconf
52792         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
52793         (INSTALL_PRELUDE): Delete; this is done more efficiently by
52794         moving...
52795         * install.texi [!autoconf]: ...here.  Resync from autoconf.
52796         * INSTALL: Regenerate.
52797         * INSTALL.ISO: New file.
52798         * INSTALL.UTF-8: Likewise.
52799
52800 2008-08-26  Jim Meyering  <meyering@redhat.com>
52801
52802         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
52803         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
52804         these definitions conditional, so that they may be overridden, too.
52805
52806 2008-08-26  Bruno Haible  <bruno@clisp.org>
52807
52808         Generate INSTALL file variants with prettier quotes.
52809         * doc/Makefile (INSTALL_PRELUDE): New macro.
52810         (INSTALL): Use it.
52811         (INSTALL.ISO, INSTALL.UTF-8): New rules.
52812
52813 2008-08-26  Bruno Haible  <bruno@clisp.org>
52814
52815         Run makeinfo in an English locale.
52816         * doc/Makefile (MAKEINFO): New variable.
52817
52818 2008-08-26  Bruno Haible  <bruno@clisp.org>
52819
52820         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
52821         Suggested by Eric Blake.
52822
52823 2008-08-25  Bruno Haible  <bruno@clisp.org>
52824
52825         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
52826
52827 2008-08-25  Eric Blake  <ebb9@byu.net>
52828
52829         c-stack: test that stack overflow can be caught
52830         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
52831         that platform allows handling stack overflow; at least OS/2 EMX
52832         has sigaltstack, but crashes before transferring control to
52833         handler on stack overflow.
52834         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
52835         check for HAVE_STACK_OVERFLOW_HANDLING.
52836         Reported by Elbert Pol.
52837
52838 2008-08-25  Bruno Haible  <bruno@clisp.org>
52839
52840         * doc/posix-functions/strftime.texi: Fix description of strftime
52841         module.
52842
52843 2008-08-24  Bruno Haible  <bruno@clisp.org>
52844
52845         * tests/uniwidth/test-uc_width2.c: New file.
52846         * tests/uniwidth/test-uc_width2.sh: New file.
52847         * modules/uniwidth/width-tests (Files): Add the new files.
52848         (TESTS): Add uniwidth/test-uc_width2.sh.
52849         (TESTS_ENVIRONMENT): New variable.
52850         (check_PROGRAMS): Add test-uc_width2.
52851         (test_uc_width2_SOURCES): New variable.
52852
52853         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
52854         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
52855         not 0x00AB.
52856         Reported by Alexander V. Lukyanov <lav@netis.ru>.
52857
52858 2008-08-22  Eric Blake  <ebb9@byu.net>
52859
52860         test-lock, test-tls: mention why a test is skipped
52861         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
52862         skipped.
52863         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
52864
52865         count-one-bits: relax license
52866         * modules/count-one-bits (License): Relicense to LGPLv2+.
52867         Suggested by Ludovic Courtès, approved by Ben Pfaff.
52868
52869 2008-08-22  Andreas Schwab  <schwab@suse.de>
52870
52871         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
52872         Remove spurious space in assignment.
52873
52874 2008-08-21  Simon Josefsson  <simon@josefsson.org>
52875
52876         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
52877         Paul Eggert <eggert@CS.UCLA.EDU>.
52878
52879 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
52880
52881         * modules/gettext: Add m4/threadlib.m4.
52882
52883 2008-08-19  Eric Blake  <ebb9@byu.net>
52884
52885         test-c-stack: fix compilation failure on FreeBSD 5.0
52886         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
52887         headers before <sys/resource.h>.
52888         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
52889         the bug.
52890         Reported by Nelson H. F. Beebe.
52891
52892         strverscmp: migrate from "strverscmp.h" to <string.h>
52893         * modules/string (Makefile.am): Add new hooks.
52894         * modules/strverscmp (Files): Remove strverscmp.h.
52895         (Depends-on): Add string.
52896         (configure.ac): Add indicator.
52897         (Include): Mention new header.
52898         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
52899         defaults.
52900         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
52901         results.
52902         * lib/strverscmp.h: Delete.
52903         * lib/string.in.h (strverscmp): Provide declaration, when needed.
52904         * tests/test-strverscmp.c (includes): Adjust client.
52905         * lib/check-version.c (includes): Likewise.
52906         * NEWS: Document the change.
52907
52908         strverscmp: add unit test
52909         * modules/strverscmp-tests: New file.
52910         * tests/test-strverscmp.c: Likewise.
52911
52912 2008-08-19  Simon Josefsson  <simon@josefsson.org>
52913
52914         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
52915         regarding Windows crypto stuff, from Mono.
52916
52917 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
52918
52919         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
52920         if present, for intel RND.  Return error on failures.
52921
52922 2008-08-18  Ben Pfaff  <blp@gnu.org>
52923
52924         gitlog-to-changelog: give better diagnostic for failed pipe-open
52925         * build-aux/gitlog-to-changelog: Improve error message: suggest
52926         that the version of Git may be too old.
52927
52928 2008-08-18  Simon Josefsson  <simon@josefsson.org>
52929
52930         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
52931         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
52932
52933 2008-08-18  Bruno Haible  <bruno@clisp.org>
52934
52935         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
52936         pthread_in_use().
52937
52938 2008-08-18  Bruno Haible  <bruno@clisp.org>
52939
52940         * lib/glthread/threadlib.c: Include <pthread.h>.
52941
52942 2008-08-18  Bruno Haible  <bruno@clisp.org>
52943
52944         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
52945         glthread_recursive_lock_* macros.
52946         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
52947         Fix syntax error.
52948
52949 2008-08-18  Bruno Haible  <bruno@clisp.org>
52950
52951         * lib/glthread/thread.c: Avoid forcing a context switch right after
52952         thread creation.
52953
52954 2008-08-17  Bruno Haible  <bruno@clisp.org>
52955
52956         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
52957         * lib/glthread/thread.h: Provide Win32 specific implementation.
52958         * modules/thread (Files): Add lib/glthread/thread.c.
52959         (Depends-on): Add lock.
52960         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
52961
52962 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52963
52964         New module 'yield'.
52965         * modules/yield: New file.
52966         * lib/glthread/yield.h: New file.
52967         * m4/yield.m4: New file.
52968         * MODULES.html.sh (Multithreading): Add yield.
52969
52970 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52971
52972         New module 'thread'.
52973         * modules/thread: New file.
52974         * lib/glthread/thread.h: New file.
52975         * m4/thread.m4: New file.
52976         * MODULES.html.sh (Multithreading): Add thread.
52977
52978 2008-08-17  Bruno Haible  <bruno@clisp.org>
52979
52980         * lib/glthread/lock.h: Include <stdlib.h> always.
52981         * lib/glthread/tls.h: Likewise.
52982         * lib/glthread/cond.h: Likewise.
52983
52984 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52985
52986         New module 'cond'.
52987         * modules/cond: New file.
52988         * lib/glthread/cond.h: New file.
52989         * lib/glthread/cond.c: New file.
52990         * m4/cond.m4: New file.
52991         * MODULES.html.sh (Multithreading): Add cond.
52992
52993 2008-08-16  Eric Blake  <ebb9@byu.net>
52994
52995         c-stack: fix regression on Irix 5.3 from 2008-06-21
52996         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
52997         sa_sigaction...
52998         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
52999         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
53000         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
53001         * modules/signal (Makefile.am): Use the value.
53002         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
53003         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
53004         * doc/posix-headers/signal.texi (signal.h): Document this
53005         portability issue.
53006         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
53007         Reported by Tom G. Christensen.
53008
53009 2008-08-17  Bruno Haible  <bruno@clisp.org>
53010
53011         New module 'threadlib'.
53012         * modules/threadlib: New file.
53013         * lib/glthread/threadlib.c: New file, extracted from
53014         lib/glthread/lock.c.
53015         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
53016         functions.
53017         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
53018         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
53019         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
53020         macros.
53021         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
53022         (gl_DISABLE_THREADS): Remove macro.
53023         * modules/lock (Files): Remove build-aux/config.rpath.
53024         (Depends-on): Remove havelib. Add threadlib.
53025         (configure.ac-early): Remove section.
53026         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
53027         * modules/tls (Depends-on): Remove lock. Add threadlib.
53028         (Link): New section, copied from threadlib.
53029         * MODULES.html.sh (Multithreading): Add threadlib.
53030
53031 2008-08-14  Bruno Haible  <bruno@clisp.org>
53032
53033         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
53034         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
53035         glthread_rwlock_unlock, glthread_rwlock_destroy,
53036         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
53037         glthread_recursive_lock_destroy): Define as macros always.
53038         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
53039         glthread_lock_lock.
53040         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
53041         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
53042         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
53043         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
53044         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
53045         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
53046         (glthread_recursive_lock_lock_func): Renamed from
53047         glthread_recursive_lock_lock.
53048         (glthread_recursive_lock_unlock_func): Renamed from
53049         glthread_recursive_lock_unlock.
53050         (glthread_recursive_lock_destroy_func): Renamed from
53051         glthread_recursive_lock_destroy.
53052
53053 2008-08-14  Bruno Haible  <bruno@clisp.org>
53054
53055         * lib/glthread/lock.h: Renamed from lib/lock.h.
53056         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
53057         * lib/glthread/tls.h: Renamed from lib/tls.h.
53058         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
53059         * lib/fstrcmp.c: Update includes.
53060         * lib/strsignal.c: Update includes.
53061         * modules/lock (Files, Makefile.am): Update.
53062         (Include): Change to "glthread/lock.h".
53063         * modules/tls (Files, Makefile.am): Update.
53064         (Include): Change to "glthread/tls.h".
53065         * tests/test-lock.c: Update includes.
53066         * tests/test-tls.c: Update includes.
53067         * NEWS: Mention the renamed header files.
53068
53069 2008-08-11  Jim Meyering  <meyering@redhat.com>
53070
53071         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
53072
53073 2008-08-11  Eric Blake  <ebb9@byu.net>
53074
53075         test-c-stack: avoid C99-ism
53076         * tests/test-c-stack.c (main): Fix whitespace, move declaration
53077         before statement.
53078         Reported by Alain Guibert.
53079
53080 2008-08-10  Jim Meyering  <meyering@redhat.com>
53081
53082         ensure that return value of uinttostr et al are not ignored
53083         * lib/inttostr.h (__GNUC_PREREQ): Define.
53084         (__attribute_warn_unused_result__): Define.
53085         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
53086
53087 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
53088
53089         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
53090         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
53091
53092 2008-08-07  Jim Meyering  <meyering@redhat.com>
53093
53094         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
53095
53096         * modules/mkstemp (License): Relicense under LGPLv2+.
53097         * modules/tempname (License): Likewise.
53098
53099 2008-08-06  Bruno Haible  <bruno@clisp.org>
53100
53101         * lib/poll.c (poll): Further micro-optimization.
53102
53103 2008-08-06  Jim Meyering  <meyering@redhat.com>
53104
53105         inet_pton.c: use locale-independent tolower
53106         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
53107         (inet_pton6): Use c_tolower rather than tolower.
53108         * modules/inet_pton (Depends-on): Add c-ctype.
53109
53110 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
53111
53112         * lib/poll.c (poll): Avoid division when timeout is 0, cache
53113         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
53114
53115 2008-08-06  Jim Meyering  <meyering@redhat.com>
53116
53117         * modules/inet_pton (License): Relicense under LGPLv2+.
53118
53119 2008-08-03  Bruno Haible  <bruno@clisp.org>
53120
53121         Additional non-aborting API for lock and tls.
53122         * lib/lock.h: Include <errno.h>.
53123         (glthread_lock_init): New macro/function.
53124         (gl_lock_init): Define as wrapper around glthread_lock_init.
53125         (glthread_lock_lock): New macro/function.
53126         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
53127         (glthread_lock_unlock): New macro/function.
53128         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
53129         (glthread_lock_destroy): New macro/function.
53130         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
53131         (glthread_rwlock_init): New macro/function.
53132         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
53133         (glthread_rwlock_rdlock): New macro/function.
53134         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
53135         (glthread_rwlock_wrlock): New macro/function.
53136         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
53137         (glthread_rwlock_unlock): New macro/function.
53138         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
53139         (glthread_rwlock_destroy): New macro/function.
53140         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
53141         (glthread_recursive_lock_init): New macro/function.
53142         (gl_recursive_lock_init): Define as wrapper around
53143         glthread_recursive_lock_init.
53144         (glthread_recursive_lock_lock): New macro/function.
53145         (gl_recursive_lock_lock): Define as wrapper around
53146         glthread_recursive_lock_lock.
53147         (glthread_recursive_lock_unlock): New macro/function.
53148         (gl_recursive_lock_unlock): Define as wrapper around
53149         glthread_recursive_lock_unlock.
53150         (glthread_recursive_lock_destroy): New macro/function.
53151         (gl_recursive_lock_destroy): Define as wrapper around
53152         glthread_recursive_lock_destroy.
53153         (glthread_once): New macro/function.
53154         (gl_once): Define as wrapper around glthread_once.
53155         Update function declarations.
53156         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
53157         glthread_rwlock_init. Return error code.
53158         (glthread_rwlock_rdlock_multithreaded): Renamed from
53159         glthread_rwlock_rdlock. Return error code.
53160         (glthread_rwlock_wrlock_multithreaded): Renamed from
53161         glthread_rwlock_wrlock. Return error code.
53162         (glthread_rwlock_unlock_multithreaded): Renamed from
53163         glthread_rwlock_unlock. Return error code.
53164         (glthread_rwlock_destroy_multithreaded): Renamed from
53165         glthread_rwlock_destroy. Return error code.
53166         (glthread_recursive_lock_init_multithreaded): Renamed from
53167         glthread_recursive_lock_init. Return error code.
53168         (glthread_recursive_lock_lock_multithreaded): Renamed from
53169         glthread_recursive_lock_lock. Return error code.
53170         (glthread_recursive_lock_unlock_multithreaded): Renamed from
53171         glthread_recursive_lock_unlock. Return error code.
53172         (glthread_recursive_lock_destroy_multithreaded): Renamed from
53173         glthread_recursive_lock_destroy. Return error code.
53174         (glthread_once_call): Make static.
53175         (glthread_once_multithreaded): Renamed from glthread_once.
53176         * lib/tls.h: Include <errno.h>.
53177         (glthread_tls_key_init): New macro/function.
53178         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
53179         (glthread_tls_set): New macro/function.
53180         (gl_tls_set): Define as wrapper around glthread_tls_set.
53181         (glthread_tls_key_destroy): New macro/function.
53182         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
53183         Update function declarations.
53184         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
53185         glthread_tls_get.
53186         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
53187
53188 2008-08-04  Eric Blake  <ebb9@byu.net>
53189
53190         gnumakefile: use space, not TAB, outside of targets
53191         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
53192
53193 2008-08-02  Jim Meyering  <meyering@redhat.com>
53194
53195         getdate.y: avoid locale-dependent date parsing failure
53196         In Turkish locales, getdate would fail to recognize keywords
53197         containing a lowercase "i".  The solution is not to rely on
53198         locale-sensitive case-conversion.
53199         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
53200         (lookup_word): Use c_toupper in place of toupper.
53201         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
53202         Reported by Vefa Bicakci <bicave@superonline.com> in
53203         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
53204         * modules/getdate (Depends-on): Add c-ctype.
53205
53206 2008-08-02  Bruno Haible  <bruno@clisp.org>
53207
53208         * gnulib-tool (func_import): When updating or creating a .gitignore
53209         file, prepend each added line with a slash, and ignore leading slashes
53210         from the existing lines.
53211         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
53212
53213 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53214
53215         Portability fix for GNU make 3.79.1.
53216         * top/GNUmakefile: Avoid 'else COND', which older GNU make
53217         versions do not understand.
53218
53219 2008-08-01  Bruno Haible  <bruno@clisp.org>
53220
53221         Work around bug of HP-UX 10.20 cc with -0.0 literal.
53222         * tests/test-isnanf.h (zero): New variable.
53223         (main): Avoid literal -0.0f.
53224         * tests/test-isnand.h (zero): New variable.
53225         (main): Avoid literal -0.0.
53226         * tests/test-isnanl.h (zero): New variable.
53227         (main): Avoid literal -0.0L.
53228         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
53229         (test_float, test_double, test_long_double): Avoid literals -0.0f,
53230         -0.0, -0.0L.
53231         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
53232         (test_signbitd): Avoid literal -0.0.
53233         (test_signbitl): Avoid literal -0.0L.
53234         * tests/test-ceilf1.c (zero): New variable.
53235         (main): Avoid literal -0.0f.
53236         * tests/test-ceill.c (zero): New variable.
53237         (main): Avoid literal -0.0L.
53238         * tests/test-floorf1.c (zero): New variable.
53239         (main): Avoid literal -0.0f.
53240         * tests/test-floorl.c (zero): New variable.
53241         (main): Avoid literal -0.0L.
53242         * tests/test-roundf1.c (zero): New variable.
53243         (main): Avoid literal -0.0f.
53244         * tests/test-round1.c (zero): New variable.
53245         (main): Avoid literal -0.0.
53246         * tests/test-roundl.c (zero): New variable.
53247         (main): Avoid literal -0.0L.
53248         * tests/test-truncf1.c (zero): New variable.
53249         (main): Avoid literal -0.0f.
53250         * tests/test-trunc1.c (zero): New variable.
53251         (main): Avoid literal -0.0.
53252         * tests/test-truncl.c (zero): New variable.
53253         (main): Avoid literal -0.0L.
53254         * tests/test-frexp.c (zero): New variable.
53255         (main): Avoid literal -0.0.
53256         * tests/test-frexpl.c (zero): New variable.
53257         (main): Avoid literal -0.0L.
53258         * tests/test-ldexpl.c (zero): New variable.
53259         (main): Avoid literal -0.0L.
53260         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
53261         (zerod, zerol): New variables.
53262         (test_function): Avoid literals -0.0, -0.0L.
53263         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
53264         (zerod, zerol): New variables.
53265         (test_function): Avoid literals -0.0, -0.0L.
53266         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
53267         (zerod, zerol): New variables.
53268         (test_function): Avoid literals -0.0, -0.0L.
53269         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
53270         (zerod, zerol): New variables.
53271         (test_function): Avoid literals -0.0, -0.0L.
53272         * tests/test-strtod.c (zero): New variable.
53273         (main): Avoid literal -0.0.
53274         Reported by Jonathan C. Patschke <jp@centtech.com>.
53275
53276 2008-07-31  Jim Meyering  <meyering@redhat.com>
53277
53278         sha256.h: correct definition of SHA224_DIGEST_SIZE
53279         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
53280         Reported by Paulie Pena IV <paulie4@gmail.com>.
53281         Define as 224 / 8, rather than as a literal.
53282         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
53283         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
53284         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
53285
53286 2008-07-31  Bruno Haible  <bruno@clisp.org>
53287
53288         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
53289         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
53290         Reported by Jonathan Patschke <jp@centtech.com>.
53291
53292 2008-07-31  Bruno Haible  <bruno@clisp.org>
53293
53294         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
53295         Reported by Paolo Bonzini <bonzini@gnu.org>.
53296
53297 2008-07-30  Eric Blake  <ebb9@byu.net>
53298
53299         test-strtod: allow compilation without -lm
53300         * tests/test-strtod.c (main): Avoid link dependence on fabs.
53301         Reported by Dennis Clarke <blastwave@gmail.com>.
53302
53303 2008-07-28  Jim Meyering  <meyering@redhat.com>
53304
53305         bootstrap: work also when there are no .po files in po/
53306         * build-aux/bootstrap (update_po_files): Complete the change
53307         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
53308
53309 2008-07-27  Jim Meyering  <meyering@redhat.com>
53310
53311         * users.txt: Add zile.
53312
53313 2008-07-26  Ben Pfaff  <blp@gnu.org>
53314
53315         Add missing dependencies on new m4/exponent[fdl].m4 files.
53316         * modules/isnanf-nolibm: Add m4/exponentf.m4.
53317         * modules/isnand-nolibm: Add m4/exponentd.m4.
53318         * modules/isnanl-nolibm: Add m4/exponentl.m4.
53319         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
53320         m4/isnan[fdl].m4, because the macros actually used moved.
53321         Reported by Jim Meyering.
53322
53323 2008-07-14  Ben Pfaff  <blp@gnu.org>
53324
53325         Add isinf module.
53326         * lib/isinf.c: New file.
53327         * lib/math.in.h: Define isinf macro if we have decided to replace
53328         it.
53329         * m4/isinf.m4: New file.
53330         * m4/math_h.m4: Initialize and substitute variables for isinf
53331         module.
53332         * modules/isinf: New file.
53333         * modules/isinf-tests: New file.
53334         * modules/math: Add substitutions for new module.
53335         * tests/test-isinf.c: New file.
53336         * doc/posix-functions/isinf.texi: Mention new module.
53337         * MODULES.html.sh: Mention new module.
53338
53339 2008-07-14  Ben Pfaff  <blp@gnu.org>
53340
53341         Factor out some macros for use by additional modules.
53342         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
53343         exponentf.m4.
53344         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
53345         exponentd.m4.
53346         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
53347         file exponentl.m4.
53348         * m4/exponentf.m4: New file.
53349         * m4/exponentd.m4: New file.
53350         * m4/exponentl.m4: New file.
53351         * modules/isnanf: Use new file m4/exponentf.m4.
53352         * modules/isnand: Use new file m4/exponentd.m4.
53353         * modules/isnanl: Use new file m4/exponentl.m4.
53354
53355 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
53356
53357         mktime.c: normalize tp->tm_isdst value to -1/0/1.
53358         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
53359         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
53360         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
53361
53362         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
53363         readlink on platforms without PATH_MAX.
53364
53365 2008-07-21  Eric Blake  <ebb9@byu.net>
53366
53367         Warn, not fail, on stale version.
53368         * top/GNUmakefile (_curr-ver): Tone down previous patch.
53369
53370         Don't allow installation with stale devel version number.
53371         * top/GNUmakefile (_is-install-target): New macro.
53372         (_curr-ver): Forbid installation with stale version number.
53373
53374 2008-07-20  Bruno Haible  <bruno@clisp.org>
53375
53376         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
53377         TESTS_ENVIRONMENT.
53378         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
53379
53380 2008-07-20  Bruno Haible  <bruno@clisp.org>
53381
53382         * lib/c-stack.h (c_stack_action): Add documentation.
53383         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
53384
53385 2008-07-20  Bruno Haible  <bruno@clisp.org>
53386
53387         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
53388         * modules/readlink (License): Likewise.
53389
53390 2008-07-17  Eric Blake  <ebb9@byu.net>
53391
53392         * modules/c-stack (Link): Fix typo.
53393
53394         Make c-stack use libsigsegv, when available.
53395         * modules/c-stack (Depends-on): Add libsigsegv.
53396         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
53397         needed.
53398         * lib/c-stack.c (SIGSTKSZ): Define fallback.
53399         (segv_handler, overflow_handler, c_stack_action)
53400         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
53401         implementation when libsigsegv is available, but only when using
53402         the library is necessary.
53403         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
53404         comment, explaining why XSI check fails on Linux.
53405         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
53406         * tests/test-c-stack2.sh: Tweak skip message.
53407         * NEWS: Document new link-time requirements.
53408
53409 2008-07-16  Eric Blake  <ebb9@byu.net>
53410
53411         c-stack: Expose false positives when not using libsigsegv.
53412         * modules/c-stack-tests (Files): Expand test.
53413         * tests/test-c-stack.c (main): Add means to conditionally trigger
53414         non-overflow SIGSEGV.
53415         * tests/test-c-stack2.sh: New file.
53416
53417 2008-07-14  Bruno Haible  <bruno@clisp.org>
53418
53419         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
53420         Reported by Eric Blake.
53421
53422 2008-07-14  Sam Steingold  <sds@gnu.org>
53423             Bruno Haible  <bruno@clisp.org>
53424
53425         New module libsigsegv.
53426         * modules/libsigsegv: New file.
53427         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
53428         modifications.
53429         * MODULES.html.sh (Signal handling): New section.
53430
53431 2008-07-14  Bruno Haible  <bruno@clisp.org>
53432
53433         * modules/unictype/ctype-* (Description): Add the word "function".
53434         Improves the resulting doc in MODULES.html.
53435
53436 2008-07-12  Ben Pfaff  <blp@gnu.org>
53437
53438         Add longlong module.
53439         * modules/longlong: New file.
53440
53441 2008-07-12  Bruno Haible  <bruno@clisp.org>
53442
53443         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
53444         to empty.
53445
53446 2008-07-10  Ben Pfaff  <blp@gnu.org>
53447
53448         Add isnan module.
53449         * doc/posix-functions/isnan.texi: Mention new module.
53450         * lib/math.in.h: Define isnan macro if we have decided to replace
53451         it.
53452         * m4/isnan.m4: New file.
53453         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
53454         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
53455         also.
53456         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
53457         redundancy.
53458         * m4/math_h.m4: Initialize and substitute variables for isnan
53459         module.
53460         * modules/isnan: New file.
53461         * modules/isnan-tests: New file.
53462         * modules/math: Add substitutions for new module.
53463         * tests/test-isnan.c: New file.
53464         * MODULES.html.sh: Mention new module.
53465
53466 2008-07-10  Ben Pfaff  <blp@gnu.org>
53467
53468         Add isnanf module.
53469         * lib/isnanf.m4: New file.
53470         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
53471         (gl_HAVE_ISNANF_IN_LIBM): New macro.
53472         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
53473         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
53474         * modules/isnanf: New file.
53475         * modules/isnanf-tests: New file.
53476         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
53477         files.
53478         * tests/test-isnanf-nolibm.c: factored most of its contents into
53479         new file tests/test-isnanf.h.
53480         * tests/test-isnanf.h: New file.
53481         * tests/test-isnanf.c: New file.
53482         * MODULES.html.sh: Mention new module.
53483         * doc/glibc-functions/isnanf.texi: Mention new module.
53484
53485 2008-07-10  Ben Pfaff  <blp@gnu.org>
53486
53487         Add isnand module.
53488         * lib/isnand.h: New file.
53489         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
53490         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
53491         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
53492         functionality also.
53493         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
53494         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
53495         (gl_HAVE_ISNAND_IN_LIBM): New macro.
53496         * modules/isnand: New file.
53497         * modules/isnand-tests: New file.
53498         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
53499         files.
53500         * tests/test-isnand-nolibm.c: factored most of its contents into
53501         new file tests/test-isnand.h.
53502         * tests/test-isnand.h: New file.
53503         * tests/test-isnand.c: New file.
53504         * MODULES.html.sh: Mention new module.
53505
53506 2008-07-10  Ben Pfaff  <blp@gnu.org>
53507
53508         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
53509         * lib/isnand.h: Rename lib/isnand-nolibm.h.
53510         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
53511         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
53512         * modules/isnanf-nolibm: Update references to renamed files.
53513         * modules/isnand-nolibm: Likewise.
53514         * modules/isnanf-nolibm-tests: Likewise.
53515         * modules/isnand-nolibm-tests: Likewise.
53516         * lib/frexp.c: Likewise.
53517         * lib/isfinite.c: Likewise.
53518         * lib/signbitd.c: Likewise.
53519         * lib/signbitf.c: Likewise.
53520         * lib/vasnprintf.c: Likewise.
53521         * tests/test-ceilf1.c: Likewise.
53522         * tests/test-ceilf2.c: Likewise.
53523         * tests/test-floorf1.c: Likewise.
53524         * tests/test-floorf2.c: Likewise.
53525         * tests/test-frexp.c: Likewise.
53526         * tests/test-round1.c: Likewise.
53527         * tests/test-round2.c: Likewise.
53528         * tests/test-roundf1.c: Likewise.
53529         * tests/test-strtod.c: Likewise.
53530         * tests/test-trunc1.c: Likewise.
53531         * tests/test-trunc2.c: Likewise.
53532         * tests/test-truncf1.c: Likewise.
53533         * tests/test-truncf2.c: Likewise.
53534         * NEWS: Mention the renamed header files.
53535
53536 2008-07-11  Jim Meyering  <meyering@redhat.com>
53537
53538         vc-list-files: make the last-resort awk code more portable
53539         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
53540         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
53541         does not support it.
53542
53543 2008-07-10  Eric Blake  <ebb9@byu.net>
53544
53545         Work with tar's bootstrap.
53546         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
53547         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
53548         an m4 comment.
53549
53550 2008-07-09  Jim Meyering  <meyering@redhat.com>
53551
53552         posix-shell.m4: fix typo that made this test malfunction
53553         * m4/posix-shell.m4: Remove capitalization in variable name.
53554
53555 2008-07-08  Bruno Haible  <bruno@clisp.org>
53556
53557         * m4/onceonly.m4: Update comments.
53558         Reported by Ben Pfaff <blp@cs.stanford.edu>.
53559
53560 2008-07-04  Jim Meyering  <meyering@redhat.com>
53561
53562         * users.txt: Add vc-dwim.
53563         (bison, coreutils): Use the gitweb URL.
53564
53565 2008-07-03  Jim Meyering  <meyering@redhat.com>
53566
53567         * users.txt: Add libffcall.  From Sam Steingold.
53568
53569 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
53570
53571         getdate.y: do not ignore TZ with relative day, month or year offset
53572         * lib/getdate.y (get_date): Move the tz-handling block to follow the
53573         relative-date-handling, since otherwise, the latter would clobber the
53574         sole output (an updated Start value) of the tz-handling block.
53575         * tests/test-getdate.c: Tests for the fix
53576
53577 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53578
53579         Recognize 'foo_LIBRARIES += libgnu.a'.
53580         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
53581         makefile snippet has already specified an installation location,
53582         also using '+='.
53583
53584 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
53585
53586         getdate.y: factor out common actions
53587         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
53588         Use them in place of open-coded actions.
53589
53590 2008-07-01  Simon Josefsson  <simon@josefsson.org>
53591
53592         Add self-test for getdate module.
53593         * modules/getdate-tests: New file.
53594         * tests/test-getdate.c: New file.
53595
53596 2008-06-29  Bruno Haible  <bruno@clisp.org>
53597
53598         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
53599         .gitignore.
53600         Reported by Sylvain Beucler <beuc@beuc.net>.
53601
53602 2008-06-29  Bruno Haible  <bruno@clisp.org>
53603
53604         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
53605         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
53606
53607 2008-06-29  Bruno Haible  <bruno@clisp.org>
53608
53609         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
53610         EXTRA_DIST.
53611         Reported by Sylvain Beucler <beuc@beuc.net>.
53612
53613 2008-06-26  Jim Meyering  <meyering@redhat.com>
53614
53615         make several modules depend on the "open" module
53616         This provides slightly increased consistency when opening-for-write
53617         the name of a non-directory spelled with a trailing slash.
53618         * modules/chdir-safer: Likewise.
53619         * modules/chown: Likewise.
53620         * modules/clean-temp: Likewise.
53621         * modules/copy-file: Likewise.
53622         * modules/fchdir: Likewise.
53623         * modules/fcntl-safer: Likewise.
53624         * modules/pipe: Likewise.
53625         * modules/utime: Likewise.
53626         Prompted by Eric Blake and Bruno Haible.
53627
53628 2008-06-24  Andreas Schwab  <schwab@suse.de>
53629
53630         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
53631         literals can be used as initializers for global variables.
53632
53633 2008-06-23  Eric Blake  <ebb9@byu.net>
53634
53635         Make gnulib-cache.m4 easier to diff.
53636         * gnulib-tool (func_import): Allow newlines when reading cached
53637         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
53638
53639 2008-06-23  Bruno Haible  <bruno@clisp.org>
53640
53641         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
53642         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
53643         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
53644         m4/signalblocking.m4.
53645         (gl_PREREQ_SIGACTION): Don't invoke it.
53646         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
53647         gl_PREREQ_SIG_HANDLER_H.
53648         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
53649         Don't check for sigaction here.
53650
53651 2008-06-23  Bruno Haible  <bruno@clisp.org>
53652
53653         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
53654         (install_handlers): Don't set the SA_RESETHAND flag.
53655
53656 2008-06-23  Bruno Haible  <bruno@clisp.org>
53657
53658         * m4/sigaction.m4: Comment fixes.
53659         * lib/signal.in.h: Likewise.
53660
53661 2008-06-23  Eric Blake  <ebb9@byu.net>
53662
53663         Fix typo.
53664         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
53665
53666         Avoid SA_ namespace.
53667         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
53668         Reported by Ralf Wildenhues.
53669
53670         Avoid test failure due to SA_RESTORER.
53671         * tests/test-sigaction.c (SA_MASK): New macro.
53672         (main): Avoid failing due to extension flags being set.
53673         Reported by Jim Meyering.
53674
53675         Revert use of sig-handler.h in sigprocmask.c.
53676         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
53677         it requires the existence of struct sigaction.
53678         * lib/sigprocmask.c (handler_t): Restore typedef.
53679         (rpl_signal, old_handlers): Use local type.
53680
53681 2008-06-22  Bruno Haible  <bruno@clisp.org>
53682
53683         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
53684         conditionally.
53685         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
53686
53687 2008-06-22  Bruno Haible  <bruno@clisp.org>
53688
53689         * doc/posix-functions/siginterrupt.texi: Move note.
53690
53691         * lib/signal.in.h (SA_RESTART): New macro.
53692         * lib/sigaction.c: Update comment.
53693
53694         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
53695
53696         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
53697         (gl_PREREQ_SIGPROCMASK): Invoke it.
53698         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
53699
53700         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
53701
53702         * lib/sigprocmask.c: Update a comment.
53703
53704 2008-06-21  Eric Blake  <ebb9@byu.net>
53705
53706         Use sigaction module rather than signal().
53707         * modules/c-stack (Depends-on): Add sigaction.
53708         * modules/fatal-signal (Depends-on): Likewise.
53709         * modules/nanosleep (Depends-on): Likewise.
53710         * modules/sigprocmask (Files): Add sig-handler.h.
53711         * modules/sigaction (Files): Likewise.
53712         * lib/sig-handler.h (get_handler): New file, suggested by Paul
53713         Eggert.
53714         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
53715         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
53716         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
53717         (init_fatal_signals): Likewise.
53718         * lib/nanosleep.c (rpl_nanosleep): Likewise.
53719         (siginterrupt): Delete fallback.
53720         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
53721         instead.
53722         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
53723         siginterrupt.
53724
53725         New module sigaction, for mingw.
53726         * modules/sigaction: New module...
53727         * modules/sigaction-tests: ...and its test.
53728         * m4/sigaction.m4: New file.
53729         * lib/sigaction.c: Likewise.
53730         * tests/test-sigaction.c: Likewise.
53731         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
53732         * modules/signal (Makefile.am): Likewise.
53733         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
53734         needed.
53735         * doc/posix-headers/signal.texi (signal.h): Mention provided
53736         types.
53737         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
53738         that sigaction is preferable.
53739         * doc/posix-functions/sigaction.texi (sigaction): Mention new
53740         module.
53741         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
53742         sigaction.
53743
53744         Improve robustness of sigprocmask by overriding signal.
53745         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
53746         is in use.
53747         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
53748         (SIGKILL, SIGSTOP): Provide fallbacks.
53749         (rpl_signal): Implement.
53750         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
53751         signal can be called inside handlers.
53752
53753         Fix nanosleep module on mingw.
53754         * modules/nanosleep (Depends-on): Add sys_select.
53755         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
53756
53757         Fix licensing of sigprocmask.
53758         * modules/raise (License): Relicense as LGPL.
53759
53760 2008-06-21  Bruno Haible  <bruno@clisp.org>
53761
53762         * lib/propername.c (proper_name_utf8): Don't use the transliterated
53763         result if it contains question marks.
53764         Reported by Michael Geng <linux@michaelgeng.de>.
53765
53766 2008-06-19  Bruno Haible  <bruno@clisp.org>
53767
53768         Fix CVS-ism.
53769         * doc/gnulib.texi: Include updated-stamp.texi.
53770         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
53771         (updated-stamp.texi): New rule.
53772         (gnulib.info): Depend on it.
53773         * doc/.gitignore: Add updated-stamp.texi.
53774         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
53775
53776 2008-06-19  Bruno Haible  <bruno@clisp.org>
53777
53778         * doc/Makefile (gnulib.info): Update and simplify dependencies.
53779         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
53780
53781 2008-06-19  Eric Blake  <ebb9@byu.net>
53782
53783         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
53784         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
53785         Reported by Stepan Kasal.
53786
53787 2008-06-18  Bruno Haible  <bruno@clisp.org>
53788
53789         * lib/fatal-signal.c (init_fatal_signals): Add comment.
53790         Reported by Eric Blake.
53791
53792 2008-06-18  Eric Blake  <ebb9@byu.net>
53793
53794         Work around cygwin 1.5.25 strsignal bug.
53795         * tests/test-strsignal.c: Allow for const char *.
53796         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
53797
53798 2008-06-18  Simon Josefsson  <simon@josefsson.org>
53799
53800         * users.txt: Update URL to article and add author/date
53801         information.
53802
53803 2008-06-17  Bruno Haible  <bruno@clisp.org>
53804
53805         New macro gl_DISABLE_THREADS.
53806         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
53807         if the user did not pass --enable-threads or --disable-threads option.
53808         (gl_DISABLE_THREADS): New macro.
53809         Reported by Eric Blake <ebb9@byu.net>.
53810
53811 2008-06-17  Bruno Haible  <bruno@clisp.org>
53812
53813         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
53814         when the macro ignores it.
53815         Based on a patch by Eric Blake <ebb9@byu.net>.
53816
53817 2008-06-17  Bruno Haible  <bruno@clisp.org>
53818
53819         * modules/tls (License): Change to LGPLv2+.
53820         Reported by Eric Blake.
53821
53822 2008-06-17  Eric Blake  <ebb9@byu.net>
53823
53824         Simplify c-stack prerequisites.
53825         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
53826         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
53827         no longer requires <ucontext.h> to exist.  Optimize setrlimit
53828         check.
53829         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
53830         <sys/resource.h>.
53831
53832         Move c-stack test into testsuite.
53833         * modules/c-stack-tests: New file.
53834         * lib/c-stack.c [DEBUG]: Move test program...
53835         * tests/test-c-stack.c: ...into this new file.  Skip rather than
53836         fail test if sigaltstack is lacking.
53837         * tests/test-c-stack.sh: New driver file.
53838
53839 2008-06-16  Eric Blake  <ebb9@byu.net>
53840
53841         Use raise module consistently.
53842         * modules/fatal-signal (Depends-on): Add raise.
53843         * modules/sigprocmask (Depends-on): Likewise.
53844         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
53845         * lib/sigprocmask.c (sigprocmask): Likewise.
53846         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
53847         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
53848
53849         Fix compliance bug in sigpending.
53850         * lib/sigprocmask.c (sigpending): Return pending array via
53851         parameter, not return value.
53852
53853 2008-06-14  Eric Blake  <ebb9@byu.net>
53854
53855         Improve obstack-printf test code.
53856         * tests/test-obstack-printf.c (test_function): Fix comment, and
53857         simplify usage of obstack_* in macros.  Add a test for coverage.
53858         Reported by Bruno Haible.
53859
53860 2008-06-14  Bruno Haible  <bruno@clisp.org>
53861
53862         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
53863         array size as a constant, not as a const variable.
53864         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
53865         AC_USE_SYSTEM_EXTENSIONS.
53866         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
53867         Test whether the obstack_printf function actually exists.
53868         * modules/obstack-printf (Depends-on): Add extensions.
53869         (Include): Remove obstack.h.
53870         * modules/obstack-printf-posix (Depends-on): Add extensions.
53871         (Include): Remove obstack.h.
53872
53873 2008-06-13  Eric Blake  <ebb9@byu.net>
53874
53875         Add obstack-printf and obstack-printf-posix modules.
53876         * modules/obstack-printf: New file.
53877         * modules/obstack-printf-posix: Likewise.
53878         * MODULES.html.sh (Misc): Mention them.
53879         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
53880         Likewise.
53881         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
53882         Likewise.
53883         * modules/stdio (Makefile.am): Accomodate new modules.
53884         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
53885         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
53886         Declare.
53887         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
53888         functions.
53889         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
53890         (gl_REPLACE_OBSTACK_PRINTF): New macros
53891         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
53892         * tests/test-obstack-printf.c: New file.
53893         * modules/obstack-printf-tests: Likewise.
53894         * modules/obstack-printf-posix-tests: Likewise.
53895
53896 2008-06-11  Bruno Haible  <bruno@clisp.org>
53897
53898         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
53899         * lib/open.c: Include errno.h.
53900         (open): Fail when attempting to write to a file that has a trailing
53901         slash.
53902         * tests/test-open.c (main): Test against trailing slash bug.
53903         * doc/posix-functions/open.texi: Mention the trailing slash bug.
53904
53905 2008-06-10  Bruno Haible  <bruno@clisp.org>
53906
53907         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
53908         for $? to work inside the trap command, with various /bin/sh-s.
53909         * tests/test-vc-list-files-cvs.sh: Likewise.
53910
53911 2008-06-10  Bruno Haible  <bruno@clisp.org>
53912
53913         * lib/acl-internal.h: Don't include gettext.h here.
53914         * lib/set-mode-acl.c: Include gettext.h here.
53915         * lib/copy-acl.c: Likewise.
53916
53917 2008-06-10  Bruno Haible  <bruno@clisp.org>
53918
53919         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
53920         * lib/wait-process.c (wait_subprocess): Likewise.
53921         * lib/execute.h (execute): Add termsigp argument.
53922         * lib/execute.c (execute): Likewise.
53923         * lib/csharpcomp.c (compile_csharp_using_pnet,
53924         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
53925         * lib/csharpexec.c (execute_csharp_using_pnet,
53926         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
53927         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
53928         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
53929         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
53930         is_jikes_present): Update.
53931         * lib/javaexec.c (execute_java_class): Update.
53932         * lib/javaversion.c (execute_and_read_line): Update.
53933         * NEWS: Document the changes.
53934         Reported by Eric Blake.
53935
53936 2008-06-10  Eric Blake  <ebb9@byu.net>
53937
53938         Add missing include.
53939         * tests/test-strstr.c (includes): Add <signal.h>.
53940         * tests/test-strcasestr.c (includes): Likewise.
53941         * tests/test-memmem.c (includes): Likewise.
53942
53943 2008-06-10  Bruno Haible  <bruno@clisp.org>
53944
53945         * lib/wait-process.c (wait_subprocess): Add an assertion.
53946
53947 2008-06-10  Bruno Haible  <bruno@clisp.org>
53948
53949         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
53950
53951 2008-06-10  Bruno Haible  <bruno@clisp.org>
53952
53953         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
53954         using alarm().
53955         * tests/test-strcasestr.c (main): Likewise.
53956         * tests/test-strstr.c (main): Likewise.
53957
53958 2008-06-09  Bruno Haible  <bruno@clisp.org>
53959
53960         Work around the Solaris 10 ACE ACLs ABI change.
53961         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
53962         declare if ACL_NO_TRIVIAL is present.
53963         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
53964         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
53965         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
53966         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
53967         define if ACL_NO_TRIVIAL is present.
53968         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
53969         and use the current ABI.
53970         (file_has_acl): Use same #if condition as elsewhere.
53971         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
53972         in use, and use the current ABI.
53973         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
53974         Reported by Jim Meyering.
53975
53976 2008-06-09  Eric Blake  <ebb9@byu.net>
53977
53978         Work around environments that (stupidly) ignore SIGALRM.
53979         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
53980         before using alarm().
53981         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
53982         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
53983         Reported by Ian Beckwith <ianb@erislabs.net>.
53984
53985         Produce autobuild blurb earlier in log.
53986         * modules/autobuild (configure.ac-early): Move AB_INIT here.
53987
53988 2008-06-09  Jim Meyering  <meyering@redhat.com>
53989         and OndÅ™ej Vašík  <ovasik@redhat.com>
53990
53991         utimens.c: correct kernel bug work-around
53992         OndÅ™ej Vašík found that the invalid return value of 280 indicates
53993         failure, not success, and the kernel bug we're trying to work
53994         around affects not just the utimensat call, but also the fallback
53995         futimens call.
53996         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
53997         not success.
53998         [HAVE_FUTIMENS]: Use the same work-around, here.
53999
54000 2008-06-09  Jim Meyering  <meyering@redhat.com>
54001
54002         add more guards around definition of ACE_-related code
54003         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
54004         ALLOW and ACE_OWNER are also defined.
54005
54006 2008-06-08  Bruno Haible  <bruno@clisp.org>
54007
54008         * lib/acl-internal.h: Add me as co-author.
54009         * lib/file-has-acl.c: Likewise.
54010         * lib/set-mode-acl.c: Likewise.
54011         * lib/copy-acl.c: Likewise.
54012
54013 2008-06-08  Bruno Haible  <bruno@clisp.org>
54014
54015         Add support for AIX ACLs.
54016         * lib/acl-internal.h (acl_nontrivial): New declaration.
54017         * lib/file-has-acl.c (acl_nontrivial): New function.
54018         (file_has_acl): Add implementation using AIX 4 ACL API.
54019         * lib/set-mode-acl.c (qset_acl): Likewise.
54020         * lib/copy-acl.c (qcopy_acl): Likewise.
54021
54022 2008-06-08  Bruno Haible  <bruno@clisp.org>
54023
54024         Add support for HP-UX ACLs.
54025         * lib/acl-internal.h (acl_nontrivial): New declaration.
54026         * lib/file-has-acl.c (acl_nontrivial): New function.
54027         (file_has_acl): Add implementation using HP-UX 11 ACL API.
54028         * lib/set-mode-acl.c (qset_acl): Likewise.
54029         * lib/copy-acl.c (qcopy_acl): Likewise.
54030
54031 2008-06-08  Bruno Haible  <bruno@clisp.org>
54032
54033         Add support for Cygwin ACLs.
54034         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
54035         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
54036         the chmod_or_fchmod call.
54037         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
54038
54039 2008-06-08  Bruno Haible  <bruno@clisp.org>
54040
54041         Fix bug with setuid modes in Solaris 10+ code.
54042         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
54043         succeeded, when the mode contains some special bits.
54044
54045 2008-06-08  Bruno Haible  <bruno@clisp.org>
54046
54047         Add support for Solaris 7..10 ACLs.
54048         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
54049         declarations.
54050         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
54051         functions.
54052         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
54053         * lib/set-mode-acl.c (qset_acl): Likewise.
54054         * lib/copy-acl.c (qcopy_acl): Likewise.
54055
54056 2008-06-08  Bruno Haible  <bruno@clisp.org>
54057
54058         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
54059         declaration.
54060         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
54061         (acl_access_nontrivial): Remove MacOS X case.
54062         (file_has_acl): Use acl_extended_nontrivial.
54063         * lib/copy-acl.c (qcopy_acl): Likewise.
54064
54065 2008-06-08  Bruno Haible  <bruno@clisp.org>
54066
54067         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
54068
54069 2008-06-08  Jim Meyering  <meyering@redhat.com>
54070
54071         * modules/acl (Maintainer): Add Bruno Haible.
54072
54073 2008-06-07  Bruno Haible  <bruno@clisp.org>
54074
54075         Improve support for Tru64 ACLs.
54076         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
54077         ACL on OSF/1.
54078
54079 2008-06-07  Bruno Haible  <bruno@clisp.org>
54080
54081         Add support for MacOS X ACLs.
54082         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
54083         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
54084         * lib/set-mode-acl.c (qset_acl): Likewise.
54085         * lib/copy-acl.c (qcopy_acl): Likewise.
54086
54087 2008-06-07  Bruno Haible  <bruno@clisp.org>
54088
54089         Fix memory leak introduced on 2008-05-22.
54090         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
54091         use.
54092
54093 2008-06-07  Bruno Haible  <bruno@clisp.org>
54094
54095         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
54096         to construct an empty ACL.
54097
54098 2008-06-07  Bruno Haible  <bruno@clisp.org>
54099
54100         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
54101         precisely.
54102         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
54103
54104 2008-06-07  Bruno Haible  <bruno@clisp.org>
54105
54106         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
54107         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
54108
54109 2008-06-07  Bruno Haible  <bruno@clisp.org>
54110
54111         * doc/posix-functions/_setjmp.texi: Explain the use of this function
54112         regardless of POSIX.
54113         * doc/posix-functions/_longjmp.texi: Likewise.
54114         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
54115         SystemV platform in this case.
54116
54117 2008-06-06  Eric Blake  <ebb9@byu.net>
54118
54119         Document abort() bugs.
54120         * doc/posix-functions/abort.texi (abort): Mention anomalies.
54121
54122         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
54123         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
54124         sigsetjmp.
54125         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
54126         siglongjmp, but only as a macro.
54127         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
54128         is obsolete.
54129         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
54130
54131         Tweak documentation to cover cygwin argz bugs.
54132         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
54133         argz bug fix; no code change needed since no cygwin releases
54134         occurred between the last fix and the bug being tested.
54135         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
54136         module and recently fixed cygwin bugs.
54137         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
54138         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
54139         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
54140         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
54141         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
54142         Likewise.
54143         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
54144         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
54145         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
54146         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
54147         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
54148         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
54149         Likewise.
54150
54151         Avoid gcc warning on cygwin.
54152         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
54153         !ACL_NO_TRIVIAL]: Avoid unused variable.
54154
54155 2008-06-05  Eric Blake  <ebb9@byu.net>
54156
54157         Be tolerant of UNKNOWN version in gnulib-tool test dir.
54158         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
54159         git-version-gen fails to come up with a version.
54160         Reported by Simon Josefsson.
54161
54162 2008-06-05  Jim Meyering  <meyering@redhat.com>
54163             Paul Eggert  <eggert@cs.ucla.edu>
54164
54165         utimens.c: work around a probable Linux kernel bug
54166         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
54167         appears to be a kernel bug that causes utimensat to return 280
54168         instead of 0, indicating success.
54169
54170 2008-06-04  Bruno Haible  <bruno@clisp.org>
54171
54172         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
54173         2008-06-01 commit.
54174
54175 2008-06-04  Bruno Haible  <bruno@clisp.org>
54176
54177         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
54178         * lib/file-has-acl.c (acl_access_nontrivial): New function.
54179         (file_has_acl): Use it. Save errno afterwards.
54180         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
54181
54182 2008-06-03  Bruno Haible  <bruno@clisp.org>
54183
54184         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
54185         draft code. Simplify #ifs.
54186         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
54187         Put Solaris code after POSIX-draft code. Fix comments regarding
54188         Solaris 10, HP-UX. Mention Cygwin.
54189         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
54190
54191 2008-06-03  Eric Blake  <ebb9@byu.net>
54192
54193         Provide fallback for older kernels.
54194         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
54195         Provide runtime fallback if kernel lacks support.
54196         Reported by Mike Frysinger.
54197
54198 2008-06-02  Bruno Haible  <bruno@clisp.org>
54199
54200         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
54201         it exists.
54202
54203 2008-06-02  Bruno Haible  <bruno@clisp.org>
54204
54205         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
54206         * lib/copy-acl.c (qcopy_acl): Update comment.
54207
54208 2008-06-02  Bruno Haible  <bruno@clisp.org>
54209
54210         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
54211         like ACL APIs.
54212
54213 2008-06-02  Bruno Haible  <bruno@clisp.org>
54214
54215         * tests/test-file-has-acl.sh: Use different code for Cygwin.
54216         * tests/test-set-mode-acl.sh: Likewise.
54217         * tests/test-copy-acl.sh: Likewise.
54218         * tests/test-copy-file.sh: Likewise.
54219
54220 2008-06-02  Bruno Haible  <bruno@clisp.org>
54221
54222         * tests/test-file-has-acl.sh: Remove unused code.
54223
54224 2008-06-01  Bruno Haible  <bruno@clisp.org>
54225
54226         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
54227         (copy_acl): Just a wrapper around qcopy_acl that emits the error
54228         messages.
54229         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
54230
54231 2008-06-01  Bruno Haible  <bruno@clisp.org>
54232
54233         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
54234         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
54235         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
54236         APIs.
54237         * modules/acl-tests (configure.ac): Remove tests now contained in
54238         m4/acl.m4.
54239
54240 2008-06-02  Jim Meyering  <meyering@redhat.com>
54241
54242         announce-gen: use a better key-server host name
54243         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
54244         it may be more consistently reliable.  Suggested by Werner Koch
54245         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
54246
54247 2008-06-01  Bruno Haible  <bruno@clisp.org>
54248
54249         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
54250         Reported by Voroskoi Andras <voroskoi@gmail.com>.
54251
54252 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
54253
54254         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
54255
54256 2008-06-01  Bruno Haible  <bruno@clisp.org>
54257
54258         New ACL tests.
54259         * tests/test-file-has-acl.sh: New file.
54260         * tests/test-file-has-acl.c: New file.
54261         * tests/test-set-mode-acl.sh: New file.
54262         * tests/test-set-mode-acl.c: New file.
54263         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
54264         * tests/test-copy-acl.c: New file.
54265         * modules/acl-tests: New file, based on modules/copy-file-tests.
54266         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
54267         (Depends-on): Add acl-tests.
54268         (configure.ac): Remove checks.
54269         (Makefile.am): Don't create test-sameacls program here any more.
54270
54271 2008-06-01  Bruno Haible  <bruno@clisp.org>
54272
54273         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
54274         * tests/test-sameacls.c: Include progname.h.
54275         (main): Invoke set_program_name. Portability fixes for MacOS X,
54276         Solaris, HP-UX.
54277
54278 2008-06-01  Bruno Haible  <bruno@clisp.org>
54279
54280         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
54281         function.
54282         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
54283
54284 2008-06-01  Bruno Haible  <bruno@clisp.org>
54285
54286         * modules/rpmatch (Depends-on): Add strdup.
54287
54288 2008-06-01  Bruno Haible  <bruno@clisp.org>
54289
54290         * lib/pipe.c: Include unistd-safer.h.
54291         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
54292         * modules/pipe (Depends-on): Add unistd-safer.
54293
54294 2008-05-30  Simon Josefsson  <simon@josefsson.org>
54295
54296         * modules/autobuild (configure.ac): Call AB_INIT.
54297
54298 2008-05-30  Simon Josefsson  <simon@josefsson.org>
54299
54300         * tests/test-getaddrinfo.c: Don't print debug messages by default.
54301         Suggested by Bruno Haible <bruno@clisp.org>.
54302
54303 2008-05-30  Simon Josefsson  <simon@josefsson.org>
54304
54305         * tests/test-base64.c: Cast size_t to unsigned long when invoking
54306         printf.  Use %lu instead of %d.  Reported by Bruno Haible
54307         <bruno@clisp.org>.
54308
54309 2008-05-29  Eric Blake  <ebb9@byu.net>
54310
54311         Prefer new POSIX 200x interfaces over futimesat.
54312         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
54313         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
54314         when available.
54315         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
54316
54317 2008-05-28  Bruno Haible  <bruno@clisp.org>
54318
54319         * modules/stpcpy (License): Change to LGPLv2+.
54320         Requested by David Lutterkort <dlutter@redhat.com>.
54321
54322 2008-05-27  Bruno Haible  <bruno@clisp.org>
54323
54324         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
54325         current mingw.
54326         Reported by Jose E. Marchesi <jemarch@gnu.org>.
54327
54328 2008-05-27  Bruno Haible  <bruno@clisp.org>
54329
54330         * modules/iconv_open (Link): New section, from module 'iconv'.
54331         * modules/striconv (Link): Likewise.
54332         * modules/striconveh (Link): Likewise.
54333         * modules/xstriconv (Link): Likewise.
54334         * modules/unicodeio (Link): Likewise.
54335         * modules/propername (Link): Likewise.
54336         Reported by Jim Meyering.
54337
54338 2008-05-26  Jim Meyering  <meyering@redhat.com>
54339
54340         sha256: do not artificially restrict buffer length to be < 2^32
54341         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
54342         uint32_t to size_t.
54343         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
54344         to match.
54345
54346         avoid unaligned access errors, e.g., on sparc
54347         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
54348         direct access through a possibly-unaligned uint64* pointer.
54349         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
54350         direct access through a possibly-unaligned uint32* pointer.
54351         Prompted by this patch from Tom "spot" Callaway:
54352         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
54353
54354         sha512.c: fix typo in comment
54355         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
54356
54357 2008-05-25  Bruno Haible  <bruno@clisp.org>
54358
54359         * lib/set-mode-acl.c: Renamed from lib/acl.c.
54360         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
54361         (Makefile.am): Update lib_SOURCES.
54362
54363 2008-05-25  Bruno Haible  <bruno@clisp.org>
54364
54365         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
54366
54367 2008-05-25  Jim Meyering  <meyering@redhat.com>
54368
54369         useless-if-before-free: freed expr may have white-space differences
54370         * build-aux/useless-if-before-free: Recognize cases in which the
54371         freed expression differs from the tested one in embedded white
54372         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
54373         $1 was used, so we can't make any regexp shy.  Improved tests now
54374         detect this.
54375
54376         useless-if-before-free: accept white space in the expression.
54377         * build-aux/useless-if-before-free: For now, any white space
54378         in the expression must be identical in the free argument.
54379
54380         useless-if-before-free: efficiency tweak
54381         * build-aux/useless-if-before-free: Make the expression-matching
54382         regexp "shy".
54383         Make the *outer* regexp shy, not the expr-matching one.
54384
54385         update code-in-comment to accept cast of free arg
54386         * build-aux/useless-if-before-free: Update regexp.
54387
54388 2008-05-25  Bruno Haible  <bruno@clisp.org>
54389
54390         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
54391         * modules/copy-file-tests (Files, Makefile.am): Update.
54392         * tests/test-copy-file.c (func_test_copy): Update.
54393
54394 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
54395
54396         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
54397
54398 2008-05-23  Bruno Haible  <bruno@clisp.org>
54399
54400         Improve support for ACLs on OSF/1.
54401         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
54402         Remove fallback for unknown flavors of ACLs.
54403
54404 2008-05-22  Bruno Haible  <bruno@clisp.org>
54405
54406         Add support for ACLs on OSF/1.
54407         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
54408         replacements.
54409         (acl_free_text): New macro fallback.
54410         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
54411         acl_free.
54412         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
54413         acl_free_text function. Require AC_C_INLINE.
54414
54415 2008-05-22  Bruno Haible  <bruno@clisp.org>
54416
54417         Make copy_acl work on MacOS X 10.5.
54418         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
54419         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
54420         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
54421         If MODE_INSIDE_ACL, don't assume that every system has the same text
54422         representation for ACLs as FreeBSD.
54423         * lib/copy-acl.c (copy_acl): Add support for platforms with
54424         !MODE_INSIDE_ACL.
54425         * lib/file-has-acl.c (file_has_acl): Likewise.
54426         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
54427         FreeBSD, MacOS X, or IRIX, respectively.
54428
54429 2008-05-22  Bruno Haible  <bruno@clisp.org>
54430
54431         * lib/acl.h: Don't include <sys/acl.h>.
54432         (GETACLCNT): Move fallback to lib/acl-internal.h.
54433         * lib/acl-internal.h: Include <sys/acl.h> here.
54434         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
54435
54436 2008-05-22  Bruno Haible  <bruno@clisp.org>
54437
54438         Split off copy_acl function to separate file.
54439         * lib/copy-acl.c: New file, extracted from lib/acl.c.
54440         * lib/acl.c (copy_acl): Moved function to separate file.
54441         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
54442         * modules/acl (Files): Add lib/copy-acl.c.
54443         (Makefiles.am): Augment lib_SOURCES.
54444
54445 2008-05-22  Bruno Haible  <bruno@clisp.org>
54446
54447         * modules/copy-file-tests: New file.
54448         * tests/test-copy-file.sh: New file.
54449         * tests/test-copy-file.c: New file.
54450         * tests/test-copy-file-sameacls.c: New file.
54451
54452 2008-05-22  Eric Blake  <ebb9@byu.net>
54453
54454         Avoid gcc warning.
54455         * tests/test-memcmp.c (main): Pass NULL indirectly.
54456
54457 2008-05-21  Bruno Haible  <bruno@clisp.org>
54458
54459         Add reference doc about ACLs.
54460         * doc/acl-resources.txt: New file.
54461         * doc/acl-cygwin.txt: New file.
54462
54463 2008-05-21  Bruno Haible  <bruno@clisp.org>
54464
54465         Avoid one more warning from gcc.
54466         * lib/vasnprintf.c (IF_LINT): Update comments.
54467         (VASNPRINTF): Use it also for the 'prefix' array initializer.
54468
54469 2008-05-21  Jim Meyering  <meyering@redhat.com>
54470
54471         avoid a warning from gcc
54472         * lib/vasnprintf.c (IF_LINT): Define.
54473         (scale10_round_decimal_long_double):
54474         Use it to avoid a "may be used uninitialized" warning.
54475         (scale10_round_decimal_double): Likewise.
54476
54477 2008-05-21  Simon Josefsson  <simon@josefsson.org>
54478
54479         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
54480         declared.
54481
54482 2008-05-20  Bruno Haible  <bruno@clisp.org>
54483
54484         * tests/test-memcmp.c (main): Test also the sign of the result. Test
54485         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
54486
54487 2008-05-20  Simon Josefsson  <simon@josefsson.org>
54488
54489         * modules/memcmp-tests: New file.
54490         * tests/test-memcmp.c: New file.
54491
54492 2008-05-19  Bruno Haible  <bruno@clisp.org>
54493
54494         * modules/propername (Notice, configure.ac): Put quoted "..." into
54495         --keyword option.
54496         * lib/propername.h: Update comments accordingly.
54497         Reported by Eric Blake.
54498
54499 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
54500
54501         * modules/getpass-gnu (Depends-on): Add fseeko.
54502
54503 2008-05-19  Simon Josefsson  <simon@josefsson.org>
54504
54505         * modules/base64-tests: New file.
54506
54507 2008-05-19  Bo Borgerson <gigabo@gmail.com>
54508
54509         * lib/base64.c (base64_decode_ctx): If a decode context structure
54510         was passed in use it to ignore newlines.  If a context structure
54511         was _not_ passed in, continue to treat newlines as garbage (this
54512         is the historical behavior).  Formerly base64_decode.
54513         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
54514         takes a decode context structure.
54515         * lib/base64.h (base64_decode): Macro for four-argument calls.
54516         (base64_decode_alloc): Likewise.
54517         * lib/base64.c (base64_decode_ctx): If a decode context structure
54518         was passed in use it to ignore newlines.  If a context structure
54519         was _not_ passed in, continue to treat newlines as garbage (this
54520         is the historical behavior).  Formerly base64_decode.
54521         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
54522         takes a decode context structure.
54523         * lib/base64.h (base64_decode): Macro for four-argument calls.
54524         (base64_decode_alloc): Likewise.
54525
54526 2008-05-19  Jim Meyering  <meyering@redhat.com>
54527
54528         avoid a warning from gcc
54529         * lib/trim.c (IF_LINT): Define.
54530         (trim2): Use it to avoid a "may be used uninitialized" warning.
54531
54532         Fix doc typo.
54533         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
54534
54535 2008-05-19  Bruno Haible  <bruno@clisp.org>
54536
54537         * doc/glibc-functions/getpass.texi: Document limits of other
54538         implementations.
54539
54540 2008-05-19  Simon Josefsson  <simon@josefsson.org>
54541             Bruno Haible <bruno@clisp.org>
54542
54543         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
54544
54545 2008-05-18  Bruno Haible  <bruno@clisp.org>
54546
54547         * modules/propername: New file, from GNU gettext.
54548         * lib/propername.h: New file, from GNU gettext.
54549         * lib/propername.c: New file, from GNU gettext.
54550         * MODULES.html.sh (Internationalization functions): Add propername.
54551
54552 2008-05-16  Jim Meyering  <meyering@redhat.com>
54553             Bruno Haible  <bruno@clisp.org>
54554
54555         Avoid some warnings from "gcc -Wshadow".
54556         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
54557
54558 2008-05-15  Eric Blake  <ebb9@byu.net>
54559
54560         Extend previous patch to cygwin 1.7.0.
54561         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
54562         fast implementation in cygwin >= 1.7.0.
54563         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
54564         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
54565
54566 2008-05-15  Bruno Haible  <bruno@clisp.org>
54567
54568         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
54569         implementation in glibc >= 2.9.
54570         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
54571         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
54572
54573 2008-05-15  Bruno Haible  <bruno@clisp.org>
54574
54575         * MODULES.html.sh (Internationalization functions): Remove linebreak.
54576         (Unicode string functions): Add unilbrk/*.
54577         Reported by Karl Berry.
54578
54579 2008-05-15  Eric Blake  <ebb9@byu.net>
54580
54581         Fix violation of <stdbool.h> replacement in regex.
54582         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
54583         * lib/regexec.c (re_search_internal): Likewise.
54584         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
54585
54586 2008-05-15  Jim Meyering  <meyering@redhat.com>
54587
54588         avoid distracting test output when git or cvs is not found
54589         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
54590         * tests/test-vc-list-files-git.sh: Likewise.
54591
54592 2008-05-15  Eric Blake  <ebb9@byu.net>
54593
54594         Glibc finally accepted the memmem speedup code, bugzilla #5514.
54595         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
54596         glibc version.
54597         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
54598         * doc/posix-functions/strstr.texi (strstr): Likewise.
54599         * lib/str-two-way.h (MAX): Sychronize with glibc.
54600
54601 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
54602
54603         * lib/regcomp.c (optimize_utf8): Add a note on why we test
54604         opr.ctx_type.
54605         (calc_first): Initialize constraint field.
54606         (duplicate_node_closure): Use it instead of special casing ANCHORS.
54607         Fix grammar.
54608         (duplicate_node): Merge constraint field for all node types.
54609         (calc_eclosure_iter): Look at constraint field for all node types.
54610         * lib/regex_internal.c (create_cd_newstate): Don't look at
54611         opr.ctx_type.
54612
54613 2008-05-14  Bruno Haible  <bruno@clisp.org>
54614
54615         Help GCC to do better code generation.
54616         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
54617         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
54618         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
54619         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
54620         Declare with attribute 'malloc' if supported.
54621
54622 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
54623
54624         use "echo STR|wc -c" rather than unportable "expr length STR"
54625         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
54626         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
54627
54628 2008-05-14  Jim Meyering  <meyering@redhat.com>
54629
54630         use dd ibs=$n count=1 ... rather than less-portable head -c$n
54631         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
54632         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
54633         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
54634         via Collin Lasse.
54635
54636 2008-05-14  Eric Blake  <ebb9@byu.net>
54637
54638         Avoid quadratic growth in gl_LIBSOURCES.
54639         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
54640         Suggested by Bruno Haible.
54641
54642         Test xmemdup0.
54643         * modules/xmemdup0-tests: New file.
54644         * tests/test-xmemdup0.c: Likewise.
54645
54646 2008-05-13  Eric Blake  <ebb9@byu.net>
54647
54648         Split xmemdup0 into its own module.
54649         * modules/xmemdup0: New file.
54650         * lib/xmemdup0.h: Likewise.
54651         * lib/xmemdup0.c: Likewise.
54652         * MODULES.html.sh (Memory management functions): Add xmemdup0.
54653         * lib/xalloc.h (xmemdup0): Remove.
54654         * lib/xmalloc.c (xmemdup0): Likewise.
54655
54656 2008-05-13  Eric Blake  <ebb9@byu.net>
54657             Bruno Haible  <bruno@clisp.org>
54658
54659         Reduce number of forks required during autoconf.
54660         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
54661         and gl_LIBSOURCES_DIR.
54662         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
54663         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
54664         m4_syscmd per file.
54665         <m4_foreach_w>: Move...
54666         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
54667
54668 2008-05-13  Eric Blake  <ebb9@byu.net>
54669
54670         * gnulib-tool: Fix various comment typos.
54671
54672 2008-05-12  Bruno Haible  <bruno@clisp.org>
54673
54674         Tailor the linebreaking algorithm.
54675         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
54676
54677 2008-05-12  Bruno Haible  <bruno@clisp.org>
54678
54679         Update to Unicode 5.0.0.
54680         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
54681         LBP_JV, LBP_JT. Redistribute values.
54682         (unilbrk_table): Change size.
54683         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
54684         Unicode TR#14 rev. 22.
54685         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
54686         LBP_JV, LBP_JT. Redistribute values.
54687         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
54688         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
54689         Update.
54690         * lib/unilbrk/lbrkprop1.h: Regenerated.
54691         * lib/unilbrk/lbrkprop2.h: Regenerated.
54692         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
54693         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
54694         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
54695         Likewise.
54696         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
54697         Likewise.
54698         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
54699         result.
54700         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
54701         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
54702         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
54703         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
54704         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
54705         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
54706
54707 2008-05-11  Bruno Haible  <bruno@clisp.org>
54708
54709         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
54710
54711 2008-05-11  Bruno Haible  <bruno@clisp.org>
54712
54713         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
54714         * modules/unilbrk/gen-lbrk: New file.
54715
54716 2008-05-11  Bruno Haible  <bruno@clisp.org>
54717
54718         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
54719         * m4/sha512.m4 (gl_SHA512): Likewise.
54720
54721 2008-05-11  Jim Meyering  <meyering@redhat.com>
54722
54723         New modules: crypto/sha256, crypto/sha512 (from coreutils)
54724         * modules/crypto/sha256: New file.
54725         * modules/crypto/sha512: Likewise.
54726         * lib/sha256.c: Likewise.
54727         * lib/sha256.h: Likewise.
54728         * lib/sha512.c: Likewise.
54729         * lib/sha512.h: Likewise.
54730         * lib/u64.h: Likewise.
54731         * m4/sha256.m4: Likewise.
54732         * m4/sha512.m4: Likewise.
54733         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
54734
54735 2008-05-10  Bruno Haible  <bruno@clisp.org>
54736
54737         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
54738         (Input/Output <stdio.h>): Add xprintf.
54739         (Signal handling <signal.h>): Add strsignal.
54740         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
54741         (Core language properties): Add func.
54742         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
54743         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
54744         strings.
54745         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
54746         (Input/output): New section.
54747         (File system functions): Add openat-die, stat-macros.
54748         (Networking functions): Add sockets.
54749         (Unicode string functions): Add unictype/*.
54750         (Support for building libraries and executables): Add gperf.
54751         (Support for building documentation): Add agpl-3.0.
54752         (Misc): Add nocrash.
54753
54754 2008-05-10  Bruno Haible  <bruno@clisp.org>
54755
54756         * modules/unictype/gen-ctype: New file.
54757
54758 2008-05-10  Jim Meyering  <meyering@redhat.com>
54759
54760         Make chdir-safer.c more efficient on a system with no symlinks.
54761         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
54762         also if ELOOP is zero.  Suggested by Bruno Haible.
54763
54764         Make chdir-safer.c slightly safer.
54765         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
54766         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
54767
54768         Avoid compile failure on systems without ELOOP (like mingw).
54769         * lib/chdir-safer.c (ELOOP): Define if not already defined.
54770         Reported by Bruno Haible.
54771
54772 2008-05-10  Bruno Haible  <bruno@clisp.org>
54773
54774         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
54775         (is_utf8_encoding): Use a case-insensitive comparison.
54776         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
54777         streq.
54778
54779 2008-05-10  Bruno Haible  <bruno@clisp.org>
54780
54781         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
54782         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
54783         * lib/unilbrk/ulc-common.h (iconv_string_length,
54784         iconv_string_keeping_offsets): Remove declarations.
54785         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
54786         Don't include <iconv.h>, streq.h, xsize.h.
54787         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
54788         conversion.
54789         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
54790         <iconv.h>, streq.h, xsize.h.
54791         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
54792         conversion.
54793         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
54794         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
54795         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
54796         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
54797
54798 2008-05-10  Bruno Haible  <bruno@clisp.org>
54799
54800         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
54801         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
54802
54803         * modules/unilbrk/u32-width-linebreaks-tests: New file.
54804         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
54805
54806         * modules/unilbrk/u16-width-linebreaks-tests: New file.
54807         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
54808
54809         * modules/unilbrk/u8-width-linebreaks-tests: New file.
54810         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
54811
54812         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
54813         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
54814
54815         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
54816         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
54817
54818         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
54819         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
54820
54821         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
54822         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
54823
54824 2008-05-10  Bruno Haible  <bruno@clisp.org>
54825
54826         Split up 'linebreak' module.
54827         * lib/unilbrk.h: New file, based on lib/linebreak.h.
54828         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
54829         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
54830         modifications.
54831         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
54832         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
54833         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
54834         lib/linebreak.c.
54835         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
54836         lib/linebreak.c.
54837         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
54838         lib/linebreak.c.
54839         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
54840         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
54841         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
54842         lib/linebreak.c.
54843         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
54844         lib/linebreak.c.
54845         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
54846         lib/linebreak.c.
54847         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
54848         lib/linebreak.c.
54849         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
54850         lib/linebreak.c.
54851         * modules/unilbrk/base: New file.
54852         * modules/unilbrk/tables: New file.
54853         * modules/unilbrk/u8-possible-linebreaks: New file.
54854         * modules/unilbrk/u16-possible-linebreaks: New file.
54855         * modules/unilbrk/u32-possible-linebreaks: New file.
54856         * modules/unilbrk/ulc-common: New file.
54857         * modules/unilbrk/ulc-possible-linebreaks: New file.
54858         * modules/unilbrk/u8-width-linebreaks: New file.
54859         * modules/unilbrk/u16-width-linebreaks: New file.
54860         * modules/unilbrk/u32-width-linebreaks: New file.
54861         * modules/unilbrk/ulc-width-linebreaks: New file.
54862         * lib/linebreak.h: Remove file.
54863         * lib/linebreak.c: Remove file.
54864         * m4/linebreak.m4: Remove file.
54865         * modules/linebreak: Remove file.
54866         * NEWS: Mention the changes.
54867
54868 2008-05-09  Eric Blake  <ebb9@byu.net>
54869
54870         Add xmemdup0.
54871         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
54872         implementation.
54873         * lib/xmalloc.c (xmemdup0): New C implementation.
54874
54875 2008-05-08  Bruno Haible  <bruno@clisp.org>
54876
54877         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
54878
54879 2008-05-07  Eric Blake  <ebb9@byu.net>
54880
54881         Support cross-compilation of <wctype.h>.
54882         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
54883         AC_CACHE_CHECK.
54884
54885 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
54886
54887         * build-aux/vc-list-files: Add support for bzr.
54888
54889 2008-05-03  Jim Meyering  <meyering@redhat.com>
54890
54891         avoid failed assertion with tight malloc
54892         * tests/test-getndelim2.c: Correct an off-by-one assertion.
54893
54894 2008-05-03  Simon Josefsson  <simon@josefsson.org>
54895
54896         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
54897         are needed from arpa/inet.h.
54898         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
54899         Reported by Bruno Haible.
54900
54901 2008-05-02  Jim Meyering  <meyering@redhat.com>
54902
54903         avoid compilation error on FreeBSD 6
54904         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
54905
54906 2008-05-01  Jim Meyering  <meyering@redhat.com>
54907
54908         useless-if-before-free: correct --help's exit status description
54909         * build-aux/useless-if-before-free (usage): Like grep, exit 0
54910         for one or more matches, etc.  Reported by Bruno Haible.
54911
54912         vc-list-files: make the stand-alone gnulib test work
54913         * modules/vc-list-files-tests (configure.ac):
54914         Define and AC_SUBST abs_aux_dir.
54915         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
54916         $(abs_top_srcdir) to each script and having each of them
54917         duplicate the work of setting PATH, set PATH here, using
54918         the new variable, abs_aux_dir instead.
54919         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
54920         * tests/test-vc-list-files-git.sh: Likewise.
54921         Reported by Bruno Haible.
54922
54923 2008-05-01  Bruno Haible  <bruno@clisp.org>
54924
54925         * lib/getndelim2.c (getndelim2): Fix newsize computation during
54926         reallocation. Rename 'done' to 'found_delimiter'.
54927
54928 2008-05-01  Jim Meyering  <meyering@redhat.com>
54929
54930         vc-list-files: accommodate /bin/sh like the one from Solaris 10
54931         * build-aux/vc-list-files: Use `...`, not $(...).
54932
54933 2008-04-30  Jim Meyering  <meyering@redhat.com>
54934
54935         add tests for vc-list-files
54936         * modules/vc-list-files-tests: New module.
54937         * tests/test-vc-list-files-cvs.sh: New file.
54938         * tests/test-vc-list-files-git.sh: New file.
54939
54940         avoid a warning from gcc
54941         * lib/getndelim2.c (IF_LINT): Define.
54942         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
54943
54944         vc-list-files: work properly with build-aux/cvsu, too
54945         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
54946         to all cvs-based clauses.
54947
54948         vc-list-files: work properly in the CVS+awk case, too
54949         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
54950
54951         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
54952         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
54953         take more than one file argument, so .  Add quotes, just in case $dir
54954         ever contains a shell meta-character.  Prompted by Soren Hansen in
54955         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
54956
54957 2008-04-29  Eric Blake  <ebb9@byu.net>
54958
54959         Optimize getndelim2 to use block operations when possible.
54960         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
54961         freadseek, and memchr2.
54962         * lib/getndelim2.c (getndelim2): Use them for block reads.
54963
54964 2008-04-29  Bruno Haible  <bruno@clisp.org>
54965
54966         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
54967         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
54968         * modules/inet_ntop (Depends-on): Add extensions.
54969         * modules/inet_pton (Depends-on): Likewise.
54970         Reported by Simon Josefsson.
54971
54972 2008-04-29  Jim Meyering  <meyering@redhat.com>
54973
54974         When the is more than one match in a block, match all of them.
54975         * build-aux/useless-if-before-free: Iterate through each block
54976         until there are no more matches.
54977
54978         Fix broken useless-if-before-free script.
54979         * build-aux/useless-if-before-free: Fix typo: missing "?" after
54980         the expression to match cast of argument to free-like function.
54981
54982 2008-04-29  Eric Blake  <ebb9@byu.net>
54983
54984         Use new header.
54985         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
54986
54987 2008-04-29  Jim Meyering  <meyering@redhat.com>
54988
54989         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
54990         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
54991         by gnulib to exist and to declare e.g., inet_ntop.
54992         Don't include "inet_ntop.h", now removed.
54993
54994         * m4/arpa_inet_h.m4: Remove trailing blanks.
54995
54996 2008-04-29  Eric Blake  <ebb9@byu.net>
54997
54998         Silence valgrind on safe reads beyond potential array bounds.
54999         * lib/rawmemchr.valgrind: New file.
55000         * lib/strchrnul.valgrind: Likewise.
55001         * modules/rawmemchr (Files): Distribute new file.
55002         * modules/strchrnul (Files): Likewise.
55003         Suggested by Bruno Haible.
55004
55005 2008-04-29  Bruno Haible  <bruno@clisp.org>
55006
55007         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
55008         (inet_ntop, inet_pton): Change portability warning's wording.
55009         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
55010         Invoke gl_CHECK_NEXT_HEADERS.
55011         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
55012         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
55013         set ARPA_INET_H.
55014         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
55015         * modules/arpa_inet (Description): No longer only for systems that
55016         lack it.
55017         (Depends-on): Add include_next.
55018         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
55019         HAVE_ARPA_INET_H.
55020
55021 2008-04-29  Jim Meyering  <meyering@redhat.com>
55022
55023         * modules/mkdir (License): Re-license as LGPLv2+.
55024
55025 2008-04-29  Bruno Haible  <bruno@clisp.org>
55026
55027         * modules/rawmemchr (Maintainer): Set to Eric.
55028         * modules/strchrnul (Maintainer): Likewise.
55029
55030 2008-04-29  Simon Josefsson  <simon@josefsson.org>
55031
55032         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
55033         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
55034
55035         * modules/arpa_inet (arpa/inet.h): Use them.
55036
55037 2008-04-28  Eric Blake  <ebb9@byu.net>
55038
55039         Test getndelim2.
55040         * modules/getndelim2-tests: New file.
55041         * tests/test-getndelim2.c: Likewise.
55042         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
55043         stream.
55044         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
55045
55046         * MODULES.html.sh: Document new module.
55047
55048 2008-04-20  Bruno Haible  <bruno@clisp.org>
55049
55050         * lib/c-stack.c (die): Use raise.
55051         * modules/c-stack (Depends-on): Add raise.
55052
55053 2008-04-28  Bruno Haible  <bruno@clisp.org>
55054
55055         Expect rpmatch to be declared.
55056         * lib/yesno.c (rpmatch): Remove declaration.
55057
55058         Declare rpmatch.
55059         * lib/stdlib.in.h (rpmatch): New declaration.
55060         * lib/rpmatch.c: Include <stdlib.h> first.
55061         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
55062         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
55063         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
55064         HAVE_RPMATCH.
55065         * modules/rpmatch (Depends-on): Add stdlib, extensions.
55066         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
55067         (Include): Set to <stdlib.h>.
55068         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
55069         HAVE_RPMATCH.
55070         * NEWS: Document the change.
55071
55072 2008-04-28  Bruno Haible  <bruno@clisp.org>
55073
55074         Change rpmatch to use nl_langinfo when appropriate.
55075         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
55076         (N_): New macro.
55077         (localized_pattern): New function/macro.
55078         (try): Remove match, nomatch arguments. Copy the pattern into safe
55079         memory before caching it.
55080         (rpmatch): Use localized_pattern. Add translator comments.
55081         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
55082         Suggested by Eric Blake.
55083         * modules/rpmatch (Depends-on): Add stdbool.
55084
55085 2008-04-28  Eric Blake  <ebb9@byu.net>
55086
55087         Add rawmemchr module, matching glibc.
55088         * modules/string (Makefile.am): New indicator.
55089         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
55090         * lib/string.in.h (rawmemchr): Declare when appropriate.
55091         * modules/rawmemchr: New file.
55092         * m4/rawmemchr.m4: Likewise.
55093         * lib/rawmemchr.c: Likewise.
55094         * modules/rawmemchr-tests: Likewise.
55095         * tests/test-rawmemchr.c: Likewise.
55096         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
55097         module.
55098         * modules/strchrnul (Depends-on): Add rawmemchr.
55099         * lib/strchrnul.c (strchrnul): Optimize a corner case.
55100
55101         Whitespace cleanup.
55102         * tests/test-strchrnul.c: Reindent.
55103         * lib/strchrnul.c: Likewise.
55104
55105         Optimize and test strchrnul.
55106         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
55107         * modules/strchrnul-tests: New file.
55108         * tests/test-strchrnul.c: Likewise.
55109
55110         Remove intprops dependency.
55111         * modules/memchr (Depends-on): Remove intprops.
55112         * modules/memrchr (Depends-on): Likewise.
55113         * modules/memchr2 (Depends-on): Likewise.
55114         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
55115         * lib/memrchr.c (__memrchr): Likewise.
55116         * lib/memrchr2.c (memchr2): Likewise.
55117         Reported by Simon Josefsson.
55118
55119 2008-04-28  Simon Josefsson  <simon@josefsson.org>
55120
55121         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
55122         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
55123
55124 2008-04-28  Simon Josefsson  <simon@josefsson.org>
55125
55126         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
55127
55128         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
55129
55130         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
55131
55132         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
55133         declarations.
55134         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
55135
55136         * m4/inet_pton.m4: Don't check for header files.
55137
55138         * m4/inet_ntop.m4: Don't check for header files.
55139
55140 2008-04-28  Simon Josefsson  <simon@josefsson.org>
55141
55142         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
55143         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
55144         trigger for cygwin).
55145         Reported by Bruno Haible  <bruno@clisp.org>.
55146
55147 2008-04-28  Bruno Haible  <bruno@clisp.org>
55148
55149         * doc/posix-functions/strdup.texi: Mention mingw problem.
55150
55151 2008-04-27  Bruno Haible  <bruno@clisp.org>
55152
55153         * modules/stat-time-tests (Depends-on): Add sleep.
55154         * tests/test-stat-time.c (force_unlink): New function.
55155         (cleanup): Use it.
55156         (test_mtime): Remove the ctime related tests.
55157         (test_ctime): New function, containing the ctime related tests.
55158         (main): Call test_ctime, except on native Windows platforms.
55159
55160 2008-04-27  Bruno Haible  <bruno@clisp.org>
55161
55162         * lib/rpmatch.c (rpmatch): Add some comments.
55163         Reported by James Youngman <jay@gnu.org>.
55164
55165 2008-04-27  Bruno Haible  <bruno@clisp.org>
55166
55167         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
55168         quiet NaNs.
55169
55170 2008-04-27  Bruno Haible  <bruno@clisp.org>
55171
55172         Make test-yesno.sh work on mingw.
55173         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
55174         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
55175         (main): Set stdin to binary mode.
55176         * modules/yesno-tests (Depends-on): Add binary-io.
55177
55178 2008-04-27  Bruno Haible  <bruno@clisp.org>
55179
55180         Fix 'isfinite' on x86, x86_64, ia64 platforms.
55181         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
55182         argument that lie outside the IEEE 854 domain.
55183         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
55184         (gl_ISFINITE): Use it.
55185         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
55186
55187 2008-04-27  Bruno Haible  <bruno@clisp.org>
55188
55189         Allow local renaming in config.h.
55190         * lib/memrchr.c (memrchr): Don't undefine outside libc.
55191
55192 2008-04-27  Bruno Haible  <bruno@clisp.org>
55193
55194         * lib/memchr.c (__memchr): Change type of 'i'.
55195         * lib/memchr2.c (memchr2): Likewise.
55196
55197 2008-04-26  Eric Blake  <ebb9@byu.net>
55198         and Bruno Haible  <bruno@clisp.org>
55199
55200         Optimize and test memrchr.
55201         * modules/memrchr (Depends-on): Add intprops.
55202         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
55203         * modules/memrchr-tests: New file.
55204         * tests/test-memrchr.c: New file.
55205
55206 2008-04-26  Bruno Haible  <bruno@clisp.org>
55207
55208         Add tentative support for DragonFly BSD.
55209         * lib/stdio-impl.h: Add macros for DragonFly BSD.
55210         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
55211         fp.
55212         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
55213         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
55214         * lib/fpurge.c (fpurge): Likewise.
55215         * lib/freadable.c (freaadable): Likewise.
55216         * lib/freadahead.c (freadahead): Likewise.
55217         * lib/freading.c (freading): Likewise.
55218         * lib/freadptr.c (freadptr): Likewise.
55219         * lib/freadseek.c (freadptrinc): Likewise.
55220         * lib/fseeko.c (fseeko): Likewise.
55221         * lib/fseterr.c (fseterr): Likewise.
55222         * lib/fwritable.c (fwritable): Likewise.
55223         * lib/fwriting.c (fwriting): Likewise.
55224
55225 2008-04-26  Bruno Haible  <bruno@clisp.org>
55226
55227         * lib/stdio-impl.h: New file.
55228         * lib/fbufmode.c: Include stdio-impl.h.
55229         (fbufmode): Use fp_, remove redundant #defines.
55230         * lib/fflush.c: Include stdio-impl.h.
55231         (clear_ungetc_buffer): Remove redundant #defines.
55232         * lib/fpurge.c: Include stdio-impl.h.
55233         (fpurge): Remove redundant #defines.
55234         * lib/freadable.c: Include stdio-impl.h.
55235         (freadable): Remove redundant #defines.
55236         * lib/freadahead.c: Include stdio-impl.h.
55237         (freadahead): Remove redundant #defines.
55238         * lib/freading.c: Include stdio-impl.h.
55239         (freading): Remove redundant #defines.
55240         * lib/freadptr.c: Include stdio-impl.h.
55241         (freadptr): Remove redundant #defines.
55242         * lib/freadseek.c: Include stdio-impl.h.
55243         (freadptrinc): Remove redundant #defines.
55244         * lib/fseeko.c: Include stdio-impl.h.
55245         (rpl_fseeko): Remove redundant #defines.
55246         * lib/fseterr.c: Include stdio-impl.h.
55247         (fseterr): Remove redundant #defines.
55248         * lib/fwritable.c: Include stdio-impl.h.
55249         (fwritable: Remove redundant #defines.
55250         * lib/fwriting.c: Include stdio-impl.h.
55251         (fwriting): Remove redundant #defines.
55252         * modules/fbufmode (Files): Add lib/stdio-impl.h.
55253         * modules/fflush (Files): Likewise.
55254         * modules/fpurge (Files): Likewise.
55255         * modules/freadable (Files): Likewise.
55256         * modules/freadahead (Files): Likewise.
55257         * modules/freading (Files): Likewise.
55258         * modules/freadptr (Files): Likewise.
55259         * modules/freadseek (Files): Likewise.
55260         * modules/fseeko (Files): Likewise.
55261         * modules/fseterr (Files): Likewise.
55262         * modules/fwritable (Files): Likewise.
55263         * modules/fwriting (Files): Likewise.
55264
55265 2008-04-26  Bruno Haible  <bruno@clisp.org>
55266
55267         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
55268         restore_seek_optimization, update_fpos_cache): New functions, extracted
55269         from rpl_fflush.
55270         (rpl_fflush): Use them.
55271         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
55272         (gl_REPLACE_FFLUSH): Use it.
55273
55274 2008-04-26  Bruno Haible  <bruno@clisp.org>
55275
55276         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
55277         on Solaris.
55278         * tests/test-xstrtoimax.sh: Likewise.
55279         * tests/test-xstrtoumax.sh: Likewise.
55280         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
55281
55282 2008-04-26  Bruno Haible  <bruno@clisp.org>
55283
55284         * modules/memchr-tests: New file.
55285         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
55286
55287 2008-04-26  Eric Blake  <ebb9@byu.net>
55288             Bruno Haible  <bruno@clisp.org>
55289
55290         * lib/memchr.c: Include intprops.h.
55291         (__memchr): Optimize parallel detection of matching bytes. Rename local
55292         variables. Add explanatory comments.
55293
55294 2008-04-26  Bruno Haible  <bruno@clisp.org>
55295
55296         Fix module 'memchr', broken since 2000-10-28.
55297         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
55298
55299 2008-04-26  Bruno Haible  <bruno@clisp.org>
55300
55301         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
55302         comments.
55303
55304 2008-04-25  Eric Blake  <ebb9@byu.net>
55305
55306         Use native fstatat on cygwin 1.7.0.
55307         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
55308         first.
55309
55310 2008-04-23  Eric Blake  <ebb9@byu.net>
55311
55312         Improve memchr2 performance.
55313         * lib/memchr2.c (memchr2): Further optimize parallel detection of
55314         NUL bytes.
55315         * modules/memchr2 (Depends-on): Use intprops.h.
55316
55317 2008-04-23  Simon Josefsson  <simon@josefsson.org>
55318
55319         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
55320         an inline function instead of a CPP macro.  Patch by Ben Pfaff
55321         <blp@cs.stanford.edu>.
55322
55323 2008-04-23  Simon Josefsson  <simon@josefsson.org>
55324
55325         * lib/arpa_inet.in.h: New file.
55326
55327         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
55328         (Makefile.am): Sed in substitute header file.
55329
55330         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
55331         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
55332
55333         * modules/inet_ntop (configure.ac): Use
55334         gl_ARPA_INET_MODULE_INDICATOR.
55335
55336         * modules/inet_pton (configure.ac): Use
55337         gl_ARPA_INET_MODULE_INDICATOR.
55338
55339 2008-04-22  Jim Meyering  <meyering@redhat.com>
55340
55341         * modules/verify (License): Re-license as LGPLv2+.
55342
55343 2008-04-22  Simon Josefsson  <simon@josefsson.org>
55344
55345         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
55346         parameter to void* as per POSIX standard (MinGW uses char*).
55347
55348 2008-04-21  Bruno Haible  <bruno@clisp.org>
55349
55350         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
55351         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
55352         Define to replacements if REPLACE_ISWCNTRL is 1.
55353         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
55354         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
55355         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
55356         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
55357         what it fixes.
55358         * doc/posix-functions/iswalpha.texi: Likewise.
55359         * doc/posix-functions/iswblank.texi: Likewise.
55360         * doc/posix-functions/iswcntrl.texi: Likewise.
55361         * doc/posix-functions/iswdigit.texi: Likewise.
55362         * doc/posix-functions/iswgraph.texi: Likewise.
55363         * doc/posix-functions/iswlower.texi: Likewise.
55364         * doc/posix-functions/iswprint.texi: Likewise.
55365         * doc/posix-functions/iswpunct.texi: Likewise.
55366         * doc/posix-functions/iswspace.texi: Likewise.
55367         * doc/posix-functions/iswupper.texi: Likewise.
55368         * doc/posix-functions/iswxdigit.texi: Likewise.
55369         Reported by Alain Guibert.
55370
55371 2008-04-21  Bruno Haible  <bruno@clisp.org>
55372
55373         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
55374         Patch by Alain Guibert.
55375
55376 2008-04-21  Bruno Haible  <bruno@clisp.org>
55377
55378         Fix test failures on mingw.
55379         * tests/test-xstrtol.c (print_no_progname): New function.
55380         (main): Install it in error_print_progname hook.
55381         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
55382         * tests/test-xstrtoimax.sh: Likewise.
55383         * tests/test-xstrtoumax.sh: Likewise.
55384
55385 2008-04-21  Bruno Haible  <bruno@clisp.org>
55386
55387         Fix test failure on mingw.
55388         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
55389
55390 2008-04-21  Bruno Haible  <bruno@clisp.org>
55391
55392         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
55393         Actually assign a value.
55394
55395 2008-04-20  Bruno Haible  <bruno@clisp.org>
55396
55397         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
55398         take 2.
55399         * lib/canonicalize.c (canonicalize_file_name): Elide if the
55400         'canonicalize-lgpl' module is also used.
55401         * lib/canonicalize-lgpl.c: Undo last change.
55402         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
55403
55404 2008-04-20  Bruno Haible  <bruno@clisp.org>
55405
55406         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
55407         config.h. Provide _mkdir based fallback for mingw.
55408         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
55409         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
55410         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
55411         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
55412         rather than defining mkdir in config.h.
55413         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
55414         (gl_SYS_STAT_H_DEFAULTS): New macro.
55415         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
55416         HAVE_IO_H any more.
55417         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
55418         HAVE_DECL_MKDIR and HAVE_IO_H.
55419
55420 2008-04-20  Bruno Haible  <bruno@clisp.org>
55421
55422         * lib/isapipe.c: Port to native Windows platforms.
55423
55424 2008-04-20  Bruno Haible  <bruno@clisp.org>
55425
55426         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
55427
55428 2008-04-21  Eric Blake  <ebb9@byu.net>
55429
55430         Work around preprocessors that don't handle UINTMAX_MAX.
55431         * lib/memchr2.c (memchr2): Avoid embedded #if.
55432         Reported by Alain Guibert, fix suggested by Bruno Haible.
55433
55434 2008-04-21  Simon Josefsson  <simon@josefsson.org>
55435
55436         * doc/posix-functions/strftime.texi (strftime): Explain better
55437         Windows incompatibility.  Suggested by Micah Cowan
55438         <micah@cowan.name>.
55439
55440 2008-04-20  Bruno Haible  <bruno@clisp.org>
55441
55442         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
55443         unistr/u8-mblen.
55444
55445 2008-04-20  Bruno Haible  <bruno@clisp.org>
55446
55447         Fix test failure on platforms with non-GNU iconv.
55448         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
55449         (U_TO_U8): Use it, rather than u16_to_u8.
55450         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
55451         units at the end of the input string.
55452         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
55453
55454 2008-04-20  Bruno Haible  <bruno@clisp.org>
55455
55456         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
55457         when the resulting length is 0.
55458         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
55459
55460 2008-04-20  Bruno Haible  <bruno@clisp.org>
55461
55462         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
55463         works.
55464         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
55465
55466 2008-04-20  Bruno Haible  <bruno@clisp.org>
55467
55468         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
55469         * modules/tsearch-tests (configure.ac): Test for initstate function.
55470
55471 2008-04-20  Bruno Haible  <bruno@clisp.org>
55472
55473         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
55474         for nlink_t if missing.
55475         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
55476
55477 2008-04-19  Bruno Haible  <bruno@clisp.org>
55478
55479         Work around snprintf bug on Linux libc5.
55480         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
55481         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
55482         gl_SNPRINTF_SIZE1.
55483         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
55484         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
55485         that test failed.
55486         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
55487         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
55488         * modules/snprintf (Files): Add m4/printf.m4.
55489         * modules/vsnprintf (Files): Likewise.
55490         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
55491         * doc/posix-functions/vsnprintf.texi: Likewise.
55492
55493 2008-04-19  Bruno Haible  <bruno@clisp.org>
55494
55495         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
55496         from 0.0058 to less than 10^-7.
55497
55498 2008-04-19  Bruno Haible  <bruno@clisp.org>
55499
55500         Fix rounding when a precision is given.
55501         * lib/vasnprintf.c (is_borderline): New function.
55502         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
55503         9...9x.
55504         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
55505         %e, %g.
55506         * tests/test-vasprintf-posix.c (test_function): Likewise.
55507         * tests/test-snprintf-posix.h (test_function): Likewise.
55508         * tests/test-sprintf-posix.h (test_function): Likewise.
55509         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
55510         * tests/test-printf-posix.h (test_function): Likewise.
55511         * tests/test-printf-posix.output: Update.
55512         Reported by John Darrington <john@darrington.wattle.id.au> via
55513         Ben Pfaff <blp@cs.stanford.edu>.
55514
55515 2008-04-18  Simon Josefsson  <simon@josefsson.org>
55516
55517         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
55518         Suggested by Bruno Haible <bruno@clisp.org>.
55519
55520 2008-04-17  Bruno Haible  <bruno@clisp.org>
55521
55522         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
55523         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
55524         implementation.
55525         Patch by Bruce Merry <bmerry@gmail.com>.
55526
55527 2008-04-17  Simon Josefsson  <simon@josefsson.org>
55528
55529         * doc/posix-functions/strftime.texi (strftime): Mention that %e
55530         doesn't work under Windows.
55531
55532 2008-04-16  Bruno Haible  <bruno@clisp.org>
55533
55534         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
55535         New macros.
55536         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
55537         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
55538         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
55539         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
55540         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
55541         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
55542         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
55543         macros.
55544         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
55545         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
55546         Northern Sotho, Uighur.
55547
55548 2008-04-16  Bruno Haible  <bruno@clisp.org>
55549
55550         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
55551         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
55552         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
55553         Reported by Daniel Bergström <daniel@octocode.com>.
55554
55555 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
55556             Bruno Haible  <bruno@clisp.org>
55557
55558         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
55559         function.
55560         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
55561         New functions, mostly extracted from gl_locale_name_default.
55562         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
55563
55564 2008-04-16  Eric Blake  <ebb9@byu.net>
55565
55566         Adjust strtod detection to catch glibc 2.7 bug.
55567         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
55568         Reported by John Gatewood Ham.
55569
55570 2008-04-16  Bruno Haible  <bruno@clisp.org>
55571
55572         Add tentative support for Linux libc5.
55573         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
55574         * lib/fpurge.c (fpurge): Likewise.
55575         * lib/freadable.c (freadable): Likewise.
55576         * lib/freadahead.c (freadahead): Likewise.
55577         * lib/freading.c (freading): Likewise.
55578         * lib/freadptr.c (freadptr): Likewise.
55579         * lib/freadseek.c (freadptrinc): Likewise.
55580         * lib/fseeko.c (rpl_fseeko): Likewise.
55581         * lib/fseterr.c (fseterr): Likewise.
55582         * lib/fwritable.c (fwritable): Likewise.
55583         * lib/fwriting.c (fwriting): Likewise.
55584         Reported by Alain Guibert <alguibert+bts@free.fr>.
55585
55586 2008-04-15  Bruno Haible  <bruno@clisp.org>
55587
55588         * modules/mathl (configure.ac): Define module indicator.
55589
55590 2008-04-15  Bruno Haible  <bruno@clisp.org>
55591
55592         * lib/logl.c (logl): Remove unused variables.
55593
55594 2008-04-15  Bruno Haible  <bruno@clisp.org>
55595
55596         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
55597         fails.
55598
55599 2008-04-15  Bruno Haible  <bruno@clisp.org>
55600
55601         * lib/trim.c (trim2): Fix argument of isspace() macro.
55602
55603 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
55604
55605         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
55606         to 0.
55607         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
55608
55609 2008-04-14  Bruno Haible  <bruno@clisp.org>
55610
55611         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
55612         AC_LANG_PROGRAM argument.
55613         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
55614         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
55615         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
55616         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
55617         * m4/math_h.m4 (gl_MATH_H): Likewise.
55618         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
55619         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
55620         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
55621         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
55622         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
55623         * m4/regex.m4 (gl_REGEX): Likewise.
55624         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
55625         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
55626         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
55627         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
55628         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
55629         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
55630         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
55631         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
55632
55633 2008-04-14  Jim Meyering  <meyering@redhat.com>
55634
55635         test-strtod: fix typos: s/abs/fabs/
55636         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
55637
55638 2008-04-13  Bruno Haible  <bruno@clisp.org>
55639
55640         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
55641         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
55642         module is also used and while not building the reloc-wrapper.
55643
55644 2008-04-13  Bruno Haible  <bruno@clisp.org>
55645
55646         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
55647
55648 2008-04-13  Bruno Haible  <bruno@clisp.org>
55649
55650         Fix AIX compilation failure introduced on 2008-04-02.
55651         * tests/test-frexp.c (exp): Undefine before redefining.
55652         * tests/test-frexpl.c (exp): Likewise.
55653
55654 2008-04-13  Bruno Haible  <bruno@clisp.org>
55655
55656         Work around a HP-UX stdio bug.
55657         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
55658         * tests/test-ftello.c (main): Likewise.
55659         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
55660         * doc/posix-functions/ftello.texi: Likewise.
55661
55662 2008-04-13  Bruno Haible  <bruno@clisp.org>
55663
55664         Make test-signbit pass on HP-UX/hppa.
55665         * tests/test-signbit.c (minus_zerol): New variable.
55666         (test_signbitl): Use it.
55667
55668 2008-04-13  Bruno Haible  <bruno@clisp.org>
55669
55670         Make truncl work on OSF/1 4.0.
55671         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
55672         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
55673         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
55674         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
55675         HAVE_DECL_TRUNCL.
55676         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
55677         HAVE_DECL_TRUNCL.
55678         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
55679
55680 2008-04-13  Bruno Haible  <bruno@clisp.org>
55681
55682         * lib/unictype.h: Remove trailing comma from enumeration definitions.
55683
55684 2008-04-13  Bruno Haible  <bruno@clisp.org>
55685
55686         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
55687         expression, so as to avoid HP-UX 11 cc compiler bug.
55688
55689 2008-04-13  Bruno Haible  <bruno@clisp.org>
55690
55691         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
55692
55693 2008-04-13  Bruno Haible  <bruno@clisp.org>
55694
55695         * lib/git-merge-changelog.c: Remove empty declaration outside of
55696         functions.
55697
55698 2008-04-13  Bruno Haible  <bruno@clisp.org>
55699
55700         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
55701
55702 2008-04-13  Bruno Haible  <bruno@clisp.org>
55703
55704         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
55705         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
55706         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
55707         also if it exists but lacks definitions of the SHUT_* macros.
55708         * modules/sys_socket (Description): Update.
55709         Reported by Elbert Pol <e.pol@chello.nl>.
55710
55711 2008-04-13  Bruno Haible  <bruno@clisp.org>
55712
55713         * lib/localcharset.c (OS2): Don't redefine if already defined.
55714         Reported by Elbert Pol <e.pol@chello.nl>.
55715
55716 2008-04-13  Bruno Haible  <bruno@clisp.org>
55717
55718         * lib/binary-io.h [__EMX__]: Include <io.h>.
55719         Reported by Elbert Pol <e.pol@chello.nl>.
55720
55721 2008-04-12  Bruno Haible  <bruno@clisp.org>
55722
55723         * lib/fpucw.h: Enable the definitions also for x86_64.
55724         Needed for NetBSD/x86_64.
55725         Reported by Thomas Klausner <tk@giga.or.at>.
55726
55727 2008-04-12  Bruno Haible  <bruno@clisp.org>
55728
55729         * tests/test-strtod.c: Include isnand.h.
55730         (main): Use isnand instead of isnan.
55731         Reported by Jim Meyering.
55732
55733 2008-04-12  Bruno Haible  <bruno@clisp.org>
55734
55735         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
55736         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
55737
55738 2008-04-12  Jim Meyering  <meyering@redhat.com>
55739
55740         * m4/math_h.m4 (gl_MATH_H): Fix typos.
55741
55742 2008-04-12  Bruno Haible  <bruno@clisp.org>
55743
55744         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
55745         Reported by Elbert Pol <e.pol@chello.nl>.
55746
55747 2008-04-12  Eric Blake  <ebb9@byu.net>
55748
55749         Work around Solaris 10 math.h bug.
55750         * m4/math_h.m4 (gl_MATH_H): Check for bug.
55751         (gl_MATH_H_DEFAULTS): Set up default.
55752         * modules/math (Makefile.am): Replace new indicators.
55753         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
55754         * tests/test-math.c (main): Test this.
55755         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
55756         * doc/posix-headers/math.texi (math.h): Mention bug.
55757         Reported by Nelson H. F. Beebe and Jim Meyering.
55758
55759 2008-04-11  Bruno Haible  <bruno@clisp.org>
55760
55761         Adapt to future versions of Apple GCC.
55762         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
55763         Reported by Peter O'Gorman <peter@pogma.com>.
55764
55765 2008-04-11  Bruno Haible  <bruno@clisp.org>
55766
55767         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
55768
55769 2008-04-11  Bruno Haible  <bruno@clisp.org>
55770
55771         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
55772
55773         * modules/getaddrinfo-tests (Makefile.am): Define
55774         test_getaddrinfo_LDADD.
55775
55776 2008-04-11  Bruno Haible  <bruno@clisp.org>
55777
55778         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
55779         (init): Fix syntax error.
55780         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
55781         is declared.
55782
55783 2008-04-11  Bruno Haible  <bruno@clisp.org>
55784
55785         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
55786         * modules/glob (Depends-on): Add stdbool.
55787
55788 2008-04-11  Bruno Haible  <bruno@clisp.org>
55789
55790         * lib/trim.c: Include <string.h>.
55791
55792 2008-04-11  Eric Blake  <ebb9@byu.net>
55793
55794         Avoid compile failure on OS/2.
55795         * lib/regex_internal.h (internal_function): Disable optimization
55796         on OS/2 (__EMX__), where it caused compiler error.
55797         Reported by Elbert Pol.
55798
55799 2008-04-11  Bruno Haible  <bruno@clisp.org>
55800
55801         Flush the standard error stream before aborting. Needed on mingw.
55802         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
55803         * tests/test-array_list.c (ASSERT): Likewise.
55804         * tests/test-array_oset.c (ASSERT): Likewise.
55805         * tests/test-avltree_list.c (ASSERT): Likewise.
55806         * tests/test-avltree_oset.c (ASSERT): Likewise.
55807         * tests/test-avltreehash_list.c (ASSERT): Likewise.
55808         * tests/test-binary-io.c (ASSERT): Likewise.
55809         * tests/test-byteswap.c (ASSERT): Likewise.
55810         * tests/test-c-ctype.c (ASSERT): Likewise.
55811         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
55812         * tests/test-c-strcasestr.c (ASSERT): Likewise.
55813         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
55814         * tests/test-c-strstr.c (ASSERT): Likewise.
55815         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
55816         * tests/test-canonicalize.c (ASSERT): Likewise.
55817         * tests/test-carray_list.c (ASSERT): Likewise.
55818         * tests/test-ceilf1.c (ASSERT): Likewise.
55819         * tests/test-ceilf2.c (ASSERT): Likewise.
55820         * tests/test-ceill.c (ASSERT): Likewise.
55821         * tests/test-count-one-bits.c (ASSERT): Likewise.
55822         * tests/test-fbufmode.c (ASSERT): Likewise.
55823         * tests/test-fflush2.c (ASSERT): Likewise.
55824         * tests/test-floorf1.c (ASSERT): Likewise.
55825         * tests/test-floorf2.c (ASSERT): Likewise.
55826         * tests/test-floorl.c (ASSERT): Likewise.
55827         * tests/test-fopen.c (ASSERT): Likewise.
55828         * tests/test-fpending.c (ASSERT): Likewise.
55829         * tests/test-fprintf-posix.c (ASSERT): Likewise.
55830         * tests/test-fpurge.c (ASSERT): Likewise.
55831         * tests/test-freadable.c (ASSERT): Likewise.
55832         * tests/test-freadahead.c (ASSERT): Likewise.
55833         * tests/test-freading.c (ASSERT): Likewise.
55834         * tests/test-freadptr.c (ASSERT): Likewise.
55835         * tests/test-freadptr2.c (ASSERT): Likewise.
55836         * tests/test-freadseek.c (ASSERT): Likewise.
55837         * tests/test-freopen.c (ASSERT): Likewise.
55838         * tests/test-frexp.c (ASSERT): Likewise.
55839         * tests/test-frexpl.c (ASSERT): Likewise.
55840         * tests/test-fseek.c (ASSERT): Likewise.
55841         * tests/test-fseeko.c (ASSERT): Likewise.
55842         * tests/test-fstrcmp.c (ASSERT): Likewise.
55843         * tests/test-ftell.c (ASSERT): Likewise.
55844         * tests/test-ftello.c (ASSERT): Likewise.
55845         * tests/test-func.c (ASSERT): Likewise.
55846         * tests/test-fwritable.c (ASSERT): Likewise.
55847         * tests/test-fwriting.c (ASSERT): Likewise.
55848         * tests/test-getdelim.c (ASSERT): Likewise.
55849         * tests/test-getline.c (ASSERT): Likewise.
55850         * tests/test-i-ring.c (ASSERT): Likewise.
55851         * tests/test-iconv-utf.c (ASSERT): Likewise.
55852         * tests/test-iconv.c (ASSERT): Likewise.
55853         * tests/test-isfinite.c (ASSERT): Likewise.
55854         * tests/test-isnand.c (ASSERT): Likewise.
55855         * tests/test-isnanf.c (ASSERT): Likewise.
55856         * tests/test-isnanl.h (ASSERT): Likewise.
55857         * tests/test-ldexpl.c (ASSERT): Likewise.
55858         * tests/test-linked_list.c (ASSERT): Likewise.
55859         * tests/test-linkedhash_list.c (ASSERT): Likewise.
55860         * tests/test-localename.c (ASSERT): Likewise.
55861         * tests/test-lseek.c (ASSERT): Likewise.
55862         * tests/test-mbscasecmp.c (ASSERT): Likewise.
55863         * tests/test-mbscasestr1.c (ASSERT): Likewise.
55864         * tests/test-mbscasestr2.c (ASSERT): Likewise.
55865         * tests/test-mbscasestr3.c (ASSERT): Likewise.
55866         * tests/test-mbscasestr4.c (ASSERT): Likewise.
55867         * tests/test-mbschr.c (ASSERT): Likewise.
55868         * tests/test-mbscspn.c (ASSERT): Likewise.
55869         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
55870         * tests/test-mbspbrk.c (ASSERT): Likewise.
55871         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
55872         * tests/test-mbsrchr.c (ASSERT): Likewise.
55873         * tests/test-mbsspn.c (ASSERT): Likewise.
55874         * tests/test-mbsstr1.c (ASSERT): Likewise.
55875         * tests/test-mbsstr2.c (ASSERT): Likewise.
55876         * tests/test-mbsstr3.c (ASSERT): Likewise.
55877         * tests/test-memchr2.c (ASSERT): Likewise.
55878         * tests/test-memmem.c (ASSERT): Likewise.
55879         * tests/test-open.c (ASSERT): Likewise.
55880         * tests/test-printf-frexp.c (ASSERT): Likewise.
55881         * tests/test-printf-frexpl.c (ASSERT): Likewise.
55882         * tests/test-printf-posix.c (ASSERT): Likewise.
55883         * tests/test-quotearg.c (ASSERT): Likewise.
55884         * tests/test-rbtree_list.c (ASSERT): Likewise.
55885         * tests/test-rbtree_oset.c (ASSERT): Likewise.
55886         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
55887         * tests/test-round1.c (ASSERT): Likewise.
55888         * tests/test-roundf1.c (ASSERT): Likewise.
55889         * tests/test-roundl.c (ASSERT): Likewise.
55890         * tests/test-signbit.c (ASSERT): Likewise.
55891         * tests/test-sleep.c (ASSERT): Likewise.
55892         * tests/test-snprintf-posix.c (ASSERT): Likewise.
55893         * tests/test-snprintf.c (ASSERT): Likewise.
55894         * tests/test-sprintf-posix.c (ASSERT): Likewise.
55895         * tests/test-stat-time.c (ASSERT): Likewise.
55896         * tests/test-strcasestr.c (ASSERT): Likewise.
55897         * tests/test-strerror.c (ASSERT): Likewise.
55898         * tests/test-striconv.c (ASSERT): Likewise.
55899         * tests/test-striconveh.c (ASSERT): Likewise.
55900         * tests/test-striconveha.c (ASSERT): Likewise.
55901         * tests/test-strsignal.c (ASSERT): Likewise.
55902         * tests/test-strstr.c (ASSERT): Likewise.
55903         * tests/test-strtod.c (ASSERT): Likewise.
55904         * tests/test-trunc1.c (ASSERT): Likewise.
55905         * tests/test-trunc2.c (ASSERT): Likewise.
55906         * tests/test-truncf1.c (ASSERT): Likewise.
55907         * tests/test-truncf2.c (ASSERT): Likewise.
55908         * tests/test-truncl.c (ASSERT): Likewise.
55909         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
55910         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
55911         * tests/test-vasnprintf.c (ASSERT): Likewise.
55912         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
55913         * tests/test-vasprintf.c (ASSERT): Likewise.
55914         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
55915         * tests/test-vprintf-posix.c (ASSERT): Likewise.
55916         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
55917         * tests/test-vsnprintf.c (ASSERT): Likewise.
55918         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
55919         * tests/test-wcwidth.c (ASSERT): Likewise.
55920         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
55921         * tests/test-xprintf-posix.c (ASSERT): Likewise.
55922         * tests/test-xvasprintf.c (ASSERT): Likewise.
55923         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
55924         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
55925         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
55926         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
55927         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
55928         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
55929         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
55930         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
55931         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
55932         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
55933         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
55934         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
55935         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
55936         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
55937         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
55938         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
55939         * tests/unictype/test-block_list.c (ASSERT): Likewise.
55940         * tests/unictype/test-block_of.c (ASSERT): Likewise.
55941         * tests/unictype/test-block_test.c (ASSERT): Likewise.
55942         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
55943         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
55944         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
55945         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
55946         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
55947         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
55948         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
55949         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
55950         * tests/unictype/test-combining.c (ASSERT): Likewise.
55951         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
55952         * tests/unictype/test-digit.c (ASSERT): Likewise.
55953         * tests/unictype/test-mirror.c (ASSERT): Likewise.
55954         * tests/unictype/test-numeric.c (ASSERT): Likewise.
55955         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
55956         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
55957         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
55958         * tests/unictype/test-scripts.c (ASSERT): Likewise.
55959         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
55960         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
55961         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
55962         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
55963         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
55964         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
55965         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
55966         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
55967         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
55968         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
55969         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
55970         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
55971         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
55972         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
55973         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
55974         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
55975         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
55976         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
55977         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
55978         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
55979         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
55980         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
55981         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
55982         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
55983         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
55984         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
55985         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
55986         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
55987         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
55988         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
55989         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
55990         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
55991         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
55992         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
55993         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
55994         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
55995         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
55996         Reported by Eric Blake.
55997
55998 2008-04-11  Bruno Haible  <bruno@clisp.org>
55999
56000         * lib/wchar.in.h: Tweak comment.
56001
56002 2008-04-11  Bruno Haible  <bruno@clisp.org>
56003
56004         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
56005         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
56006         gl_COMMON.
56007         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
56008
56009 2008-04-11  Bruno Haible  <bruno@clisp.org>
56010
56011         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
56012
56013 2008-04-11  Simon Josefsson  <simon@josefsson.org>
56014
56015         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
56016         of attempting to use non-existing /dev/*random.  Based on patch
56017         from Adam Strzelecki <ono@java.pl> in
56018         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
56019
56020 2008-04-08  Bruno Haible  <bruno@clisp.org>
56021
56022         Add tentative support for emx+gcc.
56023         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
56024         * lib/fpurge.c (fpurge): Likewise.
56025         * lib/freadable.c (freadable): Likewise.
56026         * lib/freadahead.c (freadahead): Likewise.
56027         * lib/freading.c (freading): Likewise.
56028         * lib/freadptr.c (freadptr): Likewise.
56029         * lib/freadseek.c (freadptrinc): Likewise.
56030         * lib/fseeko.c (rpl_fseeko): Likewise.
56031         * lib/fseterr.c (fseterr): Likewise.
56032         * lib/fwritable.c (fwritable): Likewise.
56033         * lib/fwriting.c (fwriting): Likewise.
56034         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
56035
56036 2008-04-09  Eric Blake  <ebb9@byu.net>
56037
56038         Avoid some autoconf warnings.
56039         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
56040         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
56041         * m4/afs.m4 (gl_AFS): Likewise.
56042         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
56043         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
56044         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
56045         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
56046         (gl_INTEGER_TYPE_SUFFIX): Likewise.
56047         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
56048         (AC_CHECK_DECLS_ONCE): Likewise.
56049         Rename file...
56050         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
56051         gnulib-tool requires autoconf 2.59 or better.
56052         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
56053
56054 2008-04-08  Eric Blake  <ebb9@byu.net>
56055
56056         Use 'git describe --match' if present (added in git 1.5.5).
56057         * build-aux/git-version-gen: Limit result to tags that match 'v*'
56058         if possible.
56059
56060 2008-04-08  Bruno Haible  <bruno@clisp.org>
56061
56062         Add tentative support for OpenServer.
56063         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
56064         _ptr, _cnt.
56065         * lib/fpurge.c (fpurge): Likewise.
56066         * lib/freadable.c (freadable): Likewise.
56067         * lib/freadahead.c (freadahead): Likewise.
56068         * lib/freading.c (freading): Likewise.
56069         * lib/freadptr.c (freadptr): Likewise.
56070         * lib/freadseek.c (freadptrinc): Likewise.
56071         * lib/fseeko.c (rpl_fseeko): Likewise.
56072         * lib/fseterr.c (fseterr): Likewise.
56073         * lib/fwritable.c (fwritable): Likewise.
56074         * lib/fwriting.c (fwriting): Likewise.
56075         Reported by Roger Cornelius <rac@tenzing.org> and
56076         Brian K. White <brian@aljex.com>.
56077
56078 2008-04-06  Jim Meyering  <meyering@redhat.com>
56079
56080         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
56081
56082 2008-04-06  Bruno Haible  <bruno@clisp.org>
56083
56084         Avoid possible error with non-ASCII bytes in UTF-8 locales.
56085         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
56086         * tests/test-printf-posix.sh: Likewise.
56087         * tests/test-vfprintf-posix.sh: Likewise.
56088         * tests/test-vprintf-posix.sh: Likewise.
56089         * tests/test-xprintf-posix.sh: Likewise.
56090
56091 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56092
56093         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
56094         hide error from 'ls', needed on OS/2.
56095         Report by Elbert Pol <elbert.pol@gmail.com>.
56096
56097 2008-04-04  Eric Blake  <ebb9@byu.net>
56098
56099         Make test-fseeko.c failures meaningful.
56100         * tests/test-fseeko.c: Print line number on failure.
56101         * tests/test-fseek.c: Likewise.
56102         Reported by Nelson H. F. Beebe.
56103
56104         Improve strtod bug detection check.
56105         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
56106         required for Solaris 10.
56107         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
56108
56109 2008-04-04  Bruno Haible  <bruno@clisp.org>
56110
56111         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
56112         by m4/setenv.m4.
56113
56114 2008-04-03  Eric Blake  <ebb9@byu.net>
56115
56116         Ensure sane .version contents.
56117         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
56118         version string.
56119         * build-aux/git-version-gen: Improve documentation.
56120
56121         Make GNU make output nicer.
56122         * top/GNUmakefile [!_have-Makefile]: Add dependency on
56123         MAKECMDGOALS to enforce message for all command line targets.  Set
56124         srcdir for use in maint.mk.
56125
56126         Another maintainer tweak.
56127         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
56128         a target that regenerates version.
56129
56130 2008-04-03  Jim Meyering  <meyering@redhat.com>
56131
56132         vc-list-files: don't cause coreutils "make po-check" failure
56133         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
56134
56135 2008-04-03  Eric Blake  <ebb9@byu.net>
56136
56137         Allow VPATH usage of vc-list-files.
56138         * build-aux/vc-list-files (scriptversion): Add timestamp.
56139         (options): Add --help, --version, -C.
56140         (CVS): Support installed cvsu.
56141
56142 2008-04-02  Bruno Haible  <bruno@clisp.org>
56143
56144         Avoid some "statement with no effect" warnings from gcc.
56145         * tests/test-wctype.c (main): Explicitly ignore unused values.
56146         Reported by Jim Meyering.
56147
56148 2008-04-02  Jim Meyering  <meyering@redhat.com>
56149
56150         Avoid some warnings from "gcc -Wshadow".
56151         * tests/test-frexp.c (exp): Define to a different identifier.
56152         * tests/test-frexpl.c (exp): Likewise.
56153
56154 2008-04-03  Jim Meyering  <meyering@redhat.com>
56155
56156         bootstrap: remove dangling *.[ch] symlinks from lib
56157         * build-aux/bootstrap [dangling symlink removal]: Move find's
56158         -depth option to precede all others, to avoid a warning.
56159         Remove *.[ch] files too, and from "$source_base" (usually lib/).
56160
56161 2008-04-02  Bruno Haible  <bruno@clisp.org>
56162
56163         Avoid some warnings from "gcc -Wshadow".
56164         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
56165         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
56166         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
56167         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
56168         Reported by Jim Meyering.
56169
56170 2008-04-01  Bruno Haible  <bruno@clisp.org>
56171
56172         Fix test to work on IRIX 6.5 with cc.
56173         * tests/test-math.c (numeric_equal): New function.
56174         (main): Use it.
56175
56176 2008-04-01  Bruno Haible  <bruno@clisp.org>
56177
56178         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
56179
56180 2008-04-01  Bruno Haible  <bruno@clisp.org>
56181
56182         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
56183         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
56184         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
56185         (Depends-on): Remove math.
56186
56187         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
56188         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
56189         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
56190         (Depends-on): Remove math.
56191
56192         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
56193         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
56194         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
56195         (Depends-on): Remove math.
56196         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
56197         (Depends-on): Remove math.
56198
56199         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
56200         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
56201         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
56202         (Depends-on): Remove math.
56203         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
56204         (Depends-on): Remove math.
56205
56206         * tests/test-round1.c: Include nan.h.
56207         (main): Use NaNd instead of NAN.
56208         * modules/round-tests (Files): Add tests/nan.h.
56209
56210         * tests/test-trunc1.c: Include nan.h.
56211         (main): Use NaNd instead of NAN.
56212         * modules/trunc-tests (Files): Add tests/nan.h.
56213
56214         * tests/test-roundf1.c: Include nan.h.
56215         (main): Use NaNf instead of NAN.
56216         * modules/roundf-tests (Files): Add tests/nan.h.
56217
56218         * tests/test-truncf1.c: Include nan.h.
56219         (main): Use NaNf instead of NAN.
56220         * modules/truncf-tests (Files): Add tests/nan.h.
56221
56222         * tests/test-ceilf1.c: Include nan.h.
56223         (main): Use NaNf instead of NAN.
56224         * modules/ceilf-tests (Files): Add tests/nan.h.
56225
56226         * tests/test-floorf1.c: Include nan.h.
56227         (main): Use NaNf instead of NAN.
56228         * modules/floorf-tests (Files): Add tests/nan.h.
56229
56230         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
56231         (main): Use NaNf instead of NAN.
56232         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
56233
56234         * tests/test-isnand.c: Include nan.h instead of <math.h>.
56235         (main): Use NaNd instead of NAN.
56236         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
56237
56238         * tests/test-frexp.c: Include nan.h.
56239         (main): Use NaNd instead of NAN.
56240         * modules/frexp-tests (Files): Add tests/nan.h.
56241
56242         * lib/isnan.c: Don't include <math.h>.
56243         (FUNC): Don't use NAN macro.
56244         * modules/isnand-nolibm (Depends-on): Remove math.
56245         * modules/isnanf-nolibm (Depends-on): Remove math.
56246         * modules/isnanl (Depends-on): Remove math.
56247         * modules/isnanl-nolibm (Depends-on): Remove math.
56248
56249         * tests/nan.h: New file.
56250
56251 2008-04-01  Eric Blake  <ebb9@byu.net>
56252
56253         Fix typos.
56254         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
56255         values to be the right type.
56256
56257         For now, cater to gnulib strtod inaccuracies.
56258         * tests/test-strtod.c (main): Allow 1-ulp error on expected
56259         fractional results.  While not as nice from a QoI perspective, it
56260         is a quicker patch than correctly implementing decimal to binary
56261         rounding.
56262
56263 2008-03-31  Eric Blake  <ebb9@byu.net>
56264
56265         Guarantee a definition of NAN.
56266         * lib/math.in.h (NAN): Define if missing.
56267         * tests/test-math.c (main): Test it.
56268         * doc/posix-headers/math.texi (math.h): Document this.
56269         * lib/isnan.c (rpl_isnand): Use it.
56270         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
56271         * tests/test-floorf1.c (NaN): Likewise.
56272         * tests/test-frexp.c (NaN): Likewise.
56273         * tests/test-isnand.c (NaN): Likewise.
56274         * tests/test-isnanf.c (NaN): Likewise.
56275         * tests/test-round1.c (NaN): Likewise.
56276         * tests/test-roundf1.c (NaN): Likewise.
56277         * tests/test-snprintf-posix.h (NaN): Likewise.
56278         * tests/test-sprintf-posix.h (NaN): Likewise.
56279         * tests/test-trunc1.c (NaN): Likewise.
56280         * tests/test-truncf1.c (NaN): Likewise.
56281         * tests/test-vasnprintf-posix.c (NaN): Likewise.
56282         * tests/test-vasprintf-posix.c (NaN): Likewise.
56283         * modules/isnand-nolibm (Depends-on): Add math.
56284         * modules/isnanf-nolibm (Depends-on): Likewise.
56285         * modules/isnanl (Depends-on): Likewise.
56286         * modules/isnanl-nolibm (Depends-on): Likewise.
56287         * modules/snprintf-posix-tests (Depends-on): Likewise.
56288         * modules/sprintf-posix-tests (Depends-on): Likewise.
56289         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
56290         * modules/vsprintf-posix-tests (Depends-on): Likewise.
56291         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
56292         * modules/vasprintf-posix-tests (Depends-on): Likewise.
56293
56294 2008-03-31  Bruno Haible  <bruno@clisp.org>
56295
56296         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
56297         * doc/posix-functions/strtod.texi: Likewise.
56298
56299 2008-03-31  Bruno Haible  <bruno@clisp.org>
56300
56301         * tests/test-strtod.c (main): Don't use C99 syntax.
56302
56303 2008-03-31  Bruno Haible  <bruno@clisp.org>
56304
56305         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
56306         Reported by Eric Blake.
56307
56308 2008-03-31  Jim Meyering  <meyering@redhat.com>
56309
56310         Don't compare actual signbit return values.
56311         * tests/test-strtod.c (main): Rather, compare only their
56312         zero/non-zero nature.
56313
56314 2008-03-31  Eric Blake  <ebb9@byu.net>
56315
56316         More strtod documentation.
56317         * doc/posix-functions/strtod.texi (strtod): Interpret more test
56318         failures as distinct bugs.
56319
56320 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
56321
56322         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
56323         Problem reported by Erik Benada in
56324         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
56325
56326 2008-03-30  Bruno Haible  <bruno@clisp.org>
56327
56328         * tests/test-strtod.c: Add comments about which assertion fails on which
56329         platform.
56330         * doc/posix-functions/strtod.texi: Add info about many more platforms.
56331
56332 2008-03-30  Eric Blake  <ebb9@byu.net>
56333
56334         Test signbit behavior on zeros.
56335         * tests/test-signbit.c (test_signbitf): Add tests for zero.
56336         (test_signbitd, test_signbitl): Likewise.
56337
56338         More strtod touchups.
56339         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
56340         sign of negative underflow, for now.  Use .5, not .1.
56341         * doc/posix-functions/strtod.texi (strtod): Mention these
56342         limitations.
56343         Reported by Jim Meyering.
56344
56345 2008-03-30  Bruno Haible  <bruno@clisp.org>
56346
56347         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
56348         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
56349
56350 2008-03-30  Bruno Haible  <bruno@clisp.org>
56351
56352         Avoid failure when attempting to return empty iconv results on some
56353         platforms.
56354         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
56355         allocation, don't report ENOMEM when the resulting string is empty.
56356
56357 2008-03-30  Bruno Haible  <bruno@clisp.org>
56358
56359         Fix buffer overrun.
56360         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
56361         Don't consider the width for tmp_length. Check count against tmp_length
56362         before doing the padding. Ensure enough allocation during padding.
56363
56364 2008-03-30  Eric Blake  <ebb9@byu.net>
56365
56366         strtod touchups.
56367         * lib/strtod.c (strtod): Avoid compiler warnings.
56368         Reported by Jim Meyering.
56369
56370 2008-03-30  Bruno Haible  <bruno@clisp.org>
56371
56372         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
56373         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
56374         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
56375         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
56376         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
56377         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
56378         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
56379         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
56380
56381         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
56382         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
56383         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
56384         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
56385         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
56386         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
56387         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
56388         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
56389
56390         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
56391         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
56392         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
56393         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
56394         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
56395         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
56396         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
56397         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
56398
56399         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
56400         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
56401
56402         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
56403         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
56404
56405         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
56406         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
56407
56408         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
56409         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
56410         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
56411
56412         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
56413         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
56414         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
56415
56416         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
56417         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
56418         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
56419
56420         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
56421         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
56422         * modules/vasprintf (Depends-on): Add EOVERFLOW.
56423
56424         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
56425         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
56426         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
56427         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
56428         (Depends-on): Add EOVERFLOW.
56429         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
56430         (Depends-on): Add EOVERFLOW.
56431         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
56432         (Depends-on): Add EOVERFLOW.
56433         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
56434         (Depends-on): Add EOVERFLOW.
56435         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
56436         (Depends-on): Add EOVERFLOW.
56437         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
56438         (Depends-on): Add EOVERFLOW.
56439         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
56440         (Depends-on): Add EOVERFLOW.
56441         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
56442         (Depends-on): Add EOVERFLOW.
56443
56444         * lib/sprintf.c (EOVERFLOW): Remove fallback.
56445         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
56446         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
56447
56448         * lib/snprintf.c (EOVERFLOW): Remove fallback.
56449         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
56450         * modules/snprintf (Depends-on): Add EOVERFLOW.
56451
56452         * lib/poll.c (EOVERFLOW): Remove fallback.
56453         * modules/poll (Depends-on): Add EOVERFLOW.
56454
56455         * lib/getugroups.c (EOVERFLOW): Remove fallback.
56456         * modules/getugroups (Depends-on): Add EOVERFLOW.
56457
56458         * lib/getdelim.c (EOVERFLOW): Remove fallback.
56459         * modules/getdelim (Depends-on): Add EOVERFLOW.
56460
56461         * lib/ftell.c (EOVERFLOW): Remove fallback.
56462         * modules/ftell (Depends-on): Add EOVERFLOW.
56463
56464         * lib/fprintf.c (EOVERFLOW): Remove fallback.
56465         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
56466         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
56467
56468         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
56469
56470         * modules/EOVERFLOW-tests: New file.
56471         * tests/test-EOVERFLOW.c: New file.
56472
56473         * modules/EOVERFLOW: New file.
56474         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
56475
56476 2008-03-30  Bruno Haible  <bruno@clisp.org>
56477
56478         Fix bug introduced on 2007-06-10.
56479         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
56480         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
56481
56482 2008-03-30  Bruno Haible  <bruno@clisp.org>
56483
56484         Improve freadseek's efficiency after ungetc.
56485         * lib/freadseek.c: Include freadahead.h.
56486         (freadptrinc): New function, extracted from freadseek.
56487         (freadseek): Use it in a loop. Use freadahead to determine the number
56488         of loop iterations.
56489         * modules/freadseek (Depends-on): Add freadahead.
56490         (configure.ac): Require AC_C_INLINE.
56491
56492 2008-03-30  Bruno Haible  <bruno@clisp.org>
56493
56494         * lib/freadseek.c (freadseek): Don't ignore the return value of
56495         freadptr.
56496
56497 2008-03-29  Eric Blake  <ebb9@byu.net>
56498
56499         Add hex float support.
56500         * modules/strtod (Depends-on): Add c-ctype.
56501         (Link): Mention POW_LIB.
56502         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
56503         whitespace between 'e' and exponent.
56504         * tests/test-strtod.c (main): Enable hex float tests.
56505         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
56506         now provides.
56507
56508         Document various strtod bugs, with some fixes.
56509         * doc/posix-functions/strtod.texi (strtod): Document bugs with
56510         "-0x", "inf", "nan", and hex constants.
56511         * doc/posix-functions/atof.texi (atof): Likewise.
56512         * modules/stdlib (Makefile.am): Support strtod.
56513         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
56514         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
56515         detect additional strtod bugs.
56516         * lib/stdlib.in.h (rpl_strtod): Add declarations.
56517         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
56518         bool where appropriate.  Parse 'inf' and 'nan'.
56519         * tests/test-strtod.c: New file.
56520         * modules/strtod (Depends-on): Add stdbool, stdlib.
56521         (configure.ac): Turn on module indicator.
56522         * modules/strtod-tests: New module.
56523
56524 2008-03-29  Eric Blake  <ebb9@byu.net>
56525
56526         Fix ftell on mingw.
56527         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
56528         * modules/ftell-tests (Depends-on): Add binary-io.
56529         * modules/ftello-tests (Depends-on): Likewise.
56530         * tests/test-ftell.c (main): Enhance test to cover behavior after
56531         ungetc.  Enforce binary mode.
56532         * tests/test-ftello.c (main): Likewise.
56533
56534         Pass test-freadseek on cygwin.
56535         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
56536         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
56537         ungetc buffer.
56538
56539         * tests/test-fflush2.c (main): Fix typo.
56540
56541 2008-03-29  Bruno Haible  <bruno@clisp.org>
56542
56543         * tests/test-fflush2.c (main): Temporarily disable the contents of
56544         this test.
56545         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
56546         Reported by Eric Blake.
56547
56548 2008-03-28  Simon Josefsson  <simon@josefsson.org>
56549
56550         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
56551         (GC_SHA224_DIGEST_SIZE): Add.
56552
56553         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
56554         (gc_hash_digest_length): Likewise.
56555         (gc_hash_buffer): Likewise.
56556
56557 2008-03-25  Bruno Haible  <bruno@clisp.org>
56558
56559         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
56560         detail which gettext release to use.
56561         Reported by Simon Josefsson.
56562
56563 2008-03-26  Jim Meyering  <meyering@redhat.com>
56564
56565         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
56566         * modules/gnumakefile (clean-GNUmakefile): Also, use
56567         test ... && ... || : syntax rather than if-then ... fi.
56568
56569         gnumakefile: Don't double-quote-expand $(VPATH) value.
56570         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
56571
56572 2008-03-24  Eric Blake  <ebb9@byu.net>
56573
56574         Alter GNUmakefile to install into top directory.
56575         * modules/maintainer-makefile: Split, and add dependency...
56576         * modules/gnumakefile: to this new module.
56577         * build-aux/GNUmakefile: Move...
56578         * top/GNUmakefile: ...here.
56579         * build-aux/maint.mk: Move...
56580         * top/maint.mk: ...here.
56581         * MODULES.html.sh (Support for maintaining...): Document new
56582         module.
56583
56584 2008-03-23  Bruno Haible  <bruno@clisp.org>
56585
56586         * gnulib-tool: New options --vc-files, --no-vc-files.
56587         (func_usage): Document them.
56588         (vc_files): New variable.
56589         (func_import): Consider vc_files.
56590         (func_create_testdir): Set vc_files to empty.
56591         Suggested by Jim Meyering and Karl Berry.
56592
56593 2008-03-23  Bruno Haible  <bruno@clisp.org>
56594
56595         Fix regex compilation error on HP-UX 11.
56596         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
56597         * modules/regex (Files): Add m4/mbstate_t.m4.
56598         Reported by Ton Voon <ton.voon@altinity.com>.
56599
56600 2008-03-23  Bruno Haible  <bruno@clisp.org>
56601
56602         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
56603
56604 2008-03-23  Eric Blake  <ebb9@byu.net>
56605             Bruno Haible  <bruno@clisp.org>
56606
56607         Install files from top/ in the destination directory.
56608         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
56609         augmentation also for the files from top/.
56610         (func_import, func_create_testdir): Rewrite file names:
56611         top/filename -> filename.
56612
56613 2008-03-23  Bruno Haible  <bruno@clisp.org>
56614
56615         Tweak "gnulib --version" output.
56616         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
56617
56618 2008-03-23  Bruno Haible  <bruno@clisp.org>
56619
56620         Tweak "gnulib --version" output.
56621         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
56622         rather than contents of ChangeLog, when possible.
56623
56624 2008-03-21  Eric Blake  <ebb9@byu.net>
56625
56626         More --version tweaks.
56627         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
56628         date of last ChangeLog entry.
56629
56630 2008-03-21  Jim Meyering  <meyering@redhat.com>
56631
56632         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
56633
56634 2008-03-20  Eric Blake  <ebb9@byu.net>
56635
56636         VPATH fix.
56637         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
56638
56639 2008-03-20  Simon Josefsson  <simon@josefsson.org>
56640
56641         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
56642         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
56643
56644 2008-03-20  Eric Blake  <ebb9@byu.net>
56645
56646         Sync GNUmakefile with coreutils.
56647         * build-aux/GNUmakefile (have-Makefile): Rename...
56648         (_have-Makefile): ...to this, for namespace consideration.
56649         (GNUmakefile.cfg): Include, if present.
56650         (_autoreconf): Define a default.
56651         (_is-dist-target): New rule for rebuilds to pick up intra-release
56652         version.
56653         (maint-cfg.mk): Rename...
56654         (cfg.mk): ...to this.
56655
56656 2008-03-18  Jim Meyering  <meyering@redhat.com>
56657
56658         New script and module: mktempd
56659         * MODULES.html.sh (maint+release support): Add mktempd.
56660         * build-aux/mktempd: New file.
56661         * modules/mktempd: New file.
56662
56663 2008-03-15  Jim Meyering  <meyering@redhat.com>
56664
56665         Undo last change.
56666         * lib/sha1.c, lib/md5.c: 63 != ~63.
56667         Reported by Andreas Schwab.
56668
56669         sha1.c, md5.c: Hoist a redundant expression.
56670         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
56671         "ctx->buflen" only once, before calling *_process_block.
56672         * lib/md5.c (md5_process_bytes): Likewise.
56673
56674 2008-03-14  Eric Blake  <ebb9@byu.net>
56675
56676         Bump copyright year in files generated by gnulib-tool.
56677         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
56678         gnulib-tool, rather than hard-coding it.
56679
56680         Fix 'gnulib-tool --version' output to work with git.
56681         * gnulib-tool (func_gnulib_dir): New function, extracted from...
56682         (startup): ...here.
56683         (func_version): Use it to invoke git-version-gen, rather than
56684         relying on CVS keyword expansion.  Modernize wording.
56685         (cvsdatestamp, last_checkin_date, version): Kill unused
56686         variables.
56687
56688 2008-03-12  Jim Meyering  <meyering@redhat.com>
56689
56690         Recognize optional cast of the argument to free.
56691         * build-aux/useless-if-before-free: Update regexps.
56692
56693         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
56694
56695 2008-03-11  Bruno Haible  <bruno@clisp.org>
56696
56697         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
56698         by a single package.
56699         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
56700         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
56701         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
56702         Reported by Sam Steingold <sds@gnu.org>.
56703
56704 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
56705
56706         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
56707         repositories.
56708
56709 2008-03-11  Bruno Haible  <bruno@clisp.org>
56710
56711         Avoid conflicts between local macro definitions.
56712         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
56713         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
56714
56715 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
56716             Bruno Haible  <bruno@clisp.org>
56717
56718         Make va_copy work with some version of xlc on AIX 5.1.
56719         * lib/stdarg.in.h: New file.
56720         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
56721         On AIX, use a <stdarg.h> file substitute.
56722         * modules/stdarg (Files): Add lib/stdarg.in.h.
56723         (Depends-on): Add include_next.
56724         (Makefile.am): Build a stdarg.h substitute if requested.
56725         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
56726
56727 2008-03-10  Bruno Haible  <bruno@clisp.org>
56728
56729         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
56730         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
56731         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
56732
56733 2008-03-10  Bruno Haible  <bruno@clisp.org>
56734
56735         * modules/stdlib (Depends-on): Add include_next, remove
56736         absolute-header.
56737
56738 2008-03-09  Bruno Haible  <bruno@clisp.org>
56739
56740         * lib/freadahead.h (freadahead): Document more precisely.
56741         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
56742         the sum of both buffer sizes.
56743         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
56744         * NEWS: Document the change.
56745
56746 2008-03-09  Bruno Haible  <bruno@clisp.org>
56747
56748         Extend freadptr to return also the buffer size.
56749         * lib/freadptr.h (freadptr): Add sizep argument.
56750         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
56751         (freadptr): Add sizep argument. Determine buffer size like freadahead
56752         does.
56753         * tests/test-freadptr.c: Don't include freadahead.h.
56754         (main): Adapt for new calling convention of freadptr.
56755         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
56756         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
56757         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
56758         tests/test-freadptr2.sh.
56759         (Depends): Remove freadahead.
56760         (TESTS): Add test-freadptr2.sh.
56761         (check_PROGRAMS): Add test-freadptr2.
56762
56763 2008-03-09  Bruno Haible  <bruno@clisp.org>
56764
56765         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
56766         Report and solution by Simon Josefsson.
56767
56768 2008-03-06  Bruno Haible  <bruno@clisp.org>
56769
56770         Make fflush after ungetc work on BSD platforms.
56771         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
56772         * tests/test-fflush2.c: New file.
56773         * tests/test-fflush2.sh: New file.
56774         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
56775         tests/test-fflush2.c.
56776         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
56777         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
56778
56779 2008-03-06  Eric Blake  <ebb9@byu.net>
56780
56781         Likewise for ftello.
56782         * modules/ftello (Dependencies): Add extensions.
56783         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
56784
56785 2008-03-06  Bruno Haible  <bruno@clisp.org>
56786
56787         * modules/fseeko (Dependencies): Add extensions.
56788         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
56789         Needed on glibc systems.
56790
56791 2008-03-06  Bruno Haible  <bruno@clisp.org>
56792
56793         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
56794         email address.
56795         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
56796
56797 2008-03-06  Bruno Haible  <bruno@clisp.org>
56798
56799         * users.txt: Add libgnupdf.
56800
56801 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
56802
56803         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
56804         (Header File Substitutes, Function Substitutes,
56805         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
56806         (Build robot for gnulib): Fix typo.
56807
56808 2008-03-06  Bruno Haible  <bruno@clisp.org>
56809
56810         * doc/gnulib-tool.texi (VCS Issues): Small updates.
56811         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
56812
56813 2008-03-06  Bruno Haible  <bruno@clisp.org>
56814
56815         * doc/func.texi: New file, extracted from doc/gnulib.texi.
56816         * doc/gnulib.texi: Include it.
56817
56818 2008-03-06  Simon Josefsson  <simon@josefsson.org>
56819
56820         * modules/func (License): Change license to unlimited; there was
56821         no LGPL parts in the module anyway.
56822
56823 2008-03-06  Simon Josefsson  <simon@josefsson.org>
56824
56825         * modules/__func__: Renamed to modules/func.
56826         * modules/__func__-tests: Renamed to modules/func-tests.
56827         * tests/test-__func__.c: Renamed to tests/test-func.c.
56828         * m4/__func__.m4: Renamed to m4/func.m4.
56829         * doc/gnulib.texi (__func__): Section renamed to func.
56830         Suggested by Eric Blake <ebb9@byu.net>.
56831
56832 2008-03-06  Simon Josefsson  <simon@josefsson.org>
56833
56834         * doc/gnulib.texi (__func__): Use C99 terminology when talking
56835         about __func__.  Make example self-contained.  Suggested by Eric
56836         Blake <ebb9@byu.net>.
56837
56838         * tests/test-__func__.c (main): Avoid extraneous () around __func.
56839         Suggested by Eric Blake <ebb9@byu.net>.
56840
56841 2008-03-06  Simon Josefsson  <simon@josefsson.org>
56842
56843         * modules/__func__: New file.
56844         * modules/__func__-tests: New file.
56845         * tests/test-__func__.c: New file.
56846         * m4/__func__.m4: New file.
56847         * doc/gnulib.texi (__func__): Document __func__ module.
56848
56849 2008-03-05  Simon Josefsson  <simon@josefsson.org>
56850
56851         * modules/byteswap (License): Re-license as LGPLv2+.
56852
56853 2008-03-05  Simon Josefsson  <simon@josefsson.org>
56854
56855         * doc/Makefile: Add pdf target.
56856
56857 2008-03-05  Simon Josefsson  <simon@josefsson.org>
56858
56859         * modules/inline (License): Use 'unlimited', since there are only
56860         *.m4 files in this module.
56861
56862 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
56863             Bruno Haible  <bruno@clisp.org>
56864
56865         Add support for HP C 7.1 on OpenVMS 8.3.
56866         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
56867
56868 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
56869
56870         Update VMS specifics.
56871         * lib/getopt.c [VMS]: Remove include of unixlib.h.
56872
56873 2008-03-02  Jim Meyering  <meyering@redhat.com>
56874
56875         Remove the last dependency on the "free" module.
56876         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
56877         Reported by Bob Proulx.
56878
56879         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
56880
56881         Remove useless "if" tests before free.  Deprecate "free" module.
56882         * doc/posix-functions/free.texi: Mention that this
56883         module is no longer useful.
56884         * modules/free (Notice): Say this module is obsolete.
56885         * modules/readutmp (Depends-on): Remove free.
56886         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
56887         * lib/putenv.c (putenv): Likewise.
56888         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
56889         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
56890         * tests/test-c-strcasestr.c (main): Likewise.
56891         * tests/test-c-strstr.c (main): Likewise.
56892         * tests/test-mbscasestr1.c (main): Likewise.
56893         * tests/test-mbscasestr2.c (main): Likewise.
56894         * tests/test-mbsstr1.c (main): Likewise.
56895         * tests/test-mbsstr2.c (main): Likewise.
56896         * tests/test-memmem.c (main): Likewise.
56897         * tests/test-strcasestr.c (main): Likewise.
56898         * tests/test-striconv.c (main): Likewise.
56899         * tests/test-striconveh.c (main): Likewise.
56900         * tests/test-striconveha.c (main): Likewise.
56901         * tests/test-strstr.c (main): Likewise.
56902
56903         * build-aux/git-version-gen: Adjust a comment and the Usage string.
56904
56905         bootstrap: sync from coreutils again
56906         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
56907
56908 2008-03-01  Jim Meyering  <meyering@redhat.com>
56909
56910         bootstrap: sync from coreutils
56911         * build-aux/bootstrap (update_po_files): Copy a .po file into place
56912         also when the target doesn't exist.
56913
56914 2008-03-01  Eric Blake  <ebb9@byu.net>
56915
56916         Fix bugs in last patch.
56917         * lib/memchr2.c (memchr2): Fix typo.
56918         * tests/test-memchr2.c: Test previous bug, and don't use GNU
56919         extension.
56920         Reported by Bruce Korb.
56921
56922         New module 'memchr2'.
56923         * modules/memchr2: New file.
56924         * modules/memchr2-tests: Likewise.
56925         * lib/memchr2.h: Likewise.
56926         * lib/memchr2.c: Likewise, based on memchr.c.
56927         * tests/test-memchr2.c: New test.
56928         * MODULES.html.sh (String handling): Add memchr2.
56929
56930 2008-02-29  Bruno Haible  <bruno@clisp.org>
56931
56932         * modules/freadseek-tests: New file.
56933         * tests/test-freadseek.sh: New file.
56934         * tests/test-freadseek.c: New file.
56935
56936         New module 'freadseek'.
56937         * modules/freadseek: New file.
56938         * lib/freadseek.h: New file.
56939         * lib/freadseek.c: New file.
56940         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
56941
56942 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
56943
56944         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
56945         wydawca.
56946
56947         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
56948         program_invocation_name and program_invocation_short_name are
56949         present.
56950
56951 2008-02-28  Bruno Haible  <bruno@clisp.org>
56952
56953         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
56954         * tests/test-freadptr.sh: Also test non-seekable stdin.
56955
56956 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
56957
56958         * build-aux/bootstrap (source_base, m4_base)
56959         (doc_base, tests_base): New variables.
56960         (gnulib_tool_options): Do not hardcode base directories, use
56961         the above variables instead.
56962
56963 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
56964
56965         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
56966
56967 2008-02-28  Bruno Haible  <bruno@clisp.org>
56968
56969         * modules/freadptr-tests: New file.
56970         * tests/test-freadptr.sh: New file.
56971         * tests/test-freadptr.c: New file.
56972
56973         New module 'freadptr'.
56974         * modules/freadptr: New file.
56975         * lib/freadptr.h: New file.
56976         * lib/freadptr.c: New file.
56977         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
56978
56979 2008-02-26  Karl Berry  <karl@freefriends.org>
56980
56981         Sync from Libtool:
56982         * libltdl/argz.c (argz_add, argz_count): New functions.
56983         * libltdl/argz.in.h: Declare them.
56984         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
56985
56986 2008-02-22  Bruno Haible  <bruno@clisp.org>
56987
56988         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
56989         is a pointer type.  Needed for HP-UX 10.
56990         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
56991         * doc/posix-functions/gmtime_r.texi: Likewise.
56992         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
56993
56994 2008-02-24  Bruno Haible  <bruno@clisp.org>
56995
56996         * modules/environ-tests: New file.
56997         * tests/test-environ.c: New file.
56998
56999         New module 'environ'.
57000         * modules/environ: New file.
57001         * lib/unistd.in.h (environ): New declaration.
57002         * m4/environ.m4: New file.
57003         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
57004         after use.
57005         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
57006         HAVE_DECL_ENVIRON.
57007         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
57008         HAVE_DECL_ENVIRON.
57009         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
57010         wrong claim that 'environ' is missing on some systems.
57011         * modules/execute (Depends-on): Add environ.
57012         * lib/execute.c (environ): Remove fallback declaration.
57013         * modules/pipe (Depends-on): Add environ.
57014         * lib/pipe.c (environ): Remove fallback declaration.
57015         * modules/setenv (Depends-on): Add environ.
57016         * lib/setenv.c (environ): Remove fallback declaration.
57017         * modules/unsetenv (Depends-on): Add environ.
57018         * lib/unsetenv.c (environ): Remove fallback declaration.
57019         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
57020         m4/environ.m4.
57021         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
57022         (gl_PREREQ_UNSETENV): Likewise.
57023
57024 2008-02-24  Bruno Haible  <bruno@clisp.org>
57025
57026         * doc/posix-functions/environ.texi: Document the MacOS X problem.
57027
57028 2008-02-20  Bob Proulx  <bob@proulx.com>
57029
57030         Enable use of older two part flavor 'git describe'.
57031         * build-aux/git-version-gen: If using the older two part flavor of
57032         git version then recreate the third part now present in the
57033         newer three part flavor of git describe.
57034
57035 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
57036
57037         * lib/fts.c (fts_build): Typo correction to comment.
57038
57039 2008-02-17  Bruno Haible  <bruno@clisp.org>
57040
57041         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
57042         generating no-op conflicts.
57043
57044 2008-02-17  Bruno Haible  <bruno@clisp.org>
57045
57046         Speed up by 10%.
57047         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
57048         result_entries, rather than an index-based loop.
57049
57050 2008-02-17  Bruno Haible  <bruno@clisp.org>
57051
57052         Speed up by 25%.
57053         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
57054         'hashcode_cached'.
57055         (entry_create): New function.
57056         (entry_hashcode): Use the cached hashcode if possible.
57057         (read_changelog_file, try_split_merged_entry): Use entry_create.
57058
57059 2008-02-17  Bruno Haible  <bruno@clisp.org>
57060
57061         Speed up from O(n^2) to O(n) for long ChangeLog files.
57062         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
57063         (read_changelog_file): Change implementation of entries_reversed list
57064         to rbtreehash.
57065         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
57066
57067 2008-02-17  Bruno Haible  <bruno@clisp.org>
57068
57069         New option --split-merged-entry.
57070         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
57071         (find_paragraph_end, try_split_merged_entry): New functions.
57072         (long_options): Add option --split-merged-entry.
57073         (usage): Document option --split-merged-entry.
57074         (main): Implement option --split-merged-entry.
57075         Reported by Eric Blake.
57076
57077 2008-02-17  Bruno Haible  <bruno@clisp.org>
57078
57079         * lib/git-merge-changelog.c: Include c-strstr.h.
57080         (main): Support the "git pull --rebase" situation.
57081         * modules/git-merge-changelog (Depends-on): Add c-strstr.
57082         Reported by Eric Blake.
57083
57084 2008-02-16  Eric Blake  <ebb9@byu.net>
57085
57086         Avoid doubling \ in common case of "c-maybe" quoting style.
57087         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
57088         eliding outer quotes.
57089         * lib/quotearg.h: Document this.
57090         * tests/test-quotearg.c (result_strings, inputs, results_g)
57091         (flag_results, locale_results): Test it by adding a new string to
57092         each test group.
57093         (compare_strings): Test new string.
57094
57095 2008-02-13  Eric Blake  <ebb9@byu.net>
57096
57097         Avoid trigraph quoting in default output.
57098         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
57099         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
57100         unless explicitly requested.
57101         * tests/test-quotearg.c (flag_results, main): Add additional tests.
57102
57103 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
57104
57105         Don't rely on signed integer overflowing to negative value.
57106         * lib/getugroups.c (getugroups): Include <limits.h>.
57107         Instead, compare against INT_MAX, and increment only if the test passes.
57108
57109 2008-02-13  Jim Meyering  <meyering@redhat.com>
57110         and Eric Blake  <ebb9@byu.net>
57111
57112         Avoid shadowing warning and compile errors on Linux.
57113         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
57114         forwarding macros on Linux.
57115         (dcgettext): Define a stub, for Linux.
57116         (results_g, main): Avoid warnings.
57117
57118 2008-02-12  Eric Blake  <ebb9@byu.net>
57119
57120         Silence warning in last patch.
57121         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
57122
57123         Quotearg part 4: add tests, fix c-maybe colon quoting.
57124         * lib/quotearg.h: Improve documentation.
57125         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
57126         escapes when adding outer quotes.  When quoting trigraphs, use
57127         valid C notation.  When quoting NUL, omit extra characters if next
57128         character is not digit.  Alter prototype.
57129         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
57130         callers.
57131         * modules/quotearg-tests: New module.
57132         * tests/test-quotearg.c: New test.
57133
57134 2008-02-07  Eric Blake  <ebb9@byu.net>
57135
57136         Quotearg part 3: add flag to control outer quote elision.
57137         * lib/quotearg.h (c_maybe_quoting_style): New style.
57138         (enum quoting_flags): Better documentation of flags.
57139         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
57140         c-maybe style.
57141         (quotearg_buffer_restyled): Handle new flag to elide outer
57142         quotes.
57143
57144         Quotearg part 2: add flag that can control NUL elision.
57145         * lib/quotearg.h (set_quoting_flags): New prototype.
57146         * lib/quotearg.c (struct quoting_options): Add flag field.
57147         (set_quoting_flags): New function.
57148         (quotearg_buffer_restyled): Add flags parameter.
57149         (quotearg_alloc_mem): Set the flag if length cannot be returned.
57150         (quotearg_n_options): Set the flag, since length cannot be
57151         returned.
57152         (quoting_options_from_style): Default flags correctly.
57153
57154         Quotearg part 1: more wrappers, restore quotearg_char state.
57155         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
57156         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
57157         (quotearg_colon_mem): New wrappers.
57158         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
57159         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
57160         functions.
57161         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
57162         (quotearg_colon_mem): New functions.
57163
57164 2008-02-11  Bruno Haible  <bruno@clisp.org>
57165
57166         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
57167         library in the current directory: it does not work with parallel make.
57168         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
57169
57170 2008-02-11  Bruno Haible  <bruno@clisp.org>
57171
57172         * .gitattributes: New file.
57173
57174 2008-02-11  Jim Meyering  <meyering@redhat.com>
57175
57176         useless-if-before-free: Fix reversed exit values.
57177         * build-aux/useless-if-before-free: Use correct values
57178         for EXIT_MATCH and EXIT_NO_MATCH.
57179
57180         * build-aux/useless-if-before-free: Close stdout carefully.
57181
57182 2008-02-10  Bruno Haible  <bruno@clisp.org>
57183
57184         New module 'git-merge-changelog'.
57185         * modules/git-merge-changelog: New file.
57186         * lib/git-merge-changelog.c: New file.
57187
57188 2008-02-10  Jim Meyering  <meyering@redhat.com>
57189
57190         useless-if-before-free: New option: --list (-l).
57191
57192         useless-if-before-free: Don't exit immediately upon open failure.
57193         * build-aux/useless-if-before-free: Exit 2 for errors.
57194         Upon failure to open a file, don't exit immediately.
57195         Rather, just warn and continue with any remaining files.
57196
57197 2008-02-10  Bruno Haible  <bruno@clisp.org>
57198
57199         New abstract list operation 'node_set_value'.
57200         * lib/gl_list.h (gl_list_node_set_value): New function.
57201         (struct gl_list_implementation): New field node_set_value.
57202         * lib/gl_list.c (gl_list_node_set_value): New function.
57203         * lib/gl_array_list.c (gl_array_node_set_value): New function.
57204         (gl_array_list_implementation): Update.
57205         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
57206         (gl_carray_list_implementation): Update.
57207         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
57208         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
57209         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
57210         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
57211         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
57212         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
57213         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
57214         Update.
57215         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
57216         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
57217         (gl_sublist_list_implementation): Update.
57218
57219 2008-02-10  Bruno Haible  <bruno@clisp.org>
57220
57221         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
57222         Needed when ELEMENT is #defined to 'some_type *'.
57223
57224 2008-02-10  Jim Meyering  <meyering@redhat.com>
57225
57226         New script and module: useless-if-before-free
57227         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
57228         * build-aux/useless-if-before-free: New file.
57229         * modules/useless-if-before-free: New file.
57230
57231         * build-aux/gitlog-to-changelog: Use committer date, not author date.
57232
57233         xstrtol_error: Fix typo.
57234         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
57235         s/exit_failure/exit_status/.
57236
57237 2008-02-09  Jim Meyering  <meyering@redhat.com>
57238
57239         New script and module: gitlog-to-changelog
57240         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
57241         * modules/gitlog-to-changelog: New file.
57242         * build-aux/gitlog-to-changelog: New file.
57243
57244 2008-02-08  Jim Meyering  <meyering@redhat.com>
57245
57246         Avoid two "parameter unused" warnings.
57247         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
57248         Mark "st" as used.
57249
57250         Use "git COMMAND", not "git-COMMAND".
57251         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
57252         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
57253         * build-aux/git-version-gen: Use "git status", not "git-status".
57254
57255 2008-02-07  Bruno Haible  <bruno@clisp.org>
57256
57257         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
57258         Avoids a crash on Windows Vista.
57259         Reported by Adam Strzelecki <ono@java.pl> via
57260         Simon Josefsson <simon@josefsson.org>.
57261
57262 2008-02-06  Bruno Haible  <bruno@clisp.org>
57263
57264         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
57265         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
57266         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
57267         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
57268         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
57269         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
57270         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
57271         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
57272         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
57273         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
57274         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
57275         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
57276         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
57277         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
57278         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
57279         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
57280         left-adjust flag.
57281         * tests/test-snprintf-posix.h (test_function): Likewise.
57282         * tests/test-sprintf-posix.h (test_function): Likewise.
57283         * tests/test-vasprintf-posix.c (test_function): Likewise.
57284         * doc/posix-functions/fprintf.texi: Update.
57285         * doc/posix-functions/printf.texi: Update.
57286         * doc/posix-functions/snprintf.texi: Update.
57287         * doc/posix-functions/sprintf.texi: Update.
57288         * doc/posix-functions/vfprintf.texi: Update.
57289         * doc/posix-functions/vprintf.texi: Update.
57290         * doc/posix-functions/vsnprintf.texi: Update.
57291         * doc/posix-functions/vsprintf.texi: Update.
57292         Reported by Peter Fales <psfales@alcatel-lucent.com>.
57293
57294 2008-02-06  Bruno Haible  <bruno@clisp.org>
57295
57296         Fix bug introduced on 2008-01-26.
57297         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
57298
57299 2008-02-06  Bruno Haible  <bruno@clisp.org>
57300
57301         Fix bug introduced on 2007-06-10.
57302         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
57303         !NEED_PRINTF_FLAG_ZERO.
57304
57305 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
57306
57307         getloadavg: use libperfstat on AIX5
57308         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
57309
57310 2008-02-03  Bruno Haible  <bruno@clisp.org>
57311
57312         * lib/diffseq.h: Add comments about required #includes.
57313         Reported by Michael Biggs <gnulib@doubleplum.net>.
57314
57315 2008-02-01  Bruno Haible  <bruno@clisp.org>
57316
57317         * users.txt: Add gnuit.
57318
57319 2008-01-31  Bruno Haible  <bruno@clisp.org>
57320
57321         * lib/md4.c (set_uint32): Mark as inline.
57322         * lib/md5.c (set_uint32): Likewise.
57323         * lib/sha1.c (set_uint32): Likewise.
57324         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
57325         * m4/md5.m4 (gl_MD5): Likewise.
57326         * m4/sha1.m4 (gl_SHA1): Likewise.
57327
57328 2008-01-31  Jim Meyering  <meyering@redhat.com>
57329
57330         Use "sizeof VAR", rather than a literal "4".
57331         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
57332         * lib/md4.c (md4_read_ctx): Likewise.
57333         * lib/sha1.c (sha1_read_ctx): Likewise.
57334
57335 2008-01-31  Simon Josefsson  <simon@josefsson.org>
57336
57337         * tests/test-sha1.c: New file, based on test-md5.c.
57338
57339         * modules/crypto/sha1-tests: New file.
57340
57341 2008-01-31  Simon Josefsson  <simon@josefsson.org>
57342
57343         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
57344
57345 2008-01-31  Jim Meyering  <meyering@redhat.com>
57346
57347         Prefer "sizeof v" over the equivalent "4".
57348         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
57349         * lib/md5.c (set_uint32): Likewise.
57350         * lib/sha1.c (set_uint32): Likewise.
57351
57352 2008-01-31  Simon Josefsson  <simon@josefsson.org>
57353
57354         * lib/sha1.c (set_uint32): Mark function as static.
57355
57356 2008-01-31  Simon Josefsson  <simon@josefsson.org>
57357
57358         md2: clarify comments to say that alignment is not required.
57359         * lib/md2.h: Remove warning about alignment in comment.
57360         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
57361         never been required.
57362
57363 2008-01-31  Simon Josefsson  <simon@josefsson.org>
57364
57365         md4: adapt alignment constraint fix from sha1.
57366         * lib/md4.c (set_uint32): New function, from sha1.c
57367         (md4_read_ctx): Use it.
57368         (md4_finish_ctx): Doc fix.
57369         * lib/md4.h: Doc fix.
57370
57371 2008-01-31  Simon Josefsson  <simon@josefsson.org>
57372
57373         md5: adapt alignment constraint fix from sha1.
57374         * lib/md5.c (set_uint32): New function, from sha1.c
57375         (md5_read_ctx): Use it.
57376         (md5_finish_ctx): Doc fix.
57377         * lib/md5.h: Doc fix.
57378
57379 2008-01-30  Peter Palfrader  <weasel@debian.org>
57380
57381         sha1: remove the result buffer alignment constraint
57382         * lib/sha1.c (set_uint32): New function.
57383         (sha1_read_ctx): Rewrite to remove the result buffer alignment
57384         constraint.
57385         (sha1_finish_ctx): Remove comment warning about alignment constraint.
57386         * lib/sha1.h: Likewise.
57387
57388 2008-01-30  Andreas Schwab  <schwab@suse.de>
57389             Bruno Haible  <bruno@clisp.org>
57390
57391         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
57392         correct definition of LDBL_MIN_EXP.
57393
57394 2008-01-30  Karl Berry  <karl@gnu.org>
57395
57396         * config/srclist-update: try to preserve x bit on updates.
57397         * config/srclistvars.sh: update for karl.
57398
57399 2008-01-29  Jim Meyering  <meyering@redhat.com>
57400
57401         vasnprintf.c: Avoid warning about unused label
57402         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
57403         "overflow" label definition and associated code with the
57404         same cpp condition that guards the sole use of that label.
57405
57406 2008-01-26  Bruno Haible  <bruno@clisp.org>
57407
57408         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
57409         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
57410         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
57411         * lib/isnanl-nolibm.h (isnanl): Likewise.
57412         Reported by Paul Eggert <eggert@cs.ucla.edu>.
57413
57414 2008-01-26  Bruno Haible  <bruno@clisp.org>
57415
57416         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
57417         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
57418
57419 2008-01-26  Bruno Haible  <bruno@clisp.org>
57420
57421         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
57422         GCC >= 4.0 built-in.
57423         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
57424
57425 2008-01-26  Bruno Haible  <bruno@clisp.org>
57426
57427         Rename isnan, applicable to 'double' only, to isnand.
57428         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
57429         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
57430         (configure.ac): Update.
57431         (Include): Replace "isnan.h" with "isnand.h".
57432         * m4/isnand.m4: Renamed from m4/isnan.m4.
57433         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
57434         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
57435         instead of isnan.c.
57436         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
57437         instead of HAVE_ISNAN_IN_LIBC.
57438         (isnand): Renamed from isnan.
57439         * lib/isnand.c: New file.
57440         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
57441         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
57442         (Makefile.am): Update.
57443         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
57444         Include isnand.h instead of isnan.h.
57445         (main): Test isnand instead of isnan.
57446         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
57447         isnan-nolibm.
57448         * modules/frexp (Depends-on): Likewise.
57449         * modules/frexp-tests (Depends-on): Likewise.
57450         * modules/frexp-nolibm (Depends-on): Likewise.
57451         * modules/frexp-nolibm-tests (Depends-on): Likewise.
57452         * modules/isfinite (Depends-on): Likewise.
57453         * modules/round-tests (Depends-on): Likewise.
57454         * modules/signbit (Depends-on): Likewise.
57455         * modules/signbit-tests (Depends-on): Likewise.
57456         * modules/snprintf-posix (Depends-on): Likewise.
57457         * modules/sprintf-posix (Depends-on): Likewise.
57458         * modules/trunc-tests (Depends-on): Likewise.
57459         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
57460         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
57461         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
57462         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
57463         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
57464         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
57465         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
57466         * modules/vasnprintf-posix (Depends-on): Likewise.
57467         * modules/vasprintf-posix (Depends-on): Likewise.
57468         * modules/vfprintf-posix (Depends-on): Likewise.
57469         * modules/vsnprintf-posix (Depends-on): Likewise.
57470         * modules/vsprintf-posix (Depends-on): Likewise.
57471         * lib/frexp.c: Include isnand.h instead of isnan.h.
57472         (ISNAN): Set to isnand instead of isnan.
57473         * lib/isfinite.c: Include isnand.h instead of isnan.h.
57474         (gl_isfinited): Use isnand instead of isnan.
57475         * lib/signbitd.c: Include isnand.h instead of isnan.h.
57476         (gl_signbitd): Use isnand instead of isnan.
57477         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
57478         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
57479         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
57480         (main): Use isnand instead of isnan.
57481         * tests/test-round1.c: Include isnand.h.
57482         (main): Use isnand instead of isnan.
57483         * tests/test-round2.c: Include isnand.h instead of isnan.h.
57484         (ISNAN): Set to isnand instead of isnan.
57485         * tests/test-trunc1.c: Include isnand.h.
57486         (main): Use isnand instead of isnan.
57487         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
57488         (equal): Use isnand instead of isnan.
57489         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
57490         isnand-nolibm.
57491         * NEWS: Mention the change.
57492
57493 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
57494             Bruno Haible  <bruno@clisp.org>
57495
57496         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
57497         the GCC builtins for signbits are present and set
57498         REPLACE_SIGNBIT_USING_GCC if so.
57499         * lib/math.in.h (signbit): Define using GCC builtins if
57500         REPLACE_SIGNBIT_USING_GCC is set.
57501         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
57502         REPLACE_SIGNBIT_USING_GCC.
57503         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
57504
57505 2008-01-25  Jim Meyering  <meyering@redhat.com>
57506
57507         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
57508         * lib/poll.c: Include <config.h>, not "config.h".
57509         * tests/test-getaddrinfo.c: Likewise.
57510
57511 2008-01-25  Simon Josefsson  <simon@josefsson.org>
57512
57513         * modules/sockets-tests: New file.
57514
57515 2008-01-24  Simon Josefsson  <simon@josefsson.org>
57516
57517         * modules/sockets: New module, can be used to call WSA_Startup and
57518         WSA_Cleanup when needed.
57519
57520         * lib/sockets.h, lib/sockets.c: New files.
57521
57522         * m4/sockets.m4: New file.
57523
57524         * tests/test-sockets.c: New file.
57525
57526 2008-01-19  Bruno Haible  <bruno@clisp.org>
57527
57528         * doc/posix-headers: Renamed from doc/headers.
57529         * doc/posix-functions: Renamed from doc/functions.
57530         * doc/gnulib.texi: Update.
57531
57532 2008-01-19  Bruno Haible  <bruno@clisp.org>
57533
57534         * doc/glibc-functions/strcasestr.texi: Include contents of
57535         doc/functions/strcasestr.texi, fixing the list of platforms.
57536         * doc/functions/strcasestr.texi: Remove file.
57537
57538 2008-01-19  Bruno Haible  <bruno@clisp.org>
57539
57540         * doc/glibc-functions/memmem.texi: Include contents of
57541         doc/functions/memmem.texi.
57542         * doc/functions/memmem.texi: Remove file.
57543
57544 2008-01-18  Bruno Haible  <bruno@clisp.org>
57545
57546         * doc/glibc-functions/*.texi: New files.
57547         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
57548         to use the new files.
57549
57550 2008-01-17  Bruno Haible  <bruno@clisp.org>
57551
57552         * tests/test-gethostname.c (main): Fix printf statement.
57553
57554 2008-01-17  Simon Josefsson  <simon@josefsson.org>
57555
57556         * modules/gethostname-tests: New file.
57557
57558         * tests/test-gethostname.c: New file.
57559
57560 2008-01-17  Simon Josefsson  <simon@josefsson.org>
57561
57562         * lib/gethostname.c: Include string.h unconditionally, strncpy is
57563         used by the UNAME case.  Reported by Bruno Haible
57564         <bruno@clisp.org>.
57565
57566 2008-01-17  Eric Blake  <ebb9@byu.net>
57567
57568         Convert c-strcasestr to be more efficient.
57569         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
57570         (Depends-on): Add c-strcase, remove malloca, strnlen.
57571         * tests/test-c-strcasestr.c (main): Enhance test.
57572         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
57573
57574 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
57575
57576         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
57577         Use it in creating po/Makevars.
57578
57579 2008-01-15  Simon Josefsson  <simon@josefsson.org>
57580
57581         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
57582         Applications that requires it should initialize libgcrypt
57583         manually.
57584
57585 2008-01-16  Simon Josefsson  <simon@josefsson.org>
57586
57587         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
57588
57589 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
57590
57591         Fix problem with getdate on mingw32 reported by Simon Josefsson
57592         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
57593         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
57594         tzname", when deciding whether to declare tzname.
57595         * lib/strftime.c (tzname): Likewise.
57596
57597 2008-01-15  Bruno Haible  <bruno@clisp.org>
57598
57599         Work around a MacOS X 10.5 bug in frexpl().
57600         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
57601         * doc/functions/frexpl.texi: Document the bug.
57602         Reported by Elias Pipping <pipping@gentoo.org>.
57603
57604 2008-01-14  Eric Blake  <ebb9@byu.net>
57605
57606         Touch up previous patch.
57607         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
57608         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
57609
57610         Convert strcasestr module to use Two-Way algorithm.
57611         * modules/strcasestr-simple: New module, based on the old
57612         strcasestr, but with Two-Way rather than KMP.
57613         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
57614         * lib/string.in.h (rpl_strcasestr): Declare.
57615         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
57616         performance.
57617         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
57618         * modules/string (Makefile.am): Support strcasestr.
57619         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
57620         * modules/strcasestr-tests (Depends-on): Check for alarm.
57621         * tests/test-strcasestr.c: Augment test.
57622         * lib/str-two-way.h: Clean up stray macro.
57623         * NEWS: Document new module.
57624         * MODULES.html.sh (string handling): Likewise.
57625         * doc/functions/strcasestr.texi: New file.
57626         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
57627         here, since it is not a POSIX function.
57628
57629 2008-01-14  Colin Watson  <cjwatson@debian.org>
57630             Bruno Haible  <bruno@clisp.org>
57631
57632         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
57633         works fine; if not, set REPLACE_STRSIGNAL.
57634         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
57635         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
57636         REPLACE_STRSIGNAL.
57637         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
57638         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
57639         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
57640
57641 2008-01-14  Bruno Haible  <bruno@clisp.org>
57642
57643         * modules/strsignal (Include): Change to <string.h>.
57644
57645 2008-01-14  Colin Watson  <cjwatson@debian.org>
57646
57647         * modules/argp (Notice): Add a notice recommending to change
57648         XGETTEXT_OPTIONS.
57649         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
57650
57651 2008-01-13  Colin Watson  <cjwatson@debian.org>
57652
57653         * modules/strsignal-tests: New file.
57654         * tests/test-strsignal.c: New file.
57655
57656         * lib/strsignal.c: New file, from glibc with modifications.
57657         * lib/siglist.h: New file, from glibc with modifications.
57658         * lib/string.in.h (strsignal): New declaration.
57659         * m4/strsignal.m4: New file.
57660         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
57661         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
57662         * modules/strsignal: New file.
57663         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
57664         HAVE_DECL_STRSIGNAL.
57665
57666 2008-01-13  Bruno Haible  <bruno@clisp.org>
57667
57668         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
57669         locale encoding is not ASCII. Needed for OpenBSD 4.0.
57670         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
57671         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
57672
57673 2008-01-13  Bruno Haible  <bruno@clisp.org>
57674
57675         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
57676         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
57677         * lib/argp.h (__attribute__): Likewise.
57678         * lib/c-stack.c (__attribute__): Likewise.
57679         * lib/error.h (__attribute__): Likewise.
57680         * lib/fts.c (__attribute__): Likewise.
57681         * lib/openat.h (__attribute__): Likewise.
57682         * lib/stdio.in.h (__attribute__): Likewise.
57683         * lib/string.in.h (__attribute__): Likewise.
57684         * lib/utimens.c (__attribute__): Likewise.
57685         * lib/vasnprintf.h (__attribute__): Likewise.
57686         * lib/xalloc.h (__attribute__): Likewise.
57687         * lib/xprintf.h (__attribute__): Likewise.
57688         * lib/xstrtol.h (__attribute__): Likewise.
57689         * lib/xvasprintf.h (__attribute__): Likewise.
57690
57691 2008-01-12  Bruno Haible  <bruno@clisp.org>
57692
57693         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
57694         * doc/glibc-headers/a.out.texi: New file.
57695         * doc/glibc-headers/aliases.texi: New file.
57696         * doc/glibc-headers/alloca.texi: New file.
57697         * doc/glibc-headers/ar.texi: New file.
57698         * doc/glibc-headers/argp.texi: New file.
57699         * doc/glibc-headers/argz.texi: New file.
57700         * doc/glibc-headers/byteswap.texi: New file.
57701         * doc/glibc-headers/crypt.texi: New file.
57702         * doc/glibc-headers/endian.texi: New file.
57703         * doc/glibc-headers/envz.texi: New file.
57704         * doc/glibc-headers/err.texi: New file.
57705         * doc/glibc-headers/error.texi: New file.
57706         * doc/glibc-headers/execinfo.texi: New file.
57707         * doc/glibc-headers/fpu_control.texi: New file.
57708         * doc/glibc-headers/fstab.texi: New file.
57709         * doc/glibc-headers/fts.texi: New file.
57710         * doc/glibc-headers/getopt.texi: New file.
57711         * doc/glibc-headers/ieee754.texi: New file.
57712         * doc/glibc-headers/ifaddrs.texi: New file.
57713         * doc/glibc-headers/libintl.texi: New file.
57714         * doc/glibc-headers/mcheck.texi: New file.
57715         * doc/glibc-headers/mntent.texi: New file.
57716         * doc/glibc-headers/obstack.texi: New file.
57717         * doc/glibc-headers/paths.texi: New file.
57718         * doc/glibc-headers/printf.texi: New file.
57719         * doc/glibc-headers/pty.texi: New file.
57720         * doc/glibc-headers/resolv.texi: New file.
57721         * doc/glibc-headers/shadow.texi: New file.
57722         * doc/glibc-headers/sysexits.texi: New file.
57723         * doc/glibc-headers/ttyent.texi: New file.
57724
57725 2008-01-12  Jim Meyering  <meyering@redhat.com>
57726
57727         announce-gen: emit Gnulib's git-based version string.
57728         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
57729         New option --gnulib-version=V, where V is expected to be
57730         the output of running git describe in the gnulib directory.
57731         (get_tool_versions): Request feedback on xdelta.  I suspect it's
57732         not useful, and plan to stop publishing an xdelta file with each
57733         coreutils release.
57734
57735         * build-aux/announce-gen: Also check for lzma-compressed files.
57736
57737 2008-01-11  Bruno Haible  <bruno@clisp.org>
57738
57739         * tests/test-memmem.c (main): Increase maximum allowed time.
57740         * tests/test-strstr.c (main): Likewise.
57741
57742 2008-01-11  Bruno Haible  <bruno@clisp.org>
57743
57744         * doc/functions/memmem.texi: Add more precisions about platforms.
57745         * doc/functions/strstr.texi: Likewise.
57746
57747 2008-01-10  Eric Blake  <ebb9@byu.net>
57748
57749         * m4/strstr.m4: Delete cruft from copy-n-paste.
57750         Reported by Bruno Haible.
57751
57752 2008-01-10  Bruno Haible  <bruno@clisp.org>
57753
57754         Make c-strstr rely on strstr.
57755         * lib/c-strstr.c: Don't include str-kmp.h.
57756         (c_strstr): Define in terms of strstr.
57757         * modules/c-strstr (Files): Remove lib/str-kmp.h.
57758         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
57759
57760 2008-01-10  Bruno Haible  <bruno@clisp.org>
57761
57762         * doc/gnulib.texi (String Functions in C Locale): New section.
57763         * doc/c-ctype.texi: New file.
57764         * doc/c-strcase.texi: New file.
57765         * doc/c-strcaseeq.texi: New file.
57766         * doc/c-strcasestr.texi: New file.
57767         * doc/c-strstr.texi: New file.
57768         * doc/c-strtod.texi: New file.
57769         * doc/c-strtold.texi: New file.
57770
57771 2008-01-10  Eric Blake  <ebb9@byu.net>
57772
57773         * lib/relocatable.h: Fix a comment.
57774
57775 2008-01-10  Eric Blake  <ebb9@byu.net>
57776
57777         Share two-way algorithm.
57778         * lib/str-two-way.h: New file, merged from...
57779         * lib/memmem.c: ...here...
57780         * lib/strstr.c: ...and here.
57781         * modules/memmem (Files): Use it.
57782         * modules/strstr (Files): Likewise.
57783
57784         Avoid quadratic strstr implementations.
57785         * lib/strstr.c: New file.
57786         * m4/strstr.m4: Likewise.
57787         * modules/strstr: Likewise.
57788         * modules/strstr-tests: Likewise.
57789         * tests/test-strstr.c: Likewise.
57790         * lib/string.in.h (rpl_strstr): Declare.
57791         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
57792         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
57793         * modules/string (Makefile.am): Likewise.
57794         * MODULES.html.sh (string handling): Mention new module.
57795         * doc/functions/strstr.texi (strstr): Document the bug.
57796
57797 2008-01-10  Bruno Haible  <bruno@clisp.org>
57798
57799         * lib/relocatable.h (relocate): State whether result is freshly
57800         allocated or not.
57801         * lib/relocatable.c (relocate): Return a freshly allocated string
57802         instead of a pointer to a privately held string.
57803         Reported by Sylvain Beucler <beuc@gnu.org>.
57804
57805 2008-01-10  Colin Watson  <cjwatson@debian.org>
57806
57807         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
57808         s/S_ISNLK/S_ISLNK/.
57809
57810 2008-01-09  Bruno Haible  <bruno@clisp.org>
57811
57812         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
57813         and other files.
57814         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
57815         if it's only a guess.
57816         * modules/memmem: Simplify by depending on memmem-simple.
57817
57818 2008-01-09  Bruno Haible  <bruno@clisp.org>
57819
57820         Work around OpenBSD 4.0 tdelete() bug.
57821         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
57822         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
57823         macros and don't redefine the enum values.
57824         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
57825         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
57826         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
57827
57828 2008-01-09  Bruno Haible  <bruno@clisp.org>
57829
57830         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
57831         (main): Don't perform the tests if setlocale did not install a UTF-8
57832         locale. Needed on OpenBSD 4.0.
57833         * modules/wcwidth-tests (Depends-on): Add localcharset.
57834
57835 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
57836
57837         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
57838         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
57839         * NEWS: announce this.
57840         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
57841
57842 2008-01-09  Simon Josefsson  <simon@josefsson.org>
57843         and Eric Blake  <ebb9@byu.net>
57844
57845         Add memmem-simple module.
57846         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
57847         (gl_FUNC_MEMMEM): Separate performance from presence checks.
57848         * modules/memmem-simple: New file.
57849         * modules/memmem (Description): Tweak.
57850         * MODULES.html.sh (string handling): Mention new module.
57851         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
57852         addressed by memmem-simple.
57853         * NEWS: Document the difference.
57854
57855 2008-01-09  Eric Blake  <ebb9@byu.net>
57856
57857         Give gcc some memmem optimization hints.
57858         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
57859         (strcasestr): Declare as pure.
57860         * modules/memmem (Maintainer): Claim my implementation.
57861
57862 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57863
57864         Support AIX 6.1 and higher.
57865         * build-aux/config.libpath: Likewise.
57866         * build-aux/config.rpath: Likewise.
57867
57868 2008-01-08  Jim Meyering  <meyering@redhat.com>
57869             Bruno Haible  <bruno@clisp.org>
57870
57871         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
57872         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
57873         Reported by Peter Fales in
57874         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
57875
57876 2008-01-08  Bruno Haible  <bruno@clisp.org>
57877
57878         * modules/unictype/category-of (Depends-on): Add
57879         unictype/category-none.
57880         * modules/unictype/category-and-tests (Depends-on): Add
57881         unictype/category-{L,N,Lu,Nd}.
57882         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
57883         * modules/unictype/category-or-tests (Depends-on): Add
57884         unictype/category-{L,N}.
57885         * modules/unictype/category-name-tests (Depends-on): Add
57886         unictype/category-{Z,Nl}.
57887         Reported by Simon Josefsson.
57888
57889 2008-01-08  Bruno Haible  <bruno@clisp.org>
57890
57891         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
57892         convention better.
57893         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
57894         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
57895         Reported by Peter Miller <millerp@canb.auug.org.au>.
57896
57897 2008-01-08  Eric Blake  <ebb9@byu.net>
57898
57899         Rewrite memmem to guarantee linear complexity without malloc.
57900         * lib/memmem.c (memmem): Use Two-Way rather than
57901         Knuth-Morris-Pratt, to allow O(1) space usage.
57902         (critical_factorization, two_way_short_needle)
57903         (two_way_long_needle): New functions.
57904         (knuth_morris_pratt): Delete.
57905         * modules/memmem (Depends-on): No longer need malloca or stdbool.
57906         Add stdint.
57907         * tests/test-memmem.c (main): Add tests for periodic needle and
57908         sublinear performance.
57909         * doc/functions/memmem.texi (memmem): Document other deficiencies
57910         in cygwin and older glibc.
57911
57912 2008-01-08  Bruno Haible  <bruno@clisp.org>
57913
57914         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
57915         augmentation.
57916
57917 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
57918
57919         Add a configure time option: --disable-acl.
57920         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
57921         AC_ARG_ENABLE(acl).
57922
57923 2008-01-06  Simon Josefsson  <simon@josefsson.org>
57924
57925         * tests/test-localename.c: Don't include obsolete "setenv.h".
57926
57927         * modules/localename-tests (Depends-on): Need unsetenv.
57928
57929 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57930
57931         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
57932
57933 2008-01-06  Colin Watson  <cjwatson@debian.org>
57934
57935         * users.txt: Add man-db.
57936
57937 2008-01-07  Bruno Haible  <bruno@clisp.org>
57938
57939         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
57940         previous section name.
57941
57942 2008-01-07  Bruno Haible  <bruno@clisp.org>
57943
57944         * lib/progname.c (set_program_name): Don't strip off a leading
57945         "lt-" prefix outside a .libs directory.
57946         Suggested by Paul Eggert.
57947
57948 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
57949             Bruno Haible  <bruno@clisp.org>
57950
57951         Improve memory cleanup in 'relocatable' module.
57952         * lib/relocatable.h (compute_curr_prefix): Change return type to
57953         'char *'.
57954         * lib/relocatable.c (compute_curr_prefix): Change return type to
57955         'char *'. Free curr_installdir after use.
57956         (relocate): Free curr_prefix_better after use.
57957         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
57958
57959 2008-01-01  Bruno Haible  <bruno@clisp.org>
57960
57961         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
57962         failure on older glibc systems.
57963         Reported by Peter Fales <psfales@alcatel-lucent.com>.
57964
57965 2008-01-05  Eric Blake  <ebb9@byu.net>
57966
57967         Avoid quadratic system memmem.
57968         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
57969         Reported by Ralf Wildenhues.
57970
57971         Fix memmem test for mingw.
57972         * modules/memmem-tests (configure.ac): Check for alarm.
57973         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
57974         it.
57975         * doc/functions/memmem.texi: New file.
57976         * doc/gnulib.texi (Function Substitutes): Add memmem.
57977         Reported by Bruno Haible.
57978
57979 2008-01-04  Bruno Haible  <bruno@clisp.org>
57980
57981         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
57982         Require gl_HEADER_STRINGS_H_DEFAULTS, not
57983         gl_HEADER_STRING_H_DEFAULTS.
57984
57985 2008-01-04  Eric Blake  <ebb9@byu.net>
57986
57987         Shorten duration of memmem test.
57988         * tests/test-memmem.c (main): Use alarm to declare failure if test
57989         is taking too long.
57990         Reported by Ralf Wildenhues.
57991
57992 2007-12-21  Simon Josefsson  <simon@josefsson.org>
57993
57994         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
57995         string, needed by strerror.
57996
57997 2008-01-03  Colin Watson  <cjwatson@debian.org>
57998             Bruno Haible  <bruno@clisp.org>
57999
58000         * doc/gnulib-tool.texi (Localization): New section.
58001
58002 2008-01-02  Bruno Haible  <bruno@clisp.org>
58003
58004         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
58005         variables to 'unsigned char *' type.
58006         Reported by Paul Eggert.
58007
58008 2008-01-02  Jim Meyering  <jim@meyering.net>
58009
58010         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
58011
58012 2007-12-31  Jim Meyering  <jim@meyering.net>
58013
58014         Avoid use of private FTS type name.
58015         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
58016
58017 2007-12-30  Karl Berry  <karl@gnu.org>
58018
58019         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
58020         work around defect in Texinfo and/or the standalone Info browser.
58021
58022 2007-12-30  Bruno Haible  <bruno@clisp.org>
58023
58024         Unify 5 copies of the KMP code.
58025         * lib/str-kmp.h: New file.
58026         * lib/c-strcasestr.c: Include str-kmp.h.
58027         (knuth_morris_pratt): Remove function.
58028         (c_strcasestr): Update.
58029         * lib/c-strstr.c: Include str-kmp.h.
58030         (knuth_morris_pratt): Remove function.
58031         (c_strcasestr): Update.
58032         * lib/mbscasestr.c: Include str-kmp.h.
58033         (knuth_morris_pratt_unibyte): Remove function.
58034         * lib/mbsstr.c: Include str-kmp.h.
58035         (knuth_morris_pratt_unibyte): Remove function.
58036         * lib/strcasestr.c: Include str-kmp.h.
58037         (knuth_morris_pratt): Remove function.
58038         (strcasestr): Update.
58039         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
58040         * modules/c-strstr (Files): Likewise.
58041         * modules/mbscasestr (Files): Likewise.
58042         * modules/mbsstr (Files): Likewise.
58043         * modules/strcasestr (Files): Likewise.
58044         Suggested by Paul Eggert.
58045
58046 2007-12-30  Bruno Haible  <bruno@clisp.org>
58047
58048         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
58049         defined.
58050
58051 2007-12-30  Bruno Haible  <bruno@clisp.org>
58052
58053         * lib/xmalloca.h: Include xalloc.h.
58054         (xnmalloca): New macro.
58055
58056 2007-12-30  Bruno Haible  <bruno@clisp.org>
58057
58058         * lib/malloca.h (nmalloca): New macro.
58059         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
58060         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
58061         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
58062         knuth_morris_pratt_multibyte): Likewise.
58063         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
58064         knuth_morris_pratt_multibyte): Likewise.
58065         * lib/memmem.c (knuth_morris_pratt): Likewise.
58066         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
58067
58068 2007-12-25  Bruno Haible  <bruno@clisp.org>
58069
58070         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
58071         * lib/glob.c: Don't include openat.h.
58072         (link_exists2_p): Add back the code that deals with the
58073         !GLOB_ALTDIRFUNC case.
58074         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
58075         let it do the filename concatenation.
58076         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
58077         * modules/glob (Depends-on): Remove openat.
58078
58079 2007-12-31  Bruno Haible  <bruno@clisp.org>
58080
58081         * modules/dirfd (License): Change to LGPLv2+.
58082         Approved by Jim Meyering.
58083
58084 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
58085
58086         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
58087         when multiplying M by sizeof (size_t).
58088
58089 2007-12-10  Martin Lambers  <marlam@marlam.de>
58090
58091         Override getpagesize on mingw.
58092         * lib/getpagesize.c: New file.
58093         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
58094         * modules/getpagesize (Files): Add lib/getpagesize.c.
58095         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
58096         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
58097         REPLACE_GETPAGESIZE.
58098         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
58099
58100 2007-12-25  Bruno Haible  <bruno@clisp.org>
58101
58102         * modules/localcharset (Notice): New field.
58103         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
58104         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
58105
58106 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
58107             Bruno Haible  <bruno@clisp.org>
58108
58109         Avoid using the syntax symbol() in formatted documentation.
58110         * MODULES.html.sh (func_module): When replacing symbol() with a
58111         hyperlink, remove the parentheses. Show an error if some remain.
58112         Recognize and render the '...' syntax.
58113         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
58114         Rework. Add paragraph about GCC's inlining.
58115         * doc/alloca.texi: Likewise.
58116         * doc/error.texi: Remove parentheses from symbol reference.
58117         * doc/gnulib-intro.texi: Likewise.
58118         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
58119         * modules/fnmatch (Description): Reword to say "the ... function".
58120         * modules/full-read (Description): Likewise.
58121         * modules/full-write (Description): Likewise.
58122         * modules/safe-read (Description): Likewise.
58123         * modules/safe-write (Description): Likewise.
58124         * modules/strchrnul (Description): Likewise.
58125         * modules/trim (Description): Likewise.
58126         * modules/error (Description): Remove parentheses from symbol
58127         references.
58128         * modules/verror (Description): Likewise.
58129         Reported by Karl Berry.
58130
58131 2007-12-25  Bruno Haible  <bruno@clisp.org>
58132
58133         Fixup after 2007-10-16 commit.
58134         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
58135
58136 2007-12-24  Bruno Haible  <bruno@clisp.org>
58137
58138         Make --enable-relocatable work with DESTDIR.
58139         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
58140         to compute installdir from destprog.
58141         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
58142         also set the RELOC_DESTDIR variable.
58143         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
58144
58145 2007-12-24  Bruno Haible  <bruno@clisp.org>
58146
58147         Fix link error due to xalloc_die().
58148         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
58149         of xreadlink.
58150         * lib/relocwrapper.c: Update comments.
58151         * build-aux/install-reloc: Remove xreadlink.c from file list.
58152         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
58153         xreadlink.c.
58154         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
58155
58156 2007-12-24  Bruno Haible  <bruno@clisp.org>
58157
58158         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
58159         * lib/setenv.h: Remove file.
58160         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
58161         lib/setenv.h.
58162         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
58163         (Depends-on): Add stdlib.
58164         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
58165         gl_FUNC_UNSETENV.
58166         (Include): Replace setenv.h with <stdlib.h>.
58167         * modules/unsetenv: New file.
58168         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
58169         * lib/unsetenv.c: Include <stdlib.h> first.
58170         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
58171         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
58172         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
58173         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
58174         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
58175         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
58176         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
58177         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
58178         * doc/functions/unsetenv.texi: Update.
58179         * modules/xsetenv (Depends-on): Add unsetenv.
58180         * modules/getdate (Depends-on): Likewise.
58181         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
58182         * lib/xsetenv.c: Don't include setenv.h.
58183         * lib/getdate.y: Likewise.
58184         * lib/relocwrapper.c: Likewise.
58185         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
58186         (Depends-on): Add stdlib.
58187         * NEWS: Mention the changes.
58188         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
58189
58190 2007-12-23  Bruno Haible  <bruno@clisp.org>
58191
58192         * lib/memmem.c (memmem): Use lowercase variable names. Tab
58193         indentation.
58194
58195 2007-12-23  Bruno Haible  <bruno@clisp.org>
58196
58197         * lib/c-strcasestr.c: Add more comments.
58198         * lib/c-strstr.c: Likewise.
58199         * lib/mbscasestr.c: Likewise.
58200         * lib/mbsstr.c: Likewise.
58201         * lib/strcasestr.c: Likewise.
58202         * lib/memmem.c: Likewise.
58203
58204 2007-12-23  Bruno Haible  <bruno@clisp.org>
58205
58206         * tests/test-memmem.c: Include <string.h> first.
58207
58208 2007-12-22  Bruno Haible  <bruno@clisp.org>
58209
58210         * gnulib-tool (func_create_testdir): Change $auxdir while generating
58211         the contents of $testsbase.
58212         Reported by Ralf Wildenhues.
58213
58214 2007-12-22  Bruno Haible  <bruno@clisp.org>
58215
58216         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
58217         two variables local_ldadd_before, local_ldadd_last.
58218
58219 2007-12-20  Eric Blake  <ebb9@byu.net>
58220
58221         Work around circular library issue when cross-compiling.
58222         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
58223         that progname.o does not need to pull in rpl_memcmp.
58224
58225 2007-12-19  Eric Blake  <ebb9@byu.net>
58226
58227         Fix memmem to avoid O(n^2) worst-case complexity.
58228         * lib/memmem.c (knuth_morris_pratt): New function.
58229         (memmem): Use it if first few naive iterations fail.
58230         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
58231         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
58232         * modules/memchr (License): Likewise.
58233         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
58234         malloca.
58235         * tests/test-memmem.c: Rewrite, borrowing ideas from
58236         test-mbsstr1.c; the old version wouldn't even compile!
58237         * modules/memmem-tests: New file.
58238         * lib/string.in.h (rpl_memmem): Add declaration.
58239         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
58240         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
58241         REPLACE_MEMMEM.
58242
58243 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
58244
58245         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
58246         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
58247         before any system include files, and undef after them all.  This
58248         should fix a problem on VMS reported by John E. Malmberg in
58249         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
58250
58251 2007-12-17  Eric Blake  <ebb9@byu.net>
58252
58253         Revert addition of verify, for BSD/OS.
58254         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
58255         can't handle large files, for the sake of obsolete platforms.
58256         * modules/fseeko (Depends-on): Remove verify.
58257         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
58258         * doc/functions/ftello.texi (ftello): Likewise.
58259         * doc/functions/fgetpos.texi (fgetpos): Likewise.
58260         Reported by Larry Jones.
58261
58262 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
58263
58264         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
58265         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
58266
58267 2007-12-17  Jim Meyering  <meyering@redhat.com>
58268
58269         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
58270         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
58271         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
58272         * modules/getcwd (Depends-on): Add openat.
58273         Reported by Petr Salinger.
58274
58275 2007-12-17  Bruno Haible  <bruno@clisp.org>
58276
58277         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
58278         avoid a segmentation fault of the configure test on x86_64 systems.
58279
58280 2007-12-15  Jim Meyering  <meyering@redhat.com>
58281
58282         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
58283
58284 2007-12-13  Eric Blake  <ebb9@byu.net>
58285
58286         Another fseek test.
58287         * tests/test-fseek.c (main): Also test ungetc handling.
58288         * tests/test-fseeko.c (main): Likewise.
58289         * modules/fseeko (Depends-on): Add verify.
58290         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
58291         large.
58292         Reported by Larry Jones.
58293
58294         Fix fseeko on mingw.
58295         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
58296         seek.
58297
58298         Beef up fseek tests.
58299         * tests/test-fseek.c (main): Also test eof handling.
58300         * tests/test-fseeko.c (main): Likewise.
58301         Reported by Larry Jones.
58302
58303 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
58304
58305         Fix fseeko on BSD-based platforms.
58306         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
58307         successful seek.
58308
58309 2007-12-12  Eric Blake  <ebb9@byu.net>
58310
58311         Allow circular dependency of separate libtests.a
58312         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
58313         when use_libtests.
58314
58315 2007-12-11  Eric Blake  <ebb9@byu.net>
58316
58317         Fix bug with -0.0L in previous patch.
58318         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
58319         * tests/test-isnan.c (main): Also test on zeroes.
58320         * tests/test-isnanf.c (main): Likewise.
58321         * tests/test-isnanl.h (main): Likewise.
58322
58323         Detect pseudo-denormals on x86 even when cross-compiling.
58324         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
58325         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
58326         invalid bit patterns that happen to satisfy ==.
58327
58328         Avoid link failures with separate libtests.a.
58329         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
58330         last, to satisfy circular dependencies.
58331
58332 2007-12-11  Eric Blake  <ebb9@byu.net>
58333         and Bruno Haible  <bruno@clisp.org>
58334
58335         Fix OpenBSD 4.0 <float.h> handling of long double.
58336         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
58337         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
58338         * doc/headers/float.texi (float.h): Document OpenBSD bug.
58339
58340 2007-12-11  Jim Meyering  <meyering@redhat.com>
58341
58342         * users.txt: Add libvirt.
58343
58344         Support versions of autoconf prior to 2.59c.
58345         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
58346         if it is not already defined.
58347
58348 2007-12-09  Bruno Haible  <bruno@clisp.org>
58349
58350         Let 'gnulib-tool --import' collect sources needed for the tests in
58351         tests/ rather than in lib/.
58352         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
58353         argument. If true, add rules to generate libtests.a, and put libtests.a
58354         into $(LDADD). Consider source files in subdirectories and set
58355         uses_subdirs.
58356         (func_emit_initmacro_start, func_emit_initmacro_end,
58357         func_emit_initmacro_done): Pass all arguments explicitly.
58358         (func_import): Determine two module lists main_modules,
58359         testsrelated_modules. Determine use_libtests. Determine two variables
58360         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
58361         instead of just sed_transform_lib_file. Determine two variables
58362         main_files and testsrelated_files. Compute 'files' as the union of
58363         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
58364         func_add_or_update. In the generated gnulib-comp.m4, collect the
58365         object files for tests/ in different variables than those for lib/.
58366         Substitute LIBTESTS_LIBDEPS.
58367         (func_create_testdir): Combine the uses_subdirs results from
58368         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
58369
58370 2007-12-09  Bruno Haible  <bruno@clisp.org>
58371
58372         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
58373         the build-aux directory.
58374
58375 2007-12-09  Bruno Haible  <bruno@clisp.org>
58376
58377         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
58378         introduced on 2006-09-09.
58379
58380 2007-12-07  Jim Meyering  <meyering@redhat.com>
58381
58382         Let these macros work also with autoconf-2.59.
58383         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
58384         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
58385         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
58386
58387 2007-12-06  Jim Meyering  <meyering@redhat.com>
58388
58389         Avoid a configure-time syntax error in gl_FUNC_ACL.
58390         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
58391         function in each branch, before testing the cache variable.
58392
58393 2007-12-04  Eric Blake  <ebb9@byu.net>
58394
58395         Make scripts executable.
58396         * build-aux/config.guess: Add execute permissions.
58397         * build-aux/config.sub: Likewise.
58398         * build-aux/gendocs.sh: Likewise.
58399
58400         Fix frexp on mingw.
58401         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
58402         cross-compiling.
58403         * doc/functions/frexp.texi (frexp): Document the bug.
58404
58405         Make cygwin fseeko check more reliable.
58406         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
58407         version numbers, rather than unrelated feature check.
58408         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
58409         * doc/functions/ftello.texi (ftello): Likewise.
58410         Reported by Bruno Haible.
58411
58412         * m4/strerror.m4: Bump version number.
58413
58414 2007-12-03  Bruno Haible  <bruno@clisp.org>
58415
58416         * doc/functions/mprotect.texi: Mention the mingw problem.
58417
58418 2007-12-03  Eric Blake  <ebb9@byu.net>
58419
58420         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
58421         REPLACE_STRERROR is initialized before this macro.
58422
58423 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
58424
58425         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
58426         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
58427         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
58428         put -lsec in even for programs other than 'ls'.  This fixes a problem
58429         for gettext reported by Bruno Haible in
58430         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
58431         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
58432         Add support for Solaris 10.  This isn't efficient, but should get the
58433         job done for now.
58434
58435 2007-12-03  James Youngman  <jay@gnu.org>
58436
58437         * doc/regexprops-generic.texi: change "an close-group" to "a
58438         close-group" and "illegal" to "not allowed".
58439
58440 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58441
58442         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
58443         pr_byname.h. Needed for the rare case when the maintainer has done
58444         "make maintainer-clean" in the source directory and then attempts a
58445         build outside the source directory.
58446         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
58447         scripts_byname.h.
58448
58449 2007-12-02  Martin Lambers <marlam@marlam.de>
58450             Bruno Haible  <bruno@clisp.org>
58451
58452         * lib/getpagesize.h: Remove file.
58453         * lib/unistd.in.h: Include declaration of getpagesize here.
58454         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
58455         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
58456         HAVE_SYS_PARAM_H.
58457         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
58458         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
58459         * modules/getpagesize (Files): Remove lib/getpagesize.h.
58460         (Depends-on): Add unistd.
58461         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
58462         (Include): Use <unistd.h> instead of getpagesize.h.
58463         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
58464         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
58465         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
58466         gl_GETPAGESIZE invocation, already handled by module dependency.
58467         * lib/pagealign_alloc.c: Don't include getpagesize.h.
58468
58469 2007-12-02  Bruno Haible  <bruno@clisp.org>
58470
58471         * modules/strings-tests: New file.
58472         * tests/test-strings.c: New file.
58473
58474         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
58475         * lib/strings.in.h: New file.
58476         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
58477         * m4/strings_h.m4: New file.
58478         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
58479         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
58480         * modules/strings: New file.
58481         * modules/string (Makefile.am): Update.
58482         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
58483         Reported by Karl Berry.
58484
58485 2007-12-01  Eric Blake  <ebb9@byu.net>
58486
58487         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
58488         accomodate fix in cygwin 1.5.25.
58489
58490 2007-12-01  Jim Meyering  <meyering@redhat.com>
58491
58492         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
58493         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
58494         that would inhibit utf8-optimization of a regexp containing line-
58495         or buffer-anchors, e.g., `^', `$'.
58496
58497 2007-11-30  Bruno Haible  <bruno@clisp.org>
58498
58499         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
58500         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
58501         glthread_recursive_lock_init.
58502         * lib/lock.c (glthread_recursive_lock_init)
58503         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
58504         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
58505
58506 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
58507
58508         New function qset_acl, like set_acl but with syscall semantics.
58509         * lib/acl.h (qset_acl): New decl.
58510         * lib/acl.c (qset_acl): New function.
58511         (set_acl): Use new function.  Use more-consistent diagnostics.
58512
58513 2007-11-28  Jim Meyering  <meyering@redhat.com>
58514
58515         * modules/physmem (License): Change from GPL to LGPLv2+.
58516
58517 2007-11-26  Bruno Haible  <bruno@clisp.org>
58518
58519         * lib/vasnprintf.c (decode_long_double): Don't abort if the
58520         'long double' type has excess precision.
58521         Reported by Jim Meyering in
58522         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
58523
58524 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58525
58526         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
58527         Sync from <http://gnu.org/licenses>.
58528         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
58529         with license text from same location.
58530         * doc/maintain.texi, doc/standards.texi:  Sync from
58531         <http://savannah.gnu.org/projects/gnustandards>.
58532
58533 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
58534         and Jim Meyering  <meyering@redhat.com>
58535
58536         Adjust getdate' grammar to accept a slightly more regular language.
58537         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
58538         Before, the former was rejected.
58539         * lib/getdate.y (digits_to_date_time): New function, factored
58540         out of ...
58541         (number): ...here.  Just call digits_to_date_time.
58542         (hybrid): New non-terminal to handle an <unsigned number,
58543         signed relative offset> sequence consistently.
58544
58545 2007-11-18  Jim Meyering  <meyering@redhat.com>
58546
58547         Pull my changes from coreutils:
58548         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
58549         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
58550         use of $gnulib_tool_option_extras, so that it's separated from the
58551         preceding argument.
58552
58553         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
58554         * build-aux/bootstrap (cp_mark_as_generated): Create any required
58555         parent destination directories before copying a file into place.
58556
58557 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
58558
58559         bootstrap: work also with 4-argument variant of AC_INIT
58560         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
58561
58562 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
58563
58564         Port test-getaddrinfo to Solaris.
58565         Problem reported by Bruno Haible in
58566         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
58567         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
58568         explanation of setting 'hints'.
58569         Don't reject an implementation merely because it returns EAI_SERVICE.
58570         (EAI_SERVICE): Define to 0 if not defined.
58571
58572 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
58573
58574         The license of gnu-make and posix-shell is now "GPLed build tool".
58575         * modules/gnu-make (License): Likewise.
58576         * modules/posix-shell (License): Likewise.
58577
58578         New module posix-shell, for determining a POSIX shell
58579         or perhaps something that is close enough to a POSIX shell.
58580         * m4/posix-shell.m4: New file.
58581         * modules/posix-shell: New file.
58582
58583         * MODULES.html.sh: Mention new module.
58584
58585         New module gnu-make, for determining whether we're using GNU Make.
58586         * m4/gnu-make.m4: New file.
58587         * modules/gnu-make: New file.
58588         * MODULES.html.sh: Mention new module.
58589
58590 2007-11-14  Jim Meyering  <meyering@redhat.com>
58591
58592         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
58593         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
58594         use this macro to create a function _definition_.
58595         Remove useless "#undef ARGMATCH_DIE".
58596
58597 2007-11-14  Bruno Haible  <bruno@clisp.org>
58598
58599         * lib/config.charset: Update for OpenBSD 4.1.
58600         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
58601
58602 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
58603
58604         Document 64-bit #if problems in stdint.texi.
58605         * doc/headers/stdint.texi (stdint.h): Mention problems with
58606         64-bit-#if, and how to work around them.
58607
58608         Don't insist on 'long long int' support in the preprocessor.  It
58609         breaks too many things.  For example, PRIdMAX still uses a 'long
58610         long int' format with the latest Sun compiler, even though
58611         HAVE_LONG_LONG_INT isn't defined due to that compiler's
58612         preprocessor problem.  This causes the latest coreutils to dump
58613         core on Solaris 10 sparc with the Sun C compiler.
58614         Instead, fix the 2007-10-16 problem in a different way, by evaluating
58615         the troublesome expressions at configure-time, not at #if-time.
58616         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
58617         preprocessor.
58618         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
58619         compile-time C checks, done at 'configure'-time.
58620         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
58621         * modules/inttypes (Makefile): Substitute the new symbols that
58622         gl_INTTYPES_H now generates.
58623         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
58624
58625 2007-11-12  Bruno Haible  <bruno@clisp.org>
58626
58627         Tests for Unicode character classification functions.
58628
58629         * modules/unictype/bidicategory-byname-tests: New file.
58630         * modules/unictype/bidicategory-name-tests: New file.
58631         * modules/unictype/bidicategory-of-tests: New file.
58632         * modules/unictype/bidicategory-test-tests: New file.
58633         * modules/unictype/block-list-tests: New file.
58634         * modules/unictype/block-of-tests: New file.
58635         * modules/unictype/block-test-tests: New file.
58636         * modules/unictype/category-C-tests: New file.
58637         * modules/unictype/category-Cc-tests: New file.
58638         * modules/unictype/category-Cf-tests: New file.
58639         * modules/unictype/category-Cn-tests: New file.
58640         * modules/unictype/category-Co-tests: New file.
58641         * modules/unictype/category-Cs-tests: New file.
58642         * modules/unictype/category-L-tests: New file.
58643         * modules/unictype/category-Ll-tests: New file.
58644         * modules/unictype/category-Lm-tests: New file.
58645         * modules/unictype/category-Lo-tests: New file.
58646         * modules/unictype/category-Lt-tests: New file.
58647         * modules/unictype/category-Lu-tests: New file.
58648         * modules/unictype/category-M-tests: New file.
58649         * modules/unictype/category-Mc-tests: New file.
58650         * modules/unictype/category-Me-tests: New file.
58651         * modules/unictype/category-Mn-tests: New file.
58652         * modules/unictype/category-N-tests: New file.
58653         * modules/unictype/category-Nd-tests: New file.
58654         * modules/unictype/category-Nl-tests: New file.
58655         * modules/unictype/category-No-tests: New file.
58656         * modules/unictype/category-P-tests: New file.
58657         * modules/unictype/category-Pc-tests: New file.
58658         * modules/unictype/category-Pd-tests: New file.
58659         * modules/unictype/category-Pe-tests: New file.
58660         * modules/unictype/category-Pf-tests: New file.
58661         * modules/unictype/category-Pi-tests: New file.
58662         * modules/unictype/category-Po-tests: New file.
58663         * modules/unictype/category-Ps-tests: New file.
58664         * modules/unictype/category-S-tests: New file.
58665         * modules/unictype/category-Sc-tests: New file.
58666         * modules/unictype/category-Sk-tests: New file.
58667         * modules/unictype/category-Sm-tests: New file.
58668         * modules/unictype/category-So-tests: New file.
58669         * modules/unictype/category-Z-tests: New file.
58670         * modules/unictype/category-Zl-tests: New file.
58671         * modules/unictype/category-Zp-tests: New file.
58672         * modules/unictype/category-Zs-tests: New file.
58673         * modules/unictype/category-and-not-tests: New file.
58674         * modules/unictype/category-and-tests: New file.
58675         * modules/unictype/category-byname-tests: New file.
58676         * modules/unictype/category-name-tests: New file.
58677         * modules/unictype/category-none-tests: New file.
58678         * modules/unictype/category-of-tests: New file.
58679         * modules/unictype/category-or-tests: New file.
58680         * modules/unictype/category-test-withtable-tests: New file.
58681         * modules/unictype/combining-class-tests: New file.
58682         * modules/unictype/ctype-alnum-tests: New file.
58683         * modules/unictype/ctype-alpha-tests: New file.
58684         * modules/unictype/ctype-blank-tests: New file.
58685         * modules/unictype/ctype-cntrl-tests: New file.
58686         * modules/unictype/ctype-digit-tests: New file.
58687         * modules/unictype/ctype-graph-tests: New file.
58688         * modules/unictype/ctype-lower-tests: New file.
58689         * modules/unictype/ctype-print-tests: New file.
58690         * modules/unictype/ctype-punct-tests: New file.
58691         * modules/unictype/ctype-space-tests: New file.
58692         * modules/unictype/ctype-upper-tests: New file.
58693         * modules/unictype/ctype-xdigit-tests: New file.
58694         * modules/unictype/decimal-digit-tests: New file.
58695         * modules/unictype/digit-tests: New file.
58696         * modules/unictype/mirror-tests: New file.
58697         * modules/unictype/numeric-tests: New file.
58698         * modules/unictype/property-alphabetic-tests: New file.
58699         * modules/unictype/property-ascii-hex-digit-tests: New file.
58700         * modules/unictype/property-bidi-arabic-digit-tests: New file.
58701         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
58702         * modules/unictype/property-bidi-block-separator-tests: New file.
58703         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
58704         * modules/unictype/property-bidi-common-separator-tests: New file.
58705         * modules/unictype/property-bidi-control-tests: New file.
58706         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
58707         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
58708         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
58709         * modules/unictype/property-bidi-european-digit-tests: New file.
58710         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
58711         * modules/unictype/property-bidi-left-to-right-tests: New file.
58712         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
58713         * modules/unictype/property-bidi-other-neutral-tests: New file.
58714         * modules/unictype/property-bidi-pdf-tests: New file.
58715         * modules/unictype/property-bidi-segment-separator-tests: New file.
58716         * modules/unictype/property-bidi-whitespace-tests: New file.
58717         * modules/unictype/property-byname-tests: New file.
58718         * modules/unictype/property-combining-tests: New file.
58719         * modules/unictype/property-composite-tests: New file.
58720         * modules/unictype/property-currency-symbol-tests: New file.
58721         * modules/unictype/property-dash-tests: New file.
58722         * modules/unictype/property-decimal-digit-tests: New file.
58723         * modules/unictype/property-default-ignorable-code-point-tests: New file.
58724         * modules/unictype/property-deprecated-tests: New file.
58725         * modules/unictype/property-diacritic-tests: New file.
58726         * modules/unictype/property-extender-tests: New file.
58727         * modules/unictype/property-format-control-tests: New file.
58728         * modules/unictype/property-grapheme-base-tests: New file.
58729         * modules/unictype/property-grapheme-extend-tests: New file.
58730         * modules/unictype/property-grapheme-link-tests: New file.
58731         * modules/unictype/property-hex-digit-tests: New file.
58732         * modules/unictype/property-hyphen-tests: New file.
58733         * modules/unictype/property-id-continue-tests: New file.
58734         * modules/unictype/property-id-start-tests: New file.
58735         * modules/unictype/property-ideographic-tests: New file.
58736         * modules/unictype/property-ids-binary-operator-tests: New file.
58737         * modules/unictype/property-ids-trinary-operator-tests: New file.
58738         * modules/unictype/property-ignorable-control-tests: New file.
58739         * modules/unictype/property-iso-control-tests: New file.
58740         * modules/unictype/property-join-control-tests: New file.
58741         * modules/unictype/property-left-of-pair-tests: New file.
58742         * modules/unictype/property-line-separator-tests: New file.
58743         * modules/unictype/property-logical-order-exception-tests: New file.
58744         * modules/unictype/property-lowercase-tests: New file.
58745         * modules/unictype/property-math-tests: New file.
58746         * modules/unictype/property-non-break-tests: New file.
58747         * modules/unictype/property-not-a-character-tests: New file.
58748         * modules/unictype/property-numeric-tests: New file.
58749         * modules/unictype/property-other-alphabetic-tests: New file.
58750         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
58751         * modules/unictype/property-other-grapheme-extend-tests: New file.
58752         * modules/unictype/property-other-id-continue-tests: New file.
58753         * modules/unictype/property-other-id-start-tests: New file.
58754         * modules/unictype/property-other-lowercase-tests: New file.
58755         * modules/unictype/property-other-math-tests: New file.
58756         * modules/unictype/property-other-uppercase-tests: New file.
58757         * modules/unictype/property-paired-punctuation-tests: New file.
58758         * modules/unictype/property-paragraph-separator-tests: New file.
58759         * modules/unictype/property-pattern-syntax-tests: New file.
58760         * modules/unictype/property-pattern-white-space-tests: New file.
58761         * modules/unictype/property-private-use-tests: New file.
58762         * modules/unictype/property-punctuation-tests: New file.
58763         * modules/unictype/property-quotation-mark-tests: New file.
58764         * modules/unictype/property-radical-tests: New file.
58765         * modules/unictype/property-sentence-terminal-tests: New file.
58766         * modules/unictype/property-soft-dotted-tests: New file.
58767         * modules/unictype/property-space-tests: New file.
58768         * modules/unictype/property-terminal-punctuation-tests: New file.
58769         * modules/unictype/property-test-tests: New file.
58770         * modules/unictype/property-titlecase-tests: New file.
58771         * modules/unictype/property-unassigned-code-value-tests: New file.
58772         * modules/unictype/property-unified-ideograph-tests: New file.
58773         * modules/unictype/property-uppercase-tests: New file.
58774         * modules/unictype/property-variation-selector-tests: New file.
58775         * modules/unictype/property-white-space-tests: New file.
58776         * modules/unictype/property-xid-continue-tests: New file.
58777         * modules/unictype/property-xid-start-tests: New file.
58778         * modules/unictype/property-zero-width-tests: New file.
58779         * modules/unictype/scripts-tests: New file.
58780         * modules/unictype/syntax-c-ident-tests: New file.
58781         * modules/unictype/syntax-c-whitespace-tests: New file.
58782         * modules/unictype/syntax-java-ident-tests: New file.
58783         * modules/unictype/syntax-java-whitespace-tests: New file.
58784         * tests/unictype/test-bidi_byname.c: New file.
58785         * tests/unictype/test-bidi_name.c: New file.
58786         * tests/unictype/test-bidi_of.c: New file.
58787         * tests/unictype/test-bidi_test.c: New file.
58788         * tests/unictype/test-block_list.c: New file.
58789         * tests/unictype/test-block_of.c: New file.
58790         * tests/unictype/test-block_test.c: New file.
58791         * tests/unictype/test-categ_and.c: New file.
58792         * tests/unictype/test-categ_and_not.c: New file.
58793         * tests/unictype/test-categ_byname.c: New file.
58794         * tests/unictype/test-categ_name.c: New file.
58795         * tests/unictype/test-categ_none.c: New file.
58796         * tests/unictype/test-categ_of.c: New file.
58797         * tests/unictype/test-categ_or.c: New file.
58798         * tests/unictype/test-categ_test_withtable.c: New file.
58799         * tests/unictype/test-combining.c: New file.
58800         * tests/unictype/test-decdigit.c: New file.
58801         * tests/unictype/test-digit.c: New file.
58802         * tests/unictype/test-mirror.c: New file.
58803         * tests/unictype/test-numeric.c: New file.
58804         * tests/unictype/test-pr_byname.c: New file.
58805         * tests/unictype/test-pr_test.c: New file.
58806         * tests/unictype/test-predicate-part1.h: New file.
58807         * tests/unictype/test-predicate-part2.h: New file.
58808         * tests/unictype/test-scripts.c: New file.
58809         * tests/unictype/test-sy_c_ident.c: New file.
58810         * tests/unictype/test-sy_java_ident.c: New file.
58811
58812         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
58813         for Unicode 5.0.0.
58814         * tests/unictype/test-categ_Cc.c: Likewise.
58815         * tests/unictype/test-categ_Cf.c: Likewise.
58816         * tests/unictype/test-categ_Cn.c: Likewise.
58817         * tests/unictype/test-categ_Co.c: Likewise.
58818         * tests/unictype/test-categ_Cs.c: Likewise.
58819         * tests/unictype/test-categ_L.c: Likewise.
58820         * tests/unictype/test-categ_Ll.c: Likewise.
58821         * tests/unictype/test-categ_Lm.c: Likewise.
58822         * tests/unictype/test-categ_Lo.c: Likewise.
58823         * tests/unictype/test-categ_Lt.c: Likewise.
58824         * tests/unictype/test-categ_Lu.c: Likewise.
58825         * tests/unictype/test-categ_M.c: Likewise.
58826         * tests/unictype/test-categ_Mc.c: Likewise.
58827         * tests/unictype/test-categ_Me.c: Likewise.
58828         * tests/unictype/test-categ_Mn.c: Likewise.
58829         * tests/unictype/test-categ_N.c: Likewise.
58830         * tests/unictype/test-categ_Nd.c: Likewise.
58831         * tests/unictype/test-categ_Nl.c: Likewise.
58832         * tests/unictype/test-categ_No.c: Likewise.
58833         * tests/unictype/test-categ_P.c: Likewise.
58834         * tests/unictype/test-categ_Pc.c: Likewise.
58835         * tests/unictype/test-categ_Pd.c: Likewise.
58836         * tests/unictype/test-categ_Pe.c: Likewise.
58837         * tests/unictype/test-categ_Pf.c: Likewise.
58838         * tests/unictype/test-categ_Pi.c: Likewise.
58839         * tests/unictype/test-categ_Po.c: Likewise.
58840         * tests/unictype/test-categ_Ps.c: Likewise.
58841         * tests/unictype/test-categ_S.c: Likewise.
58842         * tests/unictype/test-categ_Sc.c: Likewise.
58843         * tests/unictype/test-categ_Sk.c: Likewise.
58844         * tests/unictype/test-categ_Sm.c: Likewise.
58845         * tests/unictype/test-categ_So.c: Likewise.
58846         * tests/unictype/test-categ_Z.c: Likewise.
58847         * tests/unictype/test-categ_Zl.c: Likewise.
58848         * tests/unictype/test-categ_Zp.c: Likewise.
58849         * tests/unictype/test-categ_Zs.c: Likewise.
58850         * tests/unictype/test-ctype_alnum.c: Likewise.
58851         * tests/unictype/test-ctype_alpha.c: Likewise.
58852         * tests/unictype/test-ctype_blank.c: Likewise.
58853         * tests/unictype/test-ctype_cntrl.c: Likewise.
58854         * tests/unictype/test-ctype_digit.c: Likewise.
58855         * tests/unictype/test-ctype_graph.c: Likewise.
58856         * tests/unictype/test-ctype_lower.c: Likewise.
58857         * tests/unictype/test-ctype_print.c: Likewise.
58858         * tests/unictype/test-ctype_punct.c: Likewise.
58859         * tests/unictype/test-ctype_space.c: Likewise.
58860         * tests/unictype/test-ctype_upper.c: Likewise.
58861         * tests/unictype/test-ctype_xdigit.c: Likewise.
58862         * tests/unictype/test-decdigit.h: Likewise.
58863         * tests/unictype/test-digit.h: Likewise.
58864         * tests/unictype/test-numeric.h: Likewise.
58865         * tests/unictype/test-pr_alphabetic.c: Likewise.
58866         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
58867         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
58868         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
58869         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
58870         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
58871         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
58872         * tests/unictype/test-pr_bidi_control.c: Likewise.
58873         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
58874         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
58875         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
58876         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
58877         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
58878         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
58879         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
58880         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
58881         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
58882         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
58883         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
58884         * tests/unictype/test-pr_combining.c: Likewise.
58885         * tests/unictype/test-pr_composite.c: Likewise.
58886         * tests/unictype/test-pr_currency_symbol.c: Likewise.
58887         * tests/unictype/test-pr_dash.c: Likewise.
58888         * tests/unictype/test-pr_decimal_digit.c: Likewise.
58889         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
58890         * tests/unictype/test-pr_deprecated.c: Likewise.
58891         * tests/unictype/test-pr_diacritic.c: Likewise.
58892         * tests/unictype/test-pr_extender.c: Likewise.
58893         * tests/unictype/test-pr_format_control.c: Likewise.
58894         * tests/unictype/test-pr_grapheme_base.c: Likewise.
58895         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
58896         * tests/unictype/test-pr_grapheme_link.c: Likewise.
58897         * tests/unictype/test-pr_hex_digit.c: Likewise.
58898         * tests/unictype/test-pr_hyphen.c: Likewise.
58899         * tests/unictype/test-pr_id_continue.c: Likewise.
58900         * tests/unictype/test-pr_id_start.c: Likewise.
58901         * tests/unictype/test-pr_ideographic.c: Likewise.
58902         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
58903         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
58904         * tests/unictype/test-pr_ignorable_control.c: Likewise.
58905         * tests/unictype/test-pr_iso_control.c: Likewise.
58906         * tests/unictype/test-pr_join_control.c: Likewise.
58907         * tests/unictype/test-pr_left_of_pair.c: Likewise.
58908         * tests/unictype/test-pr_line_separator.c: Likewise.
58909         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
58910         * tests/unictype/test-pr_lowercase.c: Likewise.
58911         * tests/unictype/test-pr_math.c: Likewise.
58912         * tests/unictype/test-pr_non_break.c: Likewise.
58913         * tests/unictype/test-pr_not_a_character.c: Likewise.
58914         * tests/unictype/test-pr_numeric.c: Likewise.
58915         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
58916         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
58917         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
58918         * tests/unictype/test-pr_other_id_continue.c: Likewise.
58919         * tests/unictype/test-pr_other_id_start.c: Likewise.
58920         * tests/unictype/test-pr_other_lowercase.c: Likewise.
58921         * tests/unictype/test-pr_other_math.c: Likewise.
58922         * tests/unictype/test-pr_other_uppercase.c: Likewise.
58923         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
58924         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
58925         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
58926         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
58927         * tests/unictype/test-pr_private_use.c: Likewise.
58928         * tests/unictype/test-pr_punctuation.c: Likewise.
58929         * tests/unictype/test-pr_quotation_mark.c: Likewise.
58930         * tests/unictype/test-pr_radical.c: Likewise.
58931         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
58932         * tests/unictype/test-pr_soft_dotted.c: Likewise.
58933         * tests/unictype/test-pr_space.c: Likewise.
58934         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
58935         * tests/unictype/test-pr_titlecase.c: Likewise.
58936         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
58937         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
58938         * tests/unictype/test-pr_uppercase.c: Likewise.
58939         * tests/unictype/test-pr_variation_selector.c: Likewise.
58940         * tests/unictype/test-pr_white_space.c: Likewise.
58941         * tests/unictype/test-pr_xid_continue.c: Likewise.
58942         * tests/unictype/test-pr_xid_start.c: Likewise.
58943         * tests/unictype/test-pr_zero_width.c: Likewise.
58944         * tests/unictype/test-sy_c_whitespace.c: Likewise.
58945         * tests/unictype/test-sy_java_whitespace.c: Likewise.
58946
58947 2007-11-12  Bruno Haible  <bruno@clisp.org>
58948
58949         Unicode character classification functions.
58950         * lib/unictype.h: New file.
58951         * modules/unictype/base: New file.
58952         * modules/unictype/category-L: New file.
58953         * modules/unictype/category-Lu: New file.
58954         * modules/unictype/category-Ll: New file.
58955         * modules/unictype/category-Lt: New file.
58956         * modules/unictype/category-Lm: New file.
58957         * modules/unictype/category-Lo: New file.
58958         * modules/unictype/category-M: New file.
58959         * modules/unictype/category-Mn: New file.
58960         * modules/unictype/category-Mc: New file.
58961         * modules/unictype/category-Me: New file.
58962         * modules/unictype/category-N: New file.
58963         * modules/unictype/category-Nd: New file.
58964         * modules/unictype/category-Nl: New file.
58965         * modules/unictype/category-No: New file.
58966         * modules/unictype/category-P: New file.
58967         * modules/unictype/category-Pc: New file.
58968         * modules/unictype/category-Pd: New file.
58969         * modules/unictype/category-Ps: New file.
58970         * modules/unictype/category-Pe: New file.
58971         * modules/unictype/category-Pi: New file.
58972         * modules/unictype/category-Pf: New file.
58973         * modules/unictype/category-Po: New file.
58974         * modules/unictype/category-S: New file.
58975         * modules/unictype/category-Sm: New file.
58976         * modules/unictype/category-Sc: New file.
58977         * modules/unictype/category-Sk: New file.
58978         * modules/unictype/category-So: New file.
58979         * modules/unictype/category-Z: New file.
58980         * modules/unictype/category-Zs: New file.
58981         * modules/unictype/category-Zl: New file.
58982         * modules/unictype/category-Zp: New file.
58983         * modules/unictype/category-C: New file.
58984         * modules/unictype/category-Cc: New file.
58985         * modules/unictype/category-Cf: New file.
58986         * modules/unictype/category-Cs: New file.
58987         * modules/unictype/category-Co: New file.
58988         * modules/unictype/category-Cn: New file.
58989         * modules/unictype/category-or: New file.
58990         * modules/unictype/category-of: New file.
58991         * modules/unictype/category-test: New file.
58992         * modules/unictype/category-test-withtable: New file.
58993         * modules/unictype/category-byname: New file.
58994         * modules/unictype/category-none: New file.
58995         * modules/unictype/category-and: New file.
58996         * modules/unictype/category-and-not: New file.
58997         * modules/unictype/category-name: New file.
58998         * modules/unictype/combining-class: New file.
58999         * modules/unictype/category-all: New file.
59000         * modules/unictype/bidicategory-all: New file.
59001         * modules/unictype/bidicategory-byname: New file.
59002         * modules/unictype/bidicategory-name: New file.
59003         * modules/unictype/bidicategory-of: New file.
59004         * modules/unictype/bidicategory-test: New file.
59005         * modules/unictype/decimal-digit: New file.
59006         * modules/unictype/digit: New file.
59007         * modules/unictype/numeric: New file.
59008         * modules/unictype/mirror: New file.
59009         * modules/unictype/property-white-space: New file.
59010         * modules/unictype/property-alphabetic: New file.
59011         * modules/unictype/property-other-alphabetic: New file.
59012         * modules/unictype/property-not-a-character: New file.
59013         * modules/unictype/property-default-ignorable-code-point: New file.
59014         * modules/unictype/property-other-default-ignorable-code-point: New
59015         file.
59016         * modules/unictype/property-deprecated: New file.
59017         * modules/unictype/property-logical-order-exception: New file.
59018         * modules/unictype/property-variation-selector: New file.
59019         * modules/unictype/property-private-use: New file.
59020         * modules/unictype/property-unassigned-code-value: New file.
59021         * modules/unictype/property-uppercase: New file.
59022         * modules/unictype/property-other-uppercase: New file.
59023         * modules/unictype/property-lowercase: New file.
59024         * modules/unictype/property-other-lowercase: New file.
59025         * modules/unictype/property-titlecase: New file.
59026         * modules/unictype/property-soft-dotted: New file.
59027         * modules/unictype/property-id-start: New file.
59028         * modules/unictype/property-other-id-start: New file.
59029         * modules/unictype/property-id-continue: New file.
59030         * modules/unictype/property-other-id-continue: New file.
59031         * modules/unictype/property-xid-start: New file.
59032         * modules/unictype/property-xid-continue: New file.
59033         * modules/unictype/property-pattern-white-space: New file.
59034         * modules/unictype/property-pattern-syntax: New file.
59035         * modules/unictype/property-join-control: New file.
59036         * modules/unictype/property-grapheme-base: New file.
59037         * modules/unictype/property-grapheme-extend: New file.
59038         * modules/unictype/property-other-grapheme-extend: New file.
59039         * modules/unictype/property-grapheme-link: New file.
59040         * modules/unictype/property-bidi-control: New file.
59041         * modules/unictype/property-bidi-left-to-right: New file.
59042         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
59043         * modules/unictype/property-bidi-arabic-right-to-left: New file.
59044         * modules/unictype/property-bidi-european-digit: New file.
59045         * modules/unictype/property-bidi-eur-num-separator: New file.
59046         * modules/unictype/property-bidi-eur-num-terminator: New file.
59047         * modules/unictype/property-bidi-arabic-digit: New file.
59048         * modules/unictype/property-bidi-common-separator: New file.
59049         * modules/unictype/property-bidi-block-separator: New file.
59050         * modules/unictype/property-bidi-segment-separator: New file.
59051         * modules/unictype/property-bidi-whitespace: New file.
59052         * modules/unictype/property-bidi-non-spacing-mark: New file.
59053         * modules/unictype/property-bidi-boundary-neutral: New file.
59054         * modules/unictype/property-bidi-pdf: New file.
59055         * modules/unictype/property-bidi-embedding-or-override: New file.
59056         * modules/unictype/property-bidi-other-neutral: New file.
59057         * modules/unictype/property-hex-digit: New file.
59058         * modules/unictype/property-ascii-hex-digit: New file.
59059         * modules/unictype/property-ideographic: New file.
59060         * modules/unictype/property-unified-ideograph: New file.
59061         * modules/unictype/property-radical: New file.
59062         * modules/unictype/property-ids-binary-operator: New file.
59063         * modules/unictype/property-ids-trinary-operator: New file.
59064         * modules/unictype/property-zero-width: New file.
59065         * modules/unictype/property-space: New file.
59066         * modules/unictype/property-non-break: New file.
59067         * modules/unictype/property-iso-control: New file.
59068         * modules/unictype/property-format-control: New file.
59069         * modules/unictype/property-dash: New file.
59070         * modules/unictype/property-hyphen: New file.
59071         * modules/unictype/property-punctuation: New file.
59072         * modules/unictype/property-line-separator: New file.
59073         * modules/unictype/property-paragraph-separator: New file.
59074         * modules/unictype/property-quotation-mark: New file.
59075         * modules/unictype/property-sentence-terminal: New file.
59076         * modules/unictype/property-terminal-punctuation: New file.
59077         * modules/unictype/property-currency-symbol: New file.
59078         * modules/unictype/property-math: New file.
59079         * modules/unictype/property-other-math: New file.
59080         * modules/unictype/property-paired-punctuation: New file.
59081         * modules/unictype/property-left-of-pair: New file.
59082         * modules/unictype/property-combining: New file.
59083         * modules/unictype/property-composite: New file.
59084         * modules/unictype/property-decimal-digit: New file.
59085         * modules/unictype/property-numeric: New file.
59086         * modules/unictype/property-diacritic: New file.
59087         * modules/unictype/property-extender: New file.
59088         * modules/unictype/property-ignorable-control: New file.
59089         * modules/unictype/property-test: New file.
59090         * modules/unictype/property-byname: New file.
59091         * modules/unictype/property-all: New file.
59092         * modules/unictype/scripts: New file.
59093         * modules/unictype/scripts-all: New file.
59094         * modules/unictype/block-of: New file.
59095         * modules/unictype/block-test: New file.
59096         * modules/unictype/block-list: New file.
59097         * modules/unictype/block-all: New file.
59098         * modules/unictype/syntax-c-whitespace: New file.
59099         * modules/unictype/syntax-java-whitespace: New file.
59100         * modules/unictype/syntax-c-ident: New file.
59101         * modules/unictype/syntax-java-ident: New file.
59102         * modules/unictype/ctype-alnum: New file.
59103         * modules/unictype/ctype-alpha: New file.
59104         * modules/unictype/ctype-cntrl: New file.
59105         * modules/unictype/ctype-digit: New file.
59106         * modules/unictype/ctype-graph: New file.
59107         * modules/unictype/ctype-lower: New file.
59108         * modules/unictype/ctype-print: New file.
59109         * modules/unictype/ctype-punct: New file.
59110         * modules/unictype/ctype-space: New file.
59111         * modules/unictype/ctype-upper: New file.
59112         * modules/unictype/ctype-xdigit: New file.
59113         * modules/unictype/ctype-blank: New file.
59114         * lib/unictype/bidi_byname.c: New file.
59115         * lib/unictype/bidi_name.c: New file.
59116         * lib/unictype/bidi_of.c: New file.
59117         * lib/unictype/bidi_test.c: New file.
59118         * lib/unictype/bitmap.h: New file.
59119         * lib/unictype/block_test.c: New file.
59120         * lib/unictype/blocks.c: New file.
59121         * lib/unictype/categ_C.c: New file.
59122         * lib/unictype/categ_Cc.c: New file.
59123         * lib/unictype/categ_Cf.c: New file.
59124         * lib/unictype/categ_Cn.c: New file.
59125         * lib/unictype/categ_Co.c: New file.
59126         * lib/unictype/categ_Cs.c: New file.
59127         * lib/unictype/categ_L.c: New file.
59128         * lib/unictype/categ_Ll.c: New file.
59129         * lib/unictype/categ_Lm.c: New file.
59130         * lib/unictype/categ_Lo.c: New file.
59131         * lib/unictype/categ_Lt.c: New file.
59132         * lib/unictype/categ_Lu.c: New file.
59133         * lib/unictype/categ_M.c: New file.
59134         * lib/unictype/categ_Mc.c: New file.
59135         * lib/unictype/categ_Me.c: New file.
59136         * lib/unictype/categ_Mn.c: New file.
59137         * lib/unictype/categ_N.c: New file.
59138         * lib/unictype/categ_Nd.c: New file.
59139         * lib/unictype/categ_Nl.c: New file.
59140         * lib/unictype/categ_No.c: New file.
59141         * lib/unictype/categ_P.c: New file.
59142         * lib/unictype/categ_Pc.c: New file.
59143         * lib/unictype/categ_Pd.c: New file.
59144         * lib/unictype/categ_Pe.c: New file.
59145         * lib/unictype/categ_Pf.c: New file.
59146         * lib/unictype/categ_Pi.c: New file.
59147         * lib/unictype/categ_Po.c: New file.
59148         * lib/unictype/categ_Ps.c: New file.
59149         * lib/unictype/categ_S.c: New file.
59150         * lib/unictype/categ_Sc.c: New file.
59151         * lib/unictype/categ_Sk.c: New file.
59152         * lib/unictype/categ_Sm.c: New file.
59153         * lib/unictype/categ_So.c: New file.
59154         * lib/unictype/categ_Z.c: New file.
59155         * lib/unictype/categ_Zl.c: New file.
59156         * lib/unictype/categ_Zp.c: New file.
59157         * lib/unictype/categ_Zs.c: New file.
59158         * lib/unictype/categ_and.c: New file.
59159         * lib/unictype/categ_and_not.c: New file.
59160         * lib/unictype/categ_byname.c: New file.
59161         * lib/unictype/categ_name.c: New file.
59162         * lib/unictype/categ_none.c: New file.
59163         * lib/unictype/categ_of.c: New file.
59164         * lib/unictype/categ_or.c: New file.
59165         * lib/unictype/categ_test.c: New file.
59166         * lib/unictype/combining.c: New file.
59167         * lib/unictype/ctype_alnum.c: New file.
59168         * lib/unictype/ctype_alpha.c: New file.
59169         * lib/unictype/ctype_blank.c: New file.
59170         * lib/unictype/ctype_cntrl.c: New file.
59171         * lib/unictype/ctype_digit.c: New file.
59172         * lib/unictype/ctype_graph.c: New file.
59173         * lib/unictype/ctype_lower.c: New file.
59174         * lib/unictype/ctype_print.c: New file.
59175         * lib/unictype/ctype_punct.c: New file.
59176         * lib/unictype/ctype_space.c: New file.
59177         * lib/unictype/ctype_upper.c: New file.
59178         * lib/unictype/ctype_xdigit.c: New file.
59179         * lib/unictype/decdigit.c: New file.
59180         * lib/unictype/digit.c: New file.
59181         * lib/unictype/identsyntaxmap.h: New file.
59182         * lib/unictype/mirror.c: New file.
59183         * lib/unictype/numeric.c: New file.
59184         * lib/unictype/pr_alphabetic.c: New file.
59185         * lib/unictype/pr_ascii_hex_digit.c: New file.
59186         * lib/unictype/pr_bidi_arabic_digit.c: New file.
59187         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
59188         * lib/unictype/pr_bidi_block_separator.c: New file.
59189         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
59190         * lib/unictype/pr_bidi_common_separator.c: New file.
59191         * lib/unictype/pr_bidi_control.c: New file.
59192         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
59193         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
59194         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
59195         * lib/unictype/pr_bidi_european_digit.c: New file.
59196         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
59197         * lib/unictype/pr_bidi_left_to_right.c: New file.
59198         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
59199         * lib/unictype/pr_bidi_other_neutral.c: New file.
59200         * lib/unictype/pr_bidi_pdf.c: New file.
59201         * lib/unictype/pr_bidi_segment_separator.c: New file.
59202         * lib/unictype/pr_bidi_whitespace.c: New file.
59203         * lib/unictype/pr_byname.c: New file.
59204         * lib/unictype/pr_byname.gperf: New file.
59205         * lib/unictype/pr_combining.c: New file.
59206         * lib/unictype/pr_composite.c: New file.
59207         * lib/unictype/pr_currency_symbol.c: New file.
59208         * lib/unictype/pr_dash.c: New file.
59209         * lib/unictype/pr_decimal_digit.c: New file.
59210         * lib/unictype/pr_default_ignorable_code_point.c: New file.
59211         * lib/unictype/pr_deprecated.c: New file.
59212         * lib/unictype/pr_diacritic.c: New file.
59213         * lib/unictype/pr_extender.c: New file.
59214         * lib/unictype/pr_format_control.c: New file.
59215         * lib/unictype/pr_grapheme_base.c: New file.
59216         * lib/unictype/pr_grapheme_extend.c: New file.
59217         * lib/unictype/pr_grapheme_link.c: New file.
59218         * lib/unictype/pr_hex_digit.c: New file.
59219         * lib/unictype/pr_hyphen.c: New file.
59220         * lib/unictype/pr_id_continue.c: New file.
59221         * lib/unictype/pr_id_start.c: New file.
59222         * lib/unictype/pr_ideographic.c: New file.
59223         * lib/unictype/pr_ids_binary_operator.c: New file.
59224         * lib/unictype/pr_ids_trinary_operator.c: New file.
59225         * lib/unictype/pr_ignorable_control.c: New file.
59226         * lib/unictype/pr_iso_control.c: New file.
59227         * lib/unictype/pr_join_control.c: New file.
59228         * lib/unictype/pr_left_of_pair.c: New file.
59229         * lib/unictype/pr_line_separator.c: New file.
59230         * lib/unictype/pr_logical_order_exception.c: New file.
59231         * lib/unictype/pr_lowercase.c: New file.
59232         * lib/unictype/pr_math.c: New file.
59233         * lib/unictype/pr_non_break.c: New file.
59234         * lib/unictype/pr_not_a_character.c: New file.
59235         * lib/unictype/pr_numeric.c: New file.
59236         * lib/unictype/pr_other_alphabetic.c: New file.
59237         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
59238         * lib/unictype/pr_other_grapheme_extend.c: New file.
59239         * lib/unictype/pr_other_id_continue.c: New file.
59240         * lib/unictype/pr_other_id_start.c: New file.
59241         * lib/unictype/pr_other_lowercase.c: New file.
59242         * lib/unictype/pr_other_math.c: New file.
59243         * lib/unictype/pr_other_uppercase.c: New file.
59244         * lib/unictype/pr_paired_punctuation.c: New file.
59245         * lib/unictype/pr_paragraph_separator.c: New file.
59246         * lib/unictype/pr_pattern_syntax.c: New file.
59247         * lib/unictype/pr_pattern_white_space.c: New file.
59248         * lib/unictype/pr_private_use.c: New file.
59249         * lib/unictype/pr_punctuation.c: New file.
59250         * lib/unictype/pr_quotation_mark.c: New file.
59251         * lib/unictype/pr_radical.c: New file.
59252         * lib/unictype/pr_sentence_terminal.c: New file.
59253         * lib/unictype/pr_soft_dotted.c: New file.
59254         * lib/unictype/pr_space.c: New file.
59255         * lib/unictype/pr_terminal_punctuation.c: New file.
59256         * lib/unictype/pr_test.c: New file.
59257         * lib/unictype/pr_titlecase.c: New file.
59258         * lib/unictype/pr_unassigned_code_value.c: New file.
59259         * lib/unictype/pr_unified_ideograph.c: New file.
59260         * lib/unictype/pr_uppercase.c: New file.
59261         * lib/unictype/pr_variation_selector.c: New file.
59262         * lib/unictype/pr_white_space.c: New file.
59263         * lib/unictype/pr_xid_continue.c: New file.
59264         * lib/unictype/pr_xid_start.c: New file.
59265         * lib/unictype/pr_zero_width.c: New file.
59266         * lib/unictype/scripts.c: New file.
59267         * lib/unictype/sy_c_ident.c: New file.
59268         * lib/unictype/sy_c_whitespace.c: New file.
59269         * lib/unictype/sy_java_ident.c: New file.
59270         * lib/unictype/sy_java_whitespace.c: New file.
59271
59272         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
59273         Unicode 5.0.0.
59274         * lib/unictype/blocks.h: Likewise.
59275         * lib/unictype/categ_C.h: Likewise.
59276         * lib/unictype/categ_Cc.h: Likewise.
59277         * lib/unictype/categ_Cf.h: Likewise.
59278         * lib/unictype/categ_Cn.h: Likewise.
59279         * lib/unictype/categ_Co.h: Likewise.
59280         * lib/unictype/categ_Cs.h: Likewise.
59281         * lib/unictype/categ_L.h: Likewise.
59282         * lib/unictype/categ_Ll.h: Likewise.
59283         * lib/unictype/categ_Lm.h: Likewise.
59284         * lib/unictype/categ_Lo.h: Likewise.
59285         * lib/unictype/categ_Lt.h: Likewise.
59286         * lib/unictype/categ_Lu.h: Likewise.
59287         * lib/unictype/categ_M.h: Likewise.
59288         * lib/unictype/categ_Mc.h: Likewise.
59289         * lib/unictype/categ_Me.h: Likewise.
59290         * lib/unictype/categ_Mn.h: Likewise.
59291         * lib/unictype/categ_N.h: Likewise.
59292         * lib/unictype/categ_Nd.h: Likewise.
59293         * lib/unictype/categ_Nl.h: Likewise.
59294         * lib/unictype/categ_No.h: Likewise.
59295         * lib/unictype/categ_P.h: Likewise.
59296         * lib/unictype/categ_Pc.h: Likewise.
59297         * lib/unictype/categ_Pd.h: Likewise.
59298         * lib/unictype/categ_Pe.h: Likewise.
59299         * lib/unictype/categ_Pf.h: Likewise.
59300         * lib/unictype/categ_Pi.h: Likewise.
59301         * lib/unictype/categ_Po.h: Likewise.
59302         * lib/unictype/categ_Ps.h: Likewise.
59303         * lib/unictype/categ_S.h: Likewise.
59304         * lib/unictype/categ_Sc.h: Likewise.
59305         * lib/unictype/categ_Sk.h: Likewise.
59306         * lib/unictype/categ_Sm.h: Likewise.
59307         * lib/unictype/categ_So.h: Likewise.
59308         * lib/unictype/categ_Z.h: Likewise.
59309         * lib/unictype/categ_Zl.h: Likewise.
59310         * lib/unictype/categ_Zp.h: Likewise.
59311         * lib/unictype/categ_Zs.h: Likewise.
59312         * lib/unictype/categ_of.h: Likewise.
59313         * lib/unictype/combining.h: Likewise.
59314         * lib/unictype/ctype_alnum.h: Likewise.
59315         * lib/unictype/ctype_alpha.h: Likewise.
59316         * lib/unictype/ctype_blank.h: Likewise.
59317         * lib/unictype/ctype_cntrl.h: Likewise.
59318         * lib/unictype/ctype_digit.h: Likewise.
59319         * lib/unictype/ctype_graph.h: Likewise.
59320         * lib/unictype/ctype_lower.h: Likewise.
59321         * lib/unictype/ctype_print.h: Likewise.
59322         * lib/unictype/ctype_punct.h: Likewise.
59323         * lib/unictype/ctype_space.h: Likewise.
59324         * lib/unictype/ctype_upper.h: Likewise.
59325         * lib/unictype/ctype_xdigit.h: Likewise.
59326         * lib/unictype/decdigit.h: Likewise.
59327         * lib/unictype/digit.h: Likewise.
59328         * lib/unictype/mirror.h: Likewise.
59329         * lib/unictype/numeric.h: Likewise.
59330         * lib/unictype/pr_alphabetic.h: Likewise.
59331         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
59332         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
59333         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
59334         * lib/unictype/pr_bidi_block_separator.h: Likewise.
59335         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
59336         * lib/unictype/pr_bidi_common_separator.h: Likewise.
59337         * lib/unictype/pr_bidi_control.h: Likewise.
59338         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
59339         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
59340         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
59341         * lib/unictype/pr_bidi_european_digit.h: Likewise.
59342         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
59343         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
59344         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
59345         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
59346         * lib/unictype/pr_bidi_pdf.h: Likewise.
59347         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
59348         * lib/unictype/pr_bidi_whitespace.h: Likewise.
59349         * lib/unictype/pr_combining.h: Likewise.
59350         * lib/unictype/pr_composite.h: Likewise.
59351         * lib/unictype/pr_currency_symbol.h: Likewise.
59352         * lib/unictype/pr_dash.h: Likewise.
59353         * lib/unictype/pr_decimal_digit.h: Likewise.
59354         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
59355         * lib/unictype/pr_deprecated.h: Likewise.
59356         * lib/unictype/pr_diacritic.h: Likewise.
59357         * lib/unictype/pr_extender.h: Likewise.
59358         * lib/unictype/pr_format_control.h: Likewise.
59359         * lib/unictype/pr_grapheme_base.h: Likewise.
59360         * lib/unictype/pr_grapheme_extend.h: Likewise.
59361         * lib/unictype/pr_grapheme_link.h: Likewise.
59362         * lib/unictype/pr_hex_digit.h: Likewise.
59363         * lib/unictype/pr_hyphen.h: Likewise.
59364         * lib/unictype/pr_id_continue.h: Likewise.
59365         * lib/unictype/pr_id_start.h: Likewise.
59366         * lib/unictype/pr_ideographic.h: Likewise.
59367         * lib/unictype/pr_ids_binary_operator.h: Likewise.
59368         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
59369         * lib/unictype/pr_ignorable_control.h: Likewise.
59370         * lib/unictype/pr_iso_control.h: Likewise.
59371         * lib/unictype/pr_join_control.h: Likewise.
59372         * lib/unictype/pr_left_of_pair.h: Likewise.
59373         * lib/unictype/pr_line_separator.h: Likewise.
59374         * lib/unictype/pr_logical_order_exception.h: Likewise.
59375         * lib/unictype/pr_lowercase.h: Likewise.
59376         * lib/unictype/pr_math.h: Likewise.
59377         * lib/unictype/pr_non_break.h: Likewise.
59378         * lib/unictype/pr_not_a_character.h: Likewise.
59379         * lib/unictype/pr_numeric.h: Likewise.
59380         * lib/unictype/pr_other_alphabetic.h: Likewise.
59381         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
59382         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
59383         * lib/unictype/pr_other_id_continue.h: Likewise.
59384         * lib/unictype/pr_other_id_start.h: Likewise.
59385         * lib/unictype/pr_other_lowercase.h: Likewise.
59386         * lib/unictype/pr_other_math.h: Likewise.
59387         * lib/unictype/pr_other_uppercase.h: Likewise.
59388         * lib/unictype/pr_paired_punctuation.h: Likewise.
59389         * lib/unictype/pr_paragraph_separator.h: Likewise.
59390         * lib/unictype/pr_pattern_syntax.h: Likewise.
59391         * lib/unictype/pr_pattern_white_space.h: Likewise.
59392         * lib/unictype/pr_private_use.h: Likewise.
59393         * lib/unictype/pr_punctuation.h: Likewise.
59394         * lib/unictype/pr_quotation_mark.h: Likewise.
59395         * lib/unictype/pr_radical.h: Likewise.
59396         * lib/unictype/pr_sentence_terminal.h: Likewise.
59397         * lib/unictype/pr_soft_dotted.h: Likewise.
59398         * lib/unictype/pr_space.h: Likewise.
59399         * lib/unictype/pr_terminal_punctuation.h: Likewise.
59400         * lib/unictype/pr_titlecase.h: Likewise.
59401         * lib/unictype/pr_unassigned_code_value.h: Likewise.
59402         * lib/unictype/pr_unified_ideograph.h: Likewise.
59403         * lib/unictype/pr_uppercase.h: Likewise.
59404         * lib/unictype/pr_variation_selector.h: Likewise.
59405         * lib/unictype/pr_white_space.h: Likewise.
59406         * lib/unictype/pr_xid_continue.h: Likewise.
59407         * lib/unictype/pr_xid_start.h: Likewise.
59408         * lib/unictype/pr_zero_width.h: Likewise.
59409         * lib/unictype/scripts.h: Likewise.
59410         * lib/unictype/scripts_byname.gperf: Likewise.
59411         * lib/unictype/sy_c_ident.h: Likewise.
59412         * lib/unictype/sy_c_whitespace.h: Likewise.
59413         * lib/unictype/sy_java_ident.h: Likewise.
59414         * lib/unictype/sy_java_whitespace.h: Likewise.
59415
59416         * lib/unictype/Makefile: New file.
59417         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
59418         glibc.
59419         * lib/unictype/3level.h: New file, copied from glibc.
59420         * lib/unictype/3levelbit.h: New file.
59421
59422 2007-11-11  Bruno Haible  <bruno@clisp.org>
59423
59424         * modules/gperf: New file.
59425         * modules/iconv_open (Depends-on): Add it.
59426         (Makefile.am): Remove the GPERF definition.
59427
59428 2007-11-11  Bruno Haible  <bruno@clisp.org>
59429
59430         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
59431         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
59432
59433 2007-11-11  Bruno Haible  <bruno@clisp.org>
59434
59435         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
59436         (usage): Remove function.
59437
59438 2007-11-11  Bruno Haible  <bruno@clisp.org>
59439
59440         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
59441         gl_FUNC_CEILF_LIBS.
59442         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
59443         gl_FUNC_CEIL_LIBS.
59444         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
59445         gl_FUNC_CEILL_LIBS.
59446         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
59447         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
59448         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
59449
59450 2007-11-11  Bruno Haible  <bruno@clisp.org>
59451
59452         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
59453         roundf were declared but do not exist on functions.
59454         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
59455         roundl were declared but do not exist on functions.
59456         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
59457         HAVE_FLOORL_AND_CEILL, respectively.
59458         Needed for Sun C on Solaris 10.
59459
59460 2007-11-11  Bruno Haible  <bruno@clisp.org>
59461
59462         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
59463         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
59464         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
59465         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
59466         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
59467         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
59468         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
59469         HAVE_DECL_ROUNDF.
59470         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
59471         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
59472         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
59473         of HAVE_DECL_ROUND*.
59474         * modules/math (Makefile.am): Update.
59475
59476 2007-11-10  Bruno Haible  <bruno@clisp.org>
59477
59478         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
59479         ptrdiff_t as m4/intl.m4.
59480
59481 2007-11-10  Jim Meyering  <meyering@redhat.com>
59482
59483         Avoid link failure for the argmatch test.
59484         * tests/test-argmatch.c (usage): Define function to avoid a link
59485         failure: argmatch_die requires a usage function.
59486
59487 2007-11-09  Bruno Haible  <bruno@clisp.org>
59488
59489         * doc/functions/snprintf.texi: Mention BeOS deficiency.
59490         * doc/functions/vsnprintf.texi: Likewise.
59491         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
59492         with a size argument < 2.
59493
59494 2007-11-09  Bruno Haible  <bruno@clisp.org>
59495
59496         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
59497         buffer. Fixes an inefficiency introduced on 2007-11-03.
59498
59499 2007-11-09  Bruno Haible  <bruno@clisp.org>
59500
59501         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
59502         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
59503
59504 2007-11-08  Jim Meyering  <meyering@redhat.com>
59505
59506         Change cache variable name prefix "jm_" to "gl_" everywhere.
59507         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
59508         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
59509         * m4/uptime.m4: s/gl_/jm_/
59510
59511 2007-11-07  Bruno Haible  <bruno@clisp.org>
59512
59513         Update to GNU gettext 0.17.
59514         * m4/intl.m4: Update to GNU gettext 0.17.
59515         * m4/po.m4: Likewise.
59516         * modules/gettext (Files): Remove m4/ulonglong.m4.
59517         (configure.ac): Require gettext infrastructure from version 0.17.
59518
59519 2007-11-06  Bruno Haible  <bruno@clisp.org>
59520
59521         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
59522         symbolic values are not defined in a public header.
59523         * lib/freadable.c (freadable) [QNX]: Likewise.
59524         * lib/freadahead.c (freadahead) [QNX]: Likewise.
59525         * lib/freading.c (freading) [QNX]: Likewise.
59526         * lib/fseterr.c (fseterr) [QNX]: Likewise.
59527         * lib/fwritable.c (fwritable) [QNX]: Likewise.
59528         * lib/fwriting.c (fwriting) [QNX]: Likewise.
59529         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
59530         Reported by Alain Magloire.
59531
59532         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
59533
59534 2007-11-05  Bruno Haible  <bruno@clisp.org>
59535
59536         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
59537         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
59538         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
59539         Reported by Eric Blake.
59540
59541 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59542             Bruno Haible  <bruno@clisp.org>
59543
59544         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
59545         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
59546         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
59547         (malloc): Undefine also before including <stdlib.h>.
59548         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
59549         Needed on OSF/1 4.0.
59550
59551 2007-11-05  Jim Meyering  <meyering@redhat.com>
59552
59553         git-version-gen: sync from coreutils.
59554         * build-aux/git-version-gen: Add comments.
59555         Change the first '-' to '.' in the snapshot version string,
59556         e.g., 6.9-377-08144 -> 6.9.377-08144
59557         Remove first parameter.
59558         Don't declare a version "-dirty" merely because a time
59559         stamp has changed.
59560
59561 2007-11-04  Bruno Haible  <bruno@clisp.org>
59562
59563         * lib/lock.h: Protect all macro definitions containing an 'if'
59564         statement through a "do { ... } while (0)".
59565         * lib/tls.h: Likewise.
59566
59567 2007-11-04  Bruno Haible  <bruno@clisp.org>
59568
59569         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
59570
59571 2007-11-04  Bruno Haible  <bruno@clisp.org>
59572
59573         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
59574         * modules/fprintf-posix (Depends-on): Add nocrash.
59575         * modules/snprintf-posix (Depends-on): Likewise.
59576         * modules/sprintf-posix (Depends-on): Likewise.
59577         * modules/vasnprintf-posix (Depends-on): Likewise.
59578         * modules/vasprintf-posix (Depends-on): Likewise.
59579         * modules/vfprintf-posix (Depends-on): Likewise.
59580         * modules/vsnprintf-posix (Depends-on): Likewise.
59581         * modules/vsprintf-posix (Depends-on): Likewise.
59582         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
59583         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
59584         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
59585         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
59586         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
59587         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
59588         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
59589
59590 2007-11-04  Bruno Haible  <bruno@clisp.org>
59591
59592         * modules/nocrash: New file.
59593         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
59594         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
59595
59596 2007-11-04  Bruno Haible  <bruno@clisp.org>
59597
59598         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
59599         precision handling.
59600         * tests/test-vasprintf-posix.c (test_function): Likewise.
59601         * tests/test-snprintf-posix.h (test_function): Likewise.
59602         * tests/test-sprintf-posix.h (test_function): Likewise.
59603
59604         Fix *printf behaviour for large precisions on mingw and BeOS.
59605         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
59606         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
59607         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
59608         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
59609         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
59610         gl_PRINTF_PRECISION and test its result. Invoke
59611         gl_PREREQ_VASNPRINTF_PRECISION.
59612         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
59613         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
59614         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
59615         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
59616         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
59617         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
59618         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
59619         * doc/functions/fprintf.texi: Update.
59620         * doc/functions/printf.texi: Update.
59621         * doc/functions/snprintf.texi: Update.
59622         * doc/functions/sprintf.texi: Update.
59623         * doc/functions/vfprintf.texi: Update.
59624         * doc/functions/vprintf.texi: Update.
59625         * doc/functions/vsnprintf.texi: Update.
59626         * doc/functions/vsprintf.texi: Update.
59627
59628 2007-11-04  Bruno Haible  <bruno@clisp.org>
59629
59630         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
59631
59632 2007-11-04  Bruno Haible  <bruno@clisp.org>
59633
59634         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
59635         Reported by Sylvain Beucler <beuc@gnu.org>.
59636
59637 2007-11-03  Bruno Haible  <bruno@clisp.org>
59638
59639         * tests/test-fprintf-posix2.sh: New file.
59640         * tests/test-fprintf-posix2.c: New file.
59641         * modules/fprintf-posix-tests (Files): Add them.
59642         (TESTS): Add test-fprintf-posix2.sh.
59643         (configure.ac): Check for getrlimit and setrlimit.
59644         (check_PROGRAMS): Add test-fprintf-posix2.
59645
59646         * tests/test-printf-posix2.sh: New file.
59647         * tests/test-printf-posix2.c: New file.
59648         * modules/printf-posix-tests (Files): Add them.
59649         (TESTS): Add test-printf-posix2.sh.
59650         (configure.ac): Check for getrlimit and setrlimit.
59651         (check_PROGRAMS): Add test-printf-posix2.
59652
59653         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
59654         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
59655         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
59656         (decode_double): New function, copied from decode_long_double.
59657         (scale10_round_decimal_decoded): New function, extracted from
59658         scale10_round_decimal_long_double.
59659         (scale10_round_decimal_long_double): Use it.
59660         (scale10_round_decimal_double): New function.
59661         (floorlog10): New function.
59662         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
59663         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
59664         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
59665         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
59666         gl_PRINTF_ENOMEM and test its result. Invoke
59667         gl_PREREQ_VASNPRINTF_ENOMEM.
59668         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
59669         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
59670         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
59671         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
59672         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
59673         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
59674         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
59675         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
59676         * modules/snprintf-posix (Depends-on): Likewise.
59677         * modules/sprintf-posix (Depends-on): Likewise.
59678         * modules/vasnprintf-posix (Depends-on): Likewise.
59679         * modules/vasprintf-posix (Depends-on): Likewise.
59680         * modules/vfprintf-posix (Depends-on): Likewise.
59681         * modules/vsnprintf-posix (Depends-on): Likewise.
59682         * modules/vsprintf-posix (Depends-on): Likewise.
59683         * doc/functions/fprintf.texi: Update.
59684         * doc/functions/printf.texi: Update.
59685         * doc/functions/snprintf.texi: Update.
59686         * doc/functions/sprintf.texi: Update.
59687         * doc/functions/vfprintf.texi: Update.
59688         * doc/functions/vprintf.texi: Update.
59689         * doc/functions/vsnprintf.texi: Update.
59690         * doc/functions/vsprintf.texi: Update.
59691
59692 2007-11-03  Bruno Haible  <bruno@clisp.org>
59693
59694         * modules/frexp-nolibm-tests: New file.
59695
59696         * modules/frexp-nolibm: New file.
59697         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
59698
59699 2007-11-03  Bruno Haible  <bruno@clisp.org>
59700
59701         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
59702         value is C99 compliant.
59703         Needed for OSF/1 5.1.
59704
59705 2007-11-03  Bruno Haible  <bruno@clisp.org>
59706
59707         Fix out-of-memory handling of vasnprintf.
59708         * lib/printf-parse.c: Include <errno.h>.
59709         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
59710         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
59711         is already set.
59712
59713 2007-11-02  Eric Blake  <ebb9@byu.net>
59714
59715         Fix tests on cygwin.
59716         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
59717
59718 2007-11-01  Bruno Haible  <bruno@clisp.org>
59719
59720         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
59721         warning.
59722         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
59723         needed for POSIX compatibility.
59724
59725 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
59726
59727         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
59728         for compatibility with GNU.
59729
59730 2007-11-01  Bruno Haible  <bruno@clisp.org>
59731
59732         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
59733         (putenv): Renamed from rpl_putenv. Change argument type from
59734         'const char *' to 'char *'.
59735         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
59736         of defining putenv in config.h, just set REPLACE_PUTENV.
59737         * modules/putenv (Depends-on): Add stdlib.
59738         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
59739         (Include): Use <stdlib.h>.
59740         * lib/stdlib.in.h (putenv): New declaration.
59741         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
59742         REPLACE_PUTENV.
59743         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
59744         REPLACE_PUTENV.
59745         Needed for MacOS X 10.5.0.
59746         Reported by Peter O'Gorman <peter@pogma.com>.
59747
59748 2007-11-01  Jim Meyering  <meyering@redhat.com>
59749
59750         Treat an empty date string exactly like "0".
59751         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
59752         if the remaining date string (to be parsed) is empty, use "0".
59753         Reported by Mischa Molhoek and discussed in this thread:
59754         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
59755
59756 2007-10-31  Bruno Haible  <bruno@clisp.org>
59757
59758         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
59759         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
59760         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
59761         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
59762         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
59763         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
59764
59765 2007-10-31  Bruno Haible  <bruno@clisp.org>
59766
59767         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
59768         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
59769         (AC_TYPE_LONG_LONG_INT): Use it.
59770         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
59771         it as well.
59772         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
59773         to m4/longlong.m4.
59774         * modules/stdint (Files): Remove m4/ulonglong.m4.
59775         * modules/strtoull (Files): Use m4/longlong.m4 instead of
59776         m4/ulonglong.m4.
59777         * modules/strtoumax (Files): Likewise.
59778
59779 2007-10-30  Bruno Haible  <bruno@clisp.org>
59780
59781         * modules/xvasprintf-posix: New file.
59782         Suggested by Eric Blake.
59783
59784 2007-10-30  Bruno Haible  <bruno@clisp.org>
59785
59786         * modules/xprintf-posix-tests: New file.
59787         * tests/test-xprintf-posix.sh: New file.
59788         * tests/test-xprintf-posix.c: New file.
59789         * tests/test-xfprintf-posix.c: New file.
59790
59791         * modules/xprintf-posix: New file.
59792
59793 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59794
59795         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
59796         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
59797         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
59798
59799 2007-10-29  Bruno Haible  <bruno@clisp.org>
59800
59801         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
59802         contain the special marker '_cv_'.
59803         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
59804         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
59805         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
59806         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
59807         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
59808         Reported by Ralf Wildenhues.
59809
59810 2007-10-29  Bruno Haible  <bruno@clisp.org>
59811
59812         * gnulib-tool (func_import): When --lgpl is not specified, set
59813         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
59814         GPLv3.
59815         Reported by Simon Josefsson.
59816
59817 2007-10-28  Bruno Haible  <bruno@clisp.org>
59818
59819         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
59820         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
59821         HAVE_DECL_ISFINITE.
59822         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
59823         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
59824         HAVE_DECL_ISFINITE.
59825
59826 2007-10-28  Bruno Haible  <bruno@clisp.org>
59827
59828         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
59829         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
59830
59831 2007-10-28  Bruno Haible  <bruno@clisp.org>
59832
59833         Fix link errors with Sun C 5.0 on Solaris 10.
59834         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
59835         function is declared but not present in the compiler's libm.
59836         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
59837         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
59838         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
59839         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
59840         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
59841         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
59842         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
59843         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
59844         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
59845         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
59846         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
59847         HAVE_DECL_FLOORL.
59848
59849 2007-10-28  Bruno Haible  <bruno@clisp.org>
59850
59851         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
59852         gl_FUNC_FLOORL. Cache the result.
59853         (gl_FUNC_FLOORL): Use it.
59854         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
59855         gl_FUNC_CEILL. Cache the result.
59856         (gl_FUNC_CEILL): Use it.
59857
59858         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
59859         gl_FUNC_FLOOR. Cache the result.
59860         (gl_FUNC_FLOOR): Use it.
59861         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
59862         gl_FUNC_CEIL. Cache the result.
59863         (gl_FUNC_CEIL): Use it.
59864
59865         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
59866         gl_FUNC_FLOORF. Cache the result.
59867         (gl_FUNC_FLOORF): Use it.
59868         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
59869         gl_FUNC_CEILF. Cache the result.
59870         (gl_FUNC_CEILF): Use it.
59871
59872 2007-10-28  Bruno Haible  <bruno@clisp.org>
59873
59874         * gnulib-tool: Allow specifying the LGPL version number through
59875         --lgpl=2 or --lgpl=3.
59876         (func_usage): Document --lgpl with argument.
59877         Handle --lgpl=... arguments.
59878         (func_import): Recognize also gl_LGPL calls with an argument. When
59879         --lgpl=2 is used and the module's license is just LGPL, report an
59880         error. Set sed_transform_lib_file according to the lgpl variable. In
59881         the generated files, use --lgpl or gl_LGPL invocations with argument,
59882         if necessary.
59883         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
59884         an LGPv2+ license.
59885         * doc/gnulib-tool.texi (Modified imports): Update explanation of
59886         gl_LGPL macro.
59887
59888 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59889             Bruno Haible  <bruno@clisp.org>
59890
59891         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
59892         (u16_uctomb_aux): Likewise.
59893         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
59894         !HAVE_INLINE.
59895         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
59896
59897 2007-10-28  Bruno Haible  <bruno@clisp.org>
59898
59899         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
59900         Invoke AM_GETTEXT_OPTION if it exists.
59901         * modules/vasprintf: Likewise.
59902         * modules/verror: Likewise.
59903         * modules/xprintf: Likewise.
59904         * modules/xvasprintf: Likewise.
59905
59906 2007-10-27  Ben Pfaff  <blp@gnu.org>
59907
59908         * lib/math.in.h: Define isfinite macro and prototypes for
59909         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
59910         implementations.
59911         * m4/math_h.m4: New substitutions for isfinite module.
59912         * lib/isfinite.c: New file.
59913         * m4/isfinite.m4: New file.
59914         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
59915         * modules/isfinite: New file.
59916         * modules/isfinite-tests: New file.
59917         * tests/tests-isfinite.c: New file.
59918         * doc/functions/isfinite.texi: Mention isfinite module.
59919         * MODULES.html.sh: Mention new module.
59920
59921 2007-10-27  Ben Pfaff  <blp@gnu.org>
59922
59923         Ralf Wildenhues reported that Tru64 4.0D declares the round
59924         functions but does not have definitions.
59925         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
59926         cannot be found in any library, set the output variable to
59927         "missing" instead of "".
59928         * m4/round.m4: Also use our substitute if we cannot find round in
59929         any library, even if it is declared.
59930         * m4/roundf.m4: Likewise for roundf.
59931         * m4/roundl.m4: Likewise for roundl.
59932         * lib/math.in.h: Undefine roundf, round, roundl before defining
59933         their replacements, to allow for hypothetical systems where these
59934         may be defined as macros but not available in libraries.
59935
59936 2007-10-27  Bruno Haible  <bruno@clisp.org>
59937
59938         * doc/gnulib.texi: Invoke @firstparagraphindent.
59939         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
59940         changes in gnulib.
59941         (Source changes): New section.
59942
59943 2007-10-26  Bruno Haible  <bruno@clisp.org>
59944
59945         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
59946         borrowed from autoconf.
59947
59948 2007-10-26  Bruno Haible  <bruno@clisp.org>
59949
59950         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
59951         strerror returned the empty string. Needed on HP-UX 11.00.
59952
59953 2007-10-24  Micah Cowan  <micah@cowan.name>
59954
59955         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
59956         * build-aux/bootstrap: Remove support for now-unnecessary option,
59957         --cvs-user, and envvars CVS_USER, CVS_RSH.
59958
59959 2007-10-24  Jim Meyering  <meyering@redhat.com>
59960
59961         Avoid diagnostics from sha1sum when there is no cached checksum.
59962         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
59963         if the po.s1 file hasn't been created yet.
59964
59965         * build-aux/bootstrap: Sync from coreutils:
59966         2007-10-24  Jim Meyering  <meyering@redhat.com>
59967         Get gnulib from the git repository, not from an obsolete cvs one.
59968         * build-aux/bootstrap: Suggestion from Micah Cowan.
59969         2007-10-04  Jim Meyering  <jim@meyering.net>
59970         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
59971         (update_po_files): Work also when there are no .po files in po/.
59972
59973 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
59974
59975         * README: Append ".git" to git and cg examples.
59976         Problem reported by Benoit Sigoure.
59977
59978 2007-10-23  Micah Cowan  <micah@cowan.name>
59979
59980         * users.txt: Add wget.
59981
59982 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59983
59984         Fix linking of some unistdio tests on FreeBSD.
59985         * modules/unistdio/u16-vsnprintf-tests
59986         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
59987         * modules/unistdio/u16-vsprintf-tests
59988         (test_u16_vsnprintf1_LDADD): Likewise.
59989         * modules/unistdio/u32-vsnprintf-tests
59990         (test_u32_vsnprintf1_LDADD): Likewise.
59991         * modules/unistdio/u32-vsprintf-tests
59992         (test_u32_vsprintf1_LDADD): Likewise.
59993         * modules/unistdio/u8-vsnprintf-tests
59994         (test_u8_vsnprintf1_LDADD): Likewise.
59995         * modules/unistdio/u8-vsprintf-tests
59996         (test_u8_vsprintf1_LDADD): Likewise.
59997         * modules/unistdio/ulc-vsnprintf-tests
59998         (test_ulc_vsnprintf1_LDADD): Likewise.
59999         * modules/unistdio/ulc-vsprintf-tests
60000         (test_ulc_vsprintf1_LDADD): Likewise.
60001
60002         Fix linking of some uniconv tests on FreeBSD.
60003         * modules/uniconv/u16-conv-from-enc-tests
60004         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
60005         * modules/uniconv/u16-conv-to-enc-tests
60006         (test_u16_conv_to_enc_LDADD): Likewise.
60007         * modules/uniconv/u16-strconv-from-enc-tests
60008         (test_u16_strconv_from_enc_LDADD): Likewise.
60009         * modules/uniconv/u16-strconv-to-enc-tests
60010         (test_u16_strconv_to_enc_LDADD): Likewise.
60011         * modules/uniconv/u32-conv-from-enc-tests
60012         (test_u32_conv_from_enc_LDADD): Likewise.
60013         * modules/uniconv/u32-conv-to-enc-tests
60014         (test_u32_conv_to_enc_LDADD): Likewise.
60015         * modules/uniconv/u32-strconv-from-enc-tests
60016         (test_u32_strconv_from_enc_LDADD): Likewise.
60017         * modules/uniconv/u32-strconv-to-enc-tests
60018         (test_u32_strconv_to_enc_LDADD): Likewise.
60019         * modules/uniconv/u8-conv-from-enc-tests
60020         (test_u8_conv_from_enc_LDADD): Likewise.
60021         * modules/uniconv/u8-conv-to-enc-tests
60022         (test_u8_conv_to_enc_LDADD): Likewise.
60023         * modules/uniconv/u8-strconv-from-enc-tests
60024         (test_u8_strconv_from_enc_LDADD): Likewise.
60025         * modules/uniconv/u8-strconv-to-enc-tests
60026         (test_u8_strconv_to_enc_LDADD): Likewise.
60027
60028 2007-10-22  Bruno Haible  <bruno@clisp.org>
60029
60030         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
60031         size.
60032
60033 2007-10-22  Eric Blake  <ebb9@byu.net>
60034
60035         Tweak x*printf documentation.
60036         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
60037         variable name and comments.
60038         Suggested by Bruno Haible.
60039
60040 2007-10-22  Bruno Haible  <bruno@clisp.org>
60041
60042         * lib/acl.c (copy_acl): Fix file name in comment.
60043
60044 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
60045
60046         Fix Tru64 problem with stdbool.h.
60047         * lib/stdbool.in.h (false, true):
60048         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
60049         Don't declare as an enum in this situation; it runs afoul of Tru64.
60050         Problem reported by Steven M. Schweda in
60051         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
60052
60053 2007-10-22  Eric Blake  <ebb9@byu.net>
60054
60055         Also wrap vf?printf.
60056         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
60057         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
60058         (xvprintf, xvfprintf): New functions.
60059
60060 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60061
60062         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
60063         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
60064
60065         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
60066         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
60067
60068 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
60069
60070         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
60071         by Bruno Haible.
60072
60073 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60074
60075         * lib/getloadavg.c
60076         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
60077         Undef `sys' after including sys/table.h, for Tru64 4.0D.
60078
60079         * tests/test-i-ring.c: Work for C89.
60080
60081 2007-10-22  Bruno Haible  <bruno@clisp.org>
60082
60083         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
60084         -1u, in preprocessor expression, so that we don't test for the bug
60085         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
60086         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
60087
60088 2007-10-22  Eric Blake  <ebb9@byu.net>
60089
60090         * tests/test-yesno.sh: Silence stderr during test.
60091
60092 2007-10-22  Simon Josefsson  <simon@josefsson.org>
60093
60094         * modules/crypto/gc-camellia: New file.
60095
60096         * m4/gc-camellia.m4: New file.
60097
60098         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
60099
60100         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
60101
60102 2007-10-22  Simon Josefsson  <simon@josefsson.org>
60103
60104         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
60105         --help to stdout.  Reported by sms@antinode.org (Steven
60106         M. Schweda).
60107
60108 2007-10-22  Simon Josefsson  <simon@josefsson.org>
60109
60110         * users.txt: Fix link to libksba.
60111
60112 2007-10-21  Ben Pfaff  <blp@gnu.org>
60113
60114         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
60115         round.c roundf implementation that depends on floorf and ceilf to
60116         be tested unconditionally.
60117
60118 2007-10-21  Ben Pfaff  <blp@gnu.org>
60119
60120         * m4/check-libm-func.m4: Removed.
60121         * m4/check-math-lib.m4: New file.
60122         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
60123         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
60124         definition and lack of AC_LIBOBJ([roundf]).
60125         * m4/roundl.m4: Ditto, and similarly for roundl.
60126         * modules/round: Reference new m4 file.
60127         * modules/roundf: Ditto.
60128         * modules/roundl: Ditto.
60129         * tests/test-round2.c (main): Use ROUND instead of round.
60130         Bug report from Bruno Haible.
60131
60132 2007-10-21  Bruno Haible  <bruno@clisp.org>
60133
60134         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
60135         context.
60136
60137 2007-10-21  Bruno Haible  <bruno@clisp.org>
60138
60139         * tests/test-wcwidth.c (main): Allow negative result for some control
60140         characters.
60141
60142         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
60143         Needed on OSF/1 5.1.
60144
60145 2007-10-21  Bruno Haible  <bruno@clisp.org>
60146
60147         * tests/test-floorf1.c: Include isnanf.h.
60148         (main): Use isnanf() instead of isnan().
60149         * tests/test-ceilf1.c: Include isnanf.h.
60150         (main): Use isnanf() instead of isnan().
60151         * tests/test-truncf1.c: Include isnanf.h.
60152         (main): Use isnanf() instead of isnan().
60153         * tests/test-roundf1.c: Include isnanf.h.
60154         (main): Use isnanf() instead of isnan().
60155
60156 2007-10-21  Eric Blake  <ebb9@byu.net>
60157
60158         * users.txt: Update URL for m4.
60159
60160 2007-10-21  Bruno Haible  <bruno@clisp.org>
60161
60162         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
60163
60164 2007-10-21  Bruno Haible  <bruno@clisp.org>
60165
60166         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
60167         Git's management files if the CVS files are not present.
60168
60169 2007-10-20  Bruno Haible  <bruno@clisp.org>
60170
60171         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
60172         gcc-3.4.x.
60173
60174 2007-10-20  Ben Pfaff  <blp@gnu.org>
60175
60176         * lib/math.in.h: Declare round, roundf, roundl if we are providing
60177         implementations.
60178         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
60179         * lib/round.c: New file.
60180         * lib/roundf.c: New file.
60181         * lib/roundl.c: New file.
60182         * m4/round.m4: New file.
60183         * m4/roundf.m4: New file.
60184         * m4/roundl.m4: New file.
60185         * m4/check-libm-func-m4: New file.
60186         * modules/math: Replace round, roundf, roundl related @VARS@ in
60187         math.in.h.
60188         * modules/round: New file.
60189         * modules/round-tests: New file.
60190         * modules/roundf: New file.
60191         * modules/roundf-tests: New file.
60192         * modules/roundl: New file.
60193         * modules/roundl-tests: New file.
60194         * tests/test-round1.c: New file.
60195         * tests/test-round2.c: New file.
60196         * tests/test-roundf1.c: New file.
60197         * tests/test-roundf2.c: New file.
60198         * tests/test-roundl.c: New file.
60199         * doc/functions/round.texi: Mention round module.
60200         * doc/functions/roundf.texi: Mention roundf module.
60201         * doc/functions/roundl.texi: Mention roundl module.
60202         * MODULES.html.sh: Mention new modules.
60203         Thanks to Bruno Haible for suggestions.
60204
60205 2007-10-20  Jim Meyering  <meyering@redhat.com>
60206
60207         * lib/xprintf.c: Include <config.h> unconditionally.
60208
60209         Change xprintf's license to GPL.
60210         * modules/xprintf (License): s/LGPL/GPL/, since this module
60211         depends on modules (exit and exitfail) which are GPL.
60212         Suggestion from Bruno Haible.
60213
60214         xprintf fixes.
60215         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
60216         Use a clearer diagnostic.
60217         Patch from Bruno Haible.
60218
60219 2007-10-20  Bruno Haible  <bruno@clisp.org>
60220
60221         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
60222         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
60223         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60224
60225 2007-10-20  Bruno Haible  <bruno@clisp.org>
60226
60227         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
60228         precision in the comparison result > x - 1 or similar.
60229         * tests/test-ceilf2.c (correct_result_p): Likewise.
60230         * tests/test-truncf2.c (correct_result_p): Likewise.
60231         * tests/test-trunc2.c (correct_result_p): Likewise.
60232         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60233
60234 2007-10-20  Bruno Haible  <bruno@clisp.org>
60235
60236         * modules/ceil: New file.
60237         * m4/ceil.m4: New file.
60238         * doc/functions/ceil.texi: Mention the 'ceil' module.
60239
60240 2007-10-20  Bruno Haible  <bruno@clisp.org>
60241
60242         * modules/floor: New file.
60243         * m4/floor.m4: New file.
60244         * doc/functions/floor.texi: Mention the 'floor' module.
60245
60246 2007-10-20  Bruno Haible  <bruno@clisp.org>
60247
60248         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
60249         of %a.
60250         * modules/floorf-tests (Depends-on): Likewise.
60251         * modules/truncf-tests (Depends-on): Likewise.
60252         * modules/trunc-tests (Depends-on): Likewise.
60253         Reported by Ben Pfaff.
60254
60255 2007-10-19  Jim Meyering  <meyering@redhat.com>
60256
60257         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
60258         Don't bother testing specific errno values.  Just test ferror.
60259
60260         New module: xprintf
60261         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
60262
60263 2007-10-19  Bruno Haible  <bruno@clisp.org>
60264
60265         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
60266         syntax.
60267         * modules/javaexec (Makefile.am): Likewise.
60268         * modules/relocatable-prog (Makefile.am): Likewise.
60269         Suggested by Jim Meyering.
60270
60271 2007-10-18  Bruno Haible  <bruno@clisp.org>
60272
60273         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
60274         Reported by Jim Meyering.
60275
60276 2007-10-18  Eric Blake  <ebb9@byu.net>
60277
60278         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
60279
60280 2007-10-18  Bruno Haible  <bruno@clisp.org>
60281
60282         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
60283         the format string into writable memory. Needed in Fortify conditions.
60284
60285 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
60286             Bruno Haible  <bruno@clisp.org>
60287
60288         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
60289         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
60290         * modules/trim (Depends-on): Add mbchar.
60291         (configure.ac): Add gl_FUNC_MBRTOWC.
60292         (Makefile.am): Augment lib_SOURCES.
60293
60294 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
60295
60296         Modify glob.c to use fstatat and dirfd, to simplify it.
60297         Suggested by Eric Blake.
60298         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
60299         Don't include <stdbool.h>; not used.
60300         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
60301         (link_exists_p): Simplify implementation, since we can now assume
60302         dirfd and fstatat.
60303         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
60304
60305 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60306
60307         * gnulib-tool (func_get_dependencies): Fix sed script to
60308         match only tests.
60309
60310 2007-10-17  Bruno Haible  <bruno@clisp.org>
60311
60312         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
60313         allow locale names without encoding suffix.
60314         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
60315         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
60316
60317 2007-10-16  Bruno Haible  <bruno@clisp.org>
60318
60319         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
60320         * lib/getgroups.c (getgroups): Likewise.
60321         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
60322
60323 2007-10-16  Bruno Haible  <bruno@clisp.org>
60324
60325         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
60326         * modules/malloc-posix (License): Likewise.
60327         * modules/realloc-posix (License): Likewise.
60328         * modules/calloc-posix (License): Likewise.
60329         * modules/intprops (License): Change from GPL to LGPL, with
60330         Paul Eggert's approval.
60331
60332 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
60333
60334         Merge glibc changes into lib/glob.c.
60335
60336         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
60337         2007-10-15 04:59:03 UTC.  Here are the changes:
60338
60339         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
60340
60341         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
60342
60343         * lib/glob.c: Add some branch prediction throughout.
60344
60345         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
60346
60347         [BZ #5103]
60348         * lib/glob.c (glob): Recognize patterns starting \/.
60349
60350         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
60351
60352         [BZ #3996]
60353         * lib/glob.c (attribute_hidden): Define if not defined.
60354         (glob): Unescape dirname, filename or username when needed and not
60355         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
60356         is NULL.  Handle unescaped [ in pattern without closing ].
60357         Don't pass GLOB_CHECK down to recursive glob for directories.
60358         (__glob_pattern_type): New function.
60359         (__glob_pattern_p): Implement using __glob_pattern_type.
60360         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
60361         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
60362         Remove unreachable code.
60363
60364         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
60365
60366         * lib/glob.c (glob_in_dir): Add some comments and asserts to
60367         explain why there are no leaks.
60368
60369         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
60370
60371         [BZ #3253]
60372         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
60373         time, rather allocate increasingly bigger arrays of pointers, if
60374         possible with alloca, if too large with malloc.
60375
60376 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
60377
60378         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
60379         Problem reported by H.Merijn Brand in
60380         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
60381         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
60382         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
60383
60384 2007-10-15  Bruno Haible  <bruno@clisp.org>
60385
60386         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
60387         with explicit rpl_ prefix.
60388         * lib/fopen.c (fopen): Likewise.
60389         * lib/freopen.c (freopen): Likewise.
60390         * lib/iconv.c (iconv): Likewise.
60391         * lib/iconv_close.c (iconv_close): Likewise.
60392
60393 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60394
60395         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
60396
60397 2007-10-15  Bruno Haible  <bruno@clisp.org>
60398
60399         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
60400         <stddef.h> instead of <stdlib.h> since we only need NULL.
60401         Reported by Ben Pfaff <blp@cs.stanford.edu>.
60402
60403 2007-10-15  Bruno Haible  <bruno@clisp.org>
60404
60405         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
60406         Replace paragraph talking about LIBOBJS.
60407         Reported by Colin Watson <cjwatson@debian.org>.
60408
60409 2007-10-15  Bruno Haible  <bruno@clisp.org>
60410
60411         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
60412         <stdlib.h> before using NULL.
60413
60414 2007-10-15  Simon Josefsson  <simon@josefsson.org>
60415
60416         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
60417         Reported by Albert Chin <china@thewrittenword.com>.
60418
60419 2007-10-14  Bruno Haible  <bruno@clisp.org>
60420
60421         * modules/iconv_open-utf-tests: New file.
60422         * tests/test-iconv-utf.c: New file.
60423
60424         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
60425         * modules/iconv_open-utf: New file.
60426         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
60427         (iconv, iconv_close): New declarations.
60428         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
60429         be defined.
60430         (iconv_open): Add special handling of conversion between UTF-8 and
60431         UTF-{16,32}{BE,LE}.
60432         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
60433         * lib/iconv_close.c: New file.
60434         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
60435         gl_FUNC_ICONV_OPEN.
60436         (gl_FUNC_ICONV_OPEN): Use it.
60437         (gl_FUNC_ICONV_OPEN_UTF): New macro.
60438         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
60439         and REPLACE_ICONV_UTF.
60440         * modules/iconv_open (Depends-on): Add c-strcase.
60441         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
60442         ICONV_CONST.
60443         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
60444
60445 2007-10-13  Albert Chin  <china@thewrittenword.com>
60446             Bruno Haible  <bruno@clisp.org>
60447
60448         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
60449         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
60450
60451 2007-10-13  Bruno Haible  <bruno@clisp.org>
60452
60453         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
60454         defined, use the ISO C99 inline semantics.
60455         * lib/argp.h (ARGP_EI): Likewise.
60456
60457 2007-10-13  Bruno Haible  <bruno@clisp.org>
60458
60459         Handle 'inline' change in gcc 4.3.0.
60460         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
60461         argp_fmtstream_write, argp_fmtstream_set_lmargin,
60462         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
60463         argp_fmtstream_point): Disable 'extern' declaration if the function
60464         definition is going to be provided inline.
60465         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
60466         semantics, not the ISO C99 inline semantics.
60467         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
60468         'extern' declaration if the function definition is going to be provided
60469         inline.
60470         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
60471         the GNU C inline semantics, not the ISO C99 inline semantics. With
60472         GCC 4.2, avoid a warning.
60473
60474 2007-10-13  Bruno Haible  <bruno@clisp.org>
60475
60476         * lib/freading.h (freading): Enable the use of __freading for
60477         glibc >= 2.7.
60478         * lib/freading.c (freading): Likewise.
60479
60480 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
60481
60482         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
60483         "warning: C99 inline functions are not supported; using GNU89".
60484
60485 2007-10-12  Bruno Haible  <bruno@clisp.org>
60486
60487         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
60488         of 2.
60489         * tests/test-ceilf2.c: New file.
60490         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
60491
60492         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
60493         * modules/ceilf-tests: Update.
60494
60495 2007-10-12  Bruno Haible  <bruno@clisp.org>
60496
60497         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
60498         of 2.
60499         * tests/test-floorf2.c: New file.
60500         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
60501
60502         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
60503         * modules/floorf-tests: Update.
60504
60505 2007-10-12  Bruno Haible  <bruno@clisp.org>
60506
60507         * tests/test-trunc2.c: New file.
60508         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
60509
60510         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
60511         * modules/trunc-tests: Update.
60512
60513 2007-10-12  Bruno Haible  <bruno@clisp.org>
60514
60515         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
60516         of 2.
60517         * tests/test-truncf2.c: New file.
60518         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
60519
60520         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
60521         * modules/truncf-tests: Update.
60522
60523 2007-10-11  Eric Blake  <ebb9@byu.net>
60524
60525         Don't claim strerror is broken on Interix.
60526         * doc/functions/strerror.texi (strerror): Known broken systems are
60527         now Solaris 8, and not Interix.
60528         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
60529         Interix on cross-compile.
60530         Reported by Martin Koeppe in
60531         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
60532
60533 2007-10-11  Bruno Haible  <bruno@clisp.org>
60534
60535         * modules/i-ring-tests: New file.
60536         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
60537         instead of assert.
60538
60539 2007-10-11  Bruno Haible  <bruno@clisp.org>
60540
60541         * modules/filenamecat-tests: New file.
60542         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
60543         * lib/filenamecat.c: Remove test code.
60544
60545 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
60546
60547         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
60548
60549         * lib/strerror.c: Include <string.h> always, to test interface,
60550         and to remove the need for the dummy.
60551         Include intprops.h to compute width instead of doing it ourselves
60552         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
60553         (strerror): Define it to return NULL if there's no system strerror.
60554         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
60555         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
60556         ancient pre-strerror Unix systems well any more.  Saying "unknown
60557         system error" is enough.
60558         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
60559         simpler strerror.c implementation.
60560         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
60561         Simplify the tests to reflect the simpler strerror implementation.
60562         * modules/strerror (Depends-on): Add intprops.
60563
60564 2007-10-09  Eric Blake  <ebb9@byu.net>
60565
60566         Silence test-fpending.
60567         * modules/fpending-tests (Files): Add wrapper script.
60568         * tests/test-fpending.sh: New file.
60569
60570 2007-10-09  Bruno Haible  <bruno@clisp.org>
60571
60572         * MODULES.html.sh (func_module): Don't create a hyperlink for
60573         function names like 'printf_frexp'.
60574         (Misc): Add crc, memxor.
60575         (Characteristics of floating types): New section.
60576         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
60577         isnanf-nolibm, signbit, trunc, truncf, truncl.
60578         (Enhancements for ISO C 99 functions): New subsection Input/output.
60579         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
60580         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
60581         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
60582         (Compatibility checks for POSIX:2001 functions): Add clock-time.
60583         (Enhancements for POSIX:2001 functions): Add chdir-long.
60584         (File system functions): Add areadlink, chdir-safer, read-file.
60585         Remove cycle-check.
60586         (File system as inode set): New section.
60587         (Date and time): Add gethrxtime.
60588         (Multithreading): Add openmp.
60589         (Internationalization functions): Add localename.
60590         (Unicode string functions): Add unistr/u*-mbsnlen.
60591         (Support for maintaining and releasing projects): Add git-version-gen.
60592         (Lone files): Remove directories.
60593
60594 2007-10-08  Ben Pfaff  <blp@gnu.org>
60595
60596         * lib/xmalloca.h: Fix typo in comment.
60597
60598 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
60599
60600         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
60601         when avoiding problems with integer overflow.  Use a portable test
60602         instead.
60603
60604 2007-10-08  Simon Josefsson  <simon@josefsson.org>
60605
60606         * modules/dummy (License): Change to LGPLv2+.
60607         * modules/float (License): Likewise
60608         * modules/realloc (License): Likewise
60609         * modules/stdlib (License): Likewise
60610
60611 2007-10-07  Bruno Haible  <bruno@clisp.org>
60612
60613         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
60614         * floor.c (TWO_MANT_DIG): Likewise.
60615         * ceil.c (TWO_MANT_DIG): Likewise.
60616         Reported by Ben Pfaff.
60617
60618 2007-10-07  Bruno Haible  <bruno@clisp.org>
60619
60620         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
60621         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
60622         * lib/frexp.c (FUNC): Likewise.
60623         * lib/printf-frexp.h (printf_frexp): Likewise.
60624         * lib/printf-frexpl.h (printf_frexpl): Likewise.
60625         * lib/printf-frexp.c (FUNC): Likewise.
60626         Suggested by Jim Meyering.
60627
60628 2007-10-07  Jim Meyering  <meyering@redhat.com>
60629
60630         Make xnanosleep's integer overflow test more robust.
60631         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
60632         so that gcc-4.3.0 doesn't optimize away this test for overflow.
60633
60634 2007-10-07  Bruno Haible  <bruno@clisp.org>
60635
60636         * NEWS: Mention the license change.
60637
60638         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
60639         abbreviations in the modules files.
60640
60641         Change copyright notice from GPLv2+ to GPLv3+.
60642         * README: Change copyright notice.
60643         * MODULES.html.sh: Likewise.
60644         * build-aux/bootstrap.conf: Likewise.
60645         * build-aux/config.libpath: Likewise.
60646         * build-aux/csharpcomp.sh.in: Likewise.
60647         * build-aux/csharpexec.sh.in: Likewise.
60648         * build-aux/install-reloc: Likewise.
60649         * build-aux/javacomp.sh.in: Likewise.
60650         * build-aux/javaexec.sh.in: Likewise.
60651         * build-aux/ldd.sh.in: Likewise.
60652         * build-aux/reloc-ldflags: Likewise.
60653         * build-aux/relocatable.sh.in: Likewise.
60654         * build-aux/x-to-1.in: Likewise.
60655         * check-module: Likewise.
60656         * config/srclistvars.sh: Likewise.
60657         * gnulib-tool: Likewise.
60658         * lib/acl-internal.h: Likewise.
60659         * lib/acl.c: Likewise.
60660         * lib/acl.h: Likewise.
60661         * lib/acl_entries.c: Likewise.
60662         * lib/areadlink-with-size.c: Likewise.
60663         * lib/areadlink.c: Likewise.
60664         * lib/areadlink.h: Likewise.
60665         * lib/argmatch.c: Likewise.
60666         * lib/argmatch.h: Likewise.
60667         * lib/argp-ba.c: Likewise.
60668         * lib/argp-eexst.c: Likewise.
60669         * lib/argp-fmtstream.c: Likewise.
60670         * lib/argp-fmtstream.h: Likewise.
60671         * lib/argp-fs-xinl.c: Likewise.
60672         * lib/argp-help.c: Likewise.
60673         * lib/argp-namefrob.h: Likewise.
60674         * lib/argp-parse.c: Likewise.
60675         * lib/argp-pin.c: Likewise.
60676         * lib/argp-pv.c: Likewise.
60677         * lib/argp-pvh.c: Likewise.
60678         * lib/argp-xinl.c: Likewise.
60679         * lib/argp.h: Likewise.
60680         * lib/at-func.c: Likewise.
60681         * lib/atanl.c: Likewise.
60682         * lib/backupfile.c: Likewise.
60683         * lib/backupfile.h: Likewise.
60684         * lib/basename.c: Likewise.
60685         * lib/binary-io.h: Likewise.
60686         * lib/byteswap.in.h: Likewise.
60687         * lib/c-stack.c: Likewise.
60688         * lib/c-stack.h: Likewise.
60689         * lib/c-strcasestr.c: Likewise.
60690         * lib/c-strcasestr.h: Likewise.
60691         * lib/c-strstr.c: Likewise.
60692         * lib/c-strstr.h: Likewise.
60693         * lib/c-strtod.c: Likewise.
60694         * lib/calloc.c: Likewise.
60695         * lib/canon-host.c: Likewise.
60696         * lib/canon-host.h: Likewise.
60697         * lib/canonicalize-lgpl.c: Likewise.
60698         * lib/canonicalize.c: Likewise.
60699         * lib/canonicalize.h: Likewise.
60700         * lib/ceil.c: Likewise.
60701         * lib/ceilf.c: Likewise.
60702         * lib/ceill.c: Likewise.
60703         * lib/chdir-long.c: Likewise.
60704         * lib/chdir-long.h: Likewise.
60705         * lib/chdir-safer.c: Likewise.
60706         * lib/chdir-safer.h: Likewise.
60707         * lib/chown.c: Likewise.
60708         * lib/classpath.c: Likewise.
60709         * lib/classpath.h: Likewise.
60710         * lib/clean-temp.c: Likewise.
60711         * lib/clean-temp.h: Likewise.
60712         * lib/cloexec.c: Likewise.
60713         * lib/close-stream.c: Likewise.
60714         * lib/closein.c: Likewise.
60715         * lib/closein.h: Likewise.
60716         * lib/closeout.c: Likewise.
60717         * lib/closeout.h: Likewise.
60718         * lib/concat-filename.c: Likewise.
60719         * lib/copy-file.c: Likewise.
60720         * lib/copy-file.h: Likewise.
60721         * lib/count-one-bits.h: Likewise.
60722         * lib/crc.c: Likewise.
60723         * lib/crc.h: Likewise.
60724         * lib/creat-safer.c: Likewise.
60725         * lib/csharpcomp.c: Likewise.
60726         * lib/csharpcomp.h: Likewise.
60727         * lib/csharpexec.c: Likewise.
60728         * lib/csharpexec.h: Likewise.
60729         * lib/cycle-check.c: Likewise.
60730         * lib/cycle-check.h: Likewise.
60731         * lib/diacrit.c: Likewise.
60732         * lib/diacrit.h: Likewise.
60733         * lib/diffseq.h: Likewise.
60734         * lib/dirchownmod.c: Likewise.
60735         * lib/dirent.in.h: Likewise.
60736         * lib/dirfd.c: Likewise.
60737         * lib/dirfd.h: Likewise.
60738         * lib/dirname.c: Likewise.
60739         * lib/dirname.h: Likewise.
60740         * lib/dummy.c: Likewise.
60741         * lib/dup-safer.c: Likewise.
60742         * lib/dup2.c: Likewise.
60743         * lib/eealloc.h: Likewise.
60744         * lib/error.c: Likewise.
60745         * lib/error.h: Likewise.
60746         * lib/euidaccess.c: Likewise.
60747         * lib/exclude.c: Likewise.
60748         * lib/exclude.h: Likewise.
60749         * lib/execute.c: Likewise.
60750         * lib/execute.h: Likewise.
60751         * lib/exitfail.c: Likewise.
60752         * lib/exitfail.h: Likewise.
60753         * lib/expl.c: Likewise.
60754         * lib/fatal-signal.c: Likewise.
60755         * lib/fatal-signal.h: Likewise.
60756         * lib/fbufmode.c: Likewise.
60757         * lib/fbufmode.h: Likewise.
60758         * lib/fchdir.c: Likewise.
60759         * lib/fchmodat.c: Likewise.
60760         * lib/fchownat.c: Likewise.
60761         * lib/fcntl--.h: Likewise.
60762         * lib/fcntl-safer.h: Likewise.
60763         * lib/fcntl.in.h: Likewise.
60764         * lib/fd-safer.c: Likewise.
60765         * lib/fflush.c: Likewise.
60766         * lib/file-has-acl.c: Likewise.
60767         * lib/file-set.c: Likewise.
60768         * lib/file-type.c: Likewise.
60769         * lib/file-type.h: Likewise.
60770         * lib/fileblocks.c: Likewise.
60771         * lib/filemode.c: Likewise.
60772         * lib/filemode.h: Likewise.
60773         * lib/filename.h: Likewise.
60774         * lib/filenamecat.c: Likewise.
60775         * lib/filenamecat.h: Likewise.
60776         * lib/findprog.c: Likewise.
60777         * lib/findprog.h: Likewise.
60778         * lib/float.in.h: Likewise.
60779         * lib/floor.c: Likewise.
60780         * lib/floorf.c: Likewise.
60781         * lib/floorl.c: Likewise.
60782         * lib/fopen-safer.c: Likewise.
60783         * lib/fopen.c: Likewise.
60784         * lib/fpending.c: Likewise.
60785         * lib/fpending.h: Likewise.
60786         * lib/fprintf.c: Likewise.
60787         * lib/fprintftime.h: Likewise.
60788         * lib/fpucw.h: Likewise.
60789         * lib/fpurge.c: Likewise.
60790         * lib/fpurge.h: Likewise.
60791         * lib/freadable.c: Likewise.
60792         * lib/freadable.h: Likewise.
60793         * lib/freadahead.c: Likewise.
60794         * lib/freadahead.h: Likewise.
60795         * lib/freading.c: Likewise.
60796         * lib/freading.h: Likewise.
60797         * lib/free.c: Likewise.
60798         * lib/freopen.c: Likewise.
60799         * lib/frexp.c: Likewise.
60800         * lib/frexpl.c: Likewise.
60801         * lib/fseek.c: Likewise.
60802         * lib/fseterr.c: Likewise.
60803         * lib/fseterr.h: Likewise.
60804         * lib/fstatat.c: Likewise.
60805         * lib/fstrcmp.c: Likewise.
60806         * lib/fstrcmp.h: Likewise.
60807         * lib/fsusage.c: Likewise.
60808         * lib/fsusage.h: Likewise.
60809         * lib/ftell.c: Likewise.
60810         * lib/ftello.c: Likewise.
60811         * lib/fts-cycle.c: Likewise.
60812         * lib/fts.c: Likewise.
60813         * lib/fts_.h: Likewise.
60814         * lib/full-read.c: Likewise.
60815         * lib/full-read.h: Likewise.
60816         * lib/full-write.c: Likewise.
60817         * lib/full-write.h: Likewise.
60818         * lib/fwritable.c: Likewise.
60819         * lib/fwritable.h: Likewise.
60820         * lib/fwriteerror.c: Likewise.
60821         * lib/fwriteerror.h: Likewise.
60822         * lib/fwriting.c: Likewise.
60823         * lib/fwriting.h: Likewise.
60824         * lib/gcd.c: Likewise.
60825         * lib/gcd.h: Likewise.
60826         * lib/getcwd.c: Likewise.
60827         * lib/getdate.h: Likewise.
60828         * lib/getdate.y: Likewise.
60829         * lib/getdomainname.c: Likewise.
60830         * lib/getdomainname.h: Likewise.
60831         * lib/getgroups.c: Likewise.
60832         * lib/gethostname.c: Likewise.
60833         * lib/gethrxtime.c: Likewise.
60834         * lib/gethrxtime.h: Likewise.
60835         * lib/getloadavg.c: Likewise.
60836         * lib/getndelim2.c: Likewise.
60837         * lib/getndelim2.h: Likewise.
60838         * lib/getnline.c: Likewise.
60839         * lib/getnline.h: Likewise.
60840         * lib/getopt.c: Likewise.
60841         * lib/getopt.in.h: Likewise.
60842         * lib/getopt1.c: Likewise.
60843         * lib/getopt_int.h: Likewise.
60844         * lib/getpagesize.h: Likewise.
60845         * lib/getsubopt.c: Likewise.
60846         * lib/gettime.c: Likewise.
60847         * lib/getugroups.c: Likewise.
60848         * lib/getugroups.h: Likewise.
60849         * lib/getusershell.c: Likewise.
60850         * lib/gl_anyavltree_list1.h: Likewise.
60851         * lib/gl_anyavltree_list2.h: Likewise.
60852         * lib/gl_anyhash_list1.h: Likewise.
60853         * lib/gl_anyhash_list2.h: Likewise.
60854         * lib/gl_anylinked_list1.h: Likewise.
60855         * lib/gl_anylinked_list2.h: Likewise.
60856         * lib/gl_anyrbtree_list1.h: Likewise.
60857         * lib/gl_anyrbtree_list2.h: Likewise.
60858         * lib/gl_anytree_list1.h: Likewise.
60859         * lib/gl_anytree_list2.h: Likewise.
60860         * lib/gl_anytree_oset.h: Likewise.
60861         * lib/gl_anytreehash_list1.h: Likewise.
60862         * lib/gl_anytreehash_list2.h: Likewise.
60863         * lib/gl_array_list.c: Likewise.
60864         * lib/gl_array_list.h: Likewise.
60865         * lib/gl_array_oset.c: Likewise.
60866         * lib/gl_array_oset.h: Likewise.
60867         * lib/gl_avltree_list.c: Likewise.
60868         * lib/gl_avltree_list.h: Likewise.
60869         * lib/gl_avltree_oset.c: Likewise.
60870         * lib/gl_avltree_oset.h: Likewise.
60871         * lib/gl_avltreehash_list.c: Likewise.
60872         * lib/gl_avltreehash_list.h: Likewise.
60873         * lib/gl_carray_list.c: Likewise.
60874         * lib/gl_carray_list.h: Likewise.
60875         * lib/gl_linked_list.c: Likewise.
60876         * lib/gl_linked_list.h: Likewise.
60877         * lib/gl_linkedhash_list.c: Likewise.
60878         * lib/gl_linkedhash_list.h: Likewise.
60879         * lib/gl_list.c: Likewise.
60880         * lib/gl_list.h: Likewise.
60881         * lib/gl_oset.c: Likewise.
60882         * lib/gl_oset.h: Likewise.
60883         * lib/gl_rbtree_list.c: Likewise.
60884         * lib/gl_rbtree_list.h: Likewise.
60885         * lib/gl_rbtree_oset.c: Likewise.
60886         * lib/gl_rbtree_oset.h: Likewise.
60887         * lib/gl_rbtreehash_list.c: Likewise.
60888         * lib/gl_rbtreehash_list.h: Likewise.
60889         * lib/gl_sublist.c: Likewise.
60890         * lib/gl_sublist.h: Likewise.
60891         * lib/group-member.c: Likewise.
60892         * lib/group-member.h: Likewise.
60893         * lib/hard-locale.c: Likewise.
60894         * lib/hard-locale.h: Likewise.
60895         * lib/hash-pjw.c: Likewise.
60896         * lib/hash-pjw.h: Likewise.
60897         * lib/hash-triple.c: Likewise.
60898         * lib/hash.c: Likewise.
60899         * lib/hash.h: Likewise.
60900         * lib/human.c: Likewise.
60901         * lib/human.h: Likewise.
60902         * lib/i-ring.c: Likewise.
60903         * lib/i-ring.h: Likewise.
60904         * lib/idcache.c: Likewise.
60905         * lib/imaxabs.c: Likewise.
60906         * lib/imaxdiv.c: Likewise.
60907         * lib/inet_pton.c: Likewise.
60908         * lib/inet_pton.h: Likewise.
60909         * lib/intprops.h: Likewise.
60910         * lib/inttostr.c: Likewise.
60911         * lib/inttostr.h: Likewise.
60912         * lib/inttypes.in.h: Likewise.
60913         * lib/isapipe.c: Likewise.
60914         * lib/isdir.c: Likewise.
60915         * lib/isnan.c: Likewise.
60916         * lib/isnan.h: Likewise.
60917         * lib/isnanf.c: Likewise.
60918         * lib/isnanf.h: Likewise.
60919         * lib/isnanl-nolibm.h: Likewise.
60920         * lib/isnanl.c: Likewise.
60921         * lib/isnanl.h: Likewise.
60922         * lib/javacomp.c: Likewise.
60923         * lib/javacomp.h: Likewise.
60924         * lib/javaexec.c: Likewise.
60925         * lib/javaexec.h: Likewise.
60926         * lib/javaversion.c: Likewise.
60927         * lib/javaversion.h: Likewise.
60928         * lib/javaversion.java: Likewise.
60929         * lib/lbrkprop.h: Likewise.
60930         * lib/lchmod.h: Likewise.
60931         * lib/lchown.c: Likewise.
60932         * lib/ldexpl.c: Likewise.
60933         * lib/linebreak.c: Likewise.
60934         * lib/linebreak.h: Likewise.
60935         * lib/linebuffer.c: Likewise.
60936         * lib/linebuffer.h: Likewise.
60937         * lib/locale.in.h: Likewise.
60938         * lib/logl.c: Likewise.
60939         * lib/long-options.c: Likewise.
60940         * lib/long-options.h: Likewise.
60941         * lib/lstat.c: Likewise.
60942         * lib/lstat.h: Likewise.
60943         * lib/math.in.h: Likewise.
60944         * lib/mbchar.c: Likewise.
60945         * lib/mbchar.h: Likewise.
60946         * lib/mbfile.h: Likewise.
60947         * lib/mbiter.h: Likewise.
60948         * lib/mbscasecmp.c: Likewise.
60949         * lib/mbscasestr.c: Likewise.
60950         * lib/mbschr.c: Likewise.
60951         * lib/mbscspn.c: Likewise.
60952         * lib/mbslen.c: Likewise.
60953         * lib/mbsncasecmp.c: Likewise.
60954         * lib/mbsnlen.c: Likewise.
60955         * lib/mbspbrk.c: Likewise.
60956         * lib/mbspcasecmp.c: Likewise.
60957         * lib/mbsrchr.c: Likewise.
60958         * lib/mbssep.c: Likewise.
60959         * lib/mbsspn.c: Likewise.
60960         * lib/mbsstr.c: Likewise.
60961         * lib/mbstok_r.c: Likewise.
60962         * lib/mbswidth.c: Likewise.
60963         * lib/mbswidth.h: Likewise.
60964         * lib/mbuiter.h: Likewise.
60965         * lib/memcasecmp.c: Likewise.
60966         * lib/memcasecmp.h: Likewise.
60967         * lib/memchr.c: Likewise.
60968         * lib/memcmp.c: Likewise.
60969         * lib/memcoll.c: Likewise.
60970         * lib/memcoll.h: Likewise.
60971         * lib/memcpy.c: Likewise.
60972         * lib/memrchr.c: Likewise.
60973         * lib/mkancesdirs.c: Likewise.
60974         * lib/mkdir-p.c: Likewise.
60975         * lib/mkdir-p.h: Likewise.
60976         * lib/mkdir.c: Likewise.
60977         * lib/mkdirat.c: Likewise.
60978         * lib/mkdtemp.c: Likewise.
60979         * lib/mkstemp-safer.c: Likewise.
60980         * lib/mkstemp.c: Likewise.
60981         * lib/modechange.c: Likewise.
60982         * lib/modechange.h: Likewise.
60983         * lib/mountlist.c: Likewise.
60984         * lib/mountlist.h: Likewise.
60985         * lib/mpsort.c: Likewise.
60986         * lib/nanosleep.c: Likewise.
60987         * lib/obstack.c: Likewise.
60988         * lib/obstack.h: Likewise.
60989         * lib/open-safer.c: Likewise.
60990         * lib/open.c: Likewise.
60991         * lib/openat-die.c: Likewise.
60992         * lib/openat-priv.h: Likewise.
60993         * lib/openat-proc.c: Likewise.
60994         * lib/openat.c: Likewise.
60995         * lib/openat.h: Likewise.
60996         * lib/pagealign_alloc.c: Likewise.
60997         * lib/pagealign_alloc.h: Likewise.
60998         * lib/physmem.c: Likewise.
60999         * lib/physmem.h: Likewise.
61000         * lib/pipe-safer.c: Likewise.
61001         * lib/pipe.c: Likewise.
61002         * lib/pipe.h: Likewise.
61003         * lib/posixtm.c: Likewise.
61004         * lib/posixtm.h: Likewise.
61005         * lib/posixver.c: Likewise.
61006         * lib/printf-frexp.c: Likewise.
61007         * lib/printf-frexp.h: Likewise.
61008         * lib/printf-frexpl.c: Likewise.
61009         * lib/printf-frexpl.h: Likewise.
61010         * lib/printf.c: Likewise.
61011         * lib/progname.c: Likewise.
61012         * lib/progname.h: Likewise.
61013         * lib/progreloc.c: Likewise.
61014         * lib/putenv.c: Likewise.
61015         * lib/quote.c: Likewise.
61016         * lib/quote.h: Likewise.
61017         * lib/quotearg.c: Likewise.
61018         * lib/quotearg.h: Likewise.
61019         * lib/raise.c: Likewise.
61020         * lib/readline.c: Likewise.
61021         * lib/readline.h: Likewise.
61022         * lib/readlink.c: Likewise.
61023         * lib/readtokens.c: Likewise.
61024         * lib/readtokens.h: Likewise.
61025         * lib/readtokens0.c: Likewise.
61026         * lib/readtokens0.h: Likewise.
61027         * lib/readutmp.c: Likewise.
61028         * lib/readutmp.h: Likewise.
61029         * lib/realloc.c: Likewise.
61030         * lib/relocwrapper.c: Likewise.
61031         * lib/rename-dest-slash.c: Likewise.
61032         * lib/rename.c: Likewise.
61033         * lib/rmdir.c: Likewise.
61034         * lib/rpmatch.c: Likewise.
61035         * lib/safe-read.c: Likewise.
61036         * lib/safe-read.h: Likewise.
61037         * lib/safe-write.c: Likewise.
61038         * lib/safe-write.h: Likewise.
61039         * lib/same-inode.h: Likewise.
61040         * lib/same.c: Likewise.
61041         * lib/same.h: Likewise.
61042         * lib/save-cwd.c: Likewise.
61043         * lib/save-cwd.h: Likewise.
61044         * lib/savedir.c: Likewise.
61045         * lib/savedir.h: Likewise.
61046         * lib/savewd.c: Likewise.
61047         * lib/savewd.h: Likewise.
61048         * lib/search.in.h: Likewise.
61049         * lib/setenv.c: Likewise.
61050         * lib/setenv.h: Likewise.
61051         * lib/settime.c: Likewise.
61052         * lib/sh-quote.c: Likewise.
61053         * lib/sh-quote.h: Likewise.
61054         * lib/sig2str.c: Likewise.
61055         * lib/sig2str.h: Likewise.
61056         * lib/signal.in.h: Likewise.
61057         * lib/signbitd.c: Likewise.
61058         * lib/signbitf.c: Likewise.
61059         * lib/signbitl.c: Likewise.
61060         * lib/sigprocmask.c: Likewise.
61061         * lib/sincosl.c: Likewise.
61062         * lib/sleep.c: Likewise.
61063         * lib/sprintf.c: Likewise.
61064         * lib/sqrtl.c: Likewise.
61065         * lib/stat-time.h: Likewise.
61066         * lib/stdio--.h: Likewise.
61067         * lib/stdio-safer.h: Likewise.
61068         * lib/stdlib--.h: Likewise.
61069         * lib/stdlib-safer.h: Likewise.
61070         * lib/stdlib.in.h: Likewise.
61071         * lib/stpcpy.c: Likewise.
61072         * lib/stpncpy.c: Likewise.
61073         * lib/strchrnul.c: Likewise.
61074         * lib/strcspn.c: Likewise.
61075         * lib/strerror.c: Likewise.
61076         * lib/strftime.c: Likewise.
61077         * lib/strftime.h: Likewise.
61078         * lib/striconveh.c: Likewise.
61079         * lib/striconveh.h: Likewise.
61080         * lib/striconveha.c: Likewise.
61081         * lib/striconveha.h: Likewise.
61082         * lib/stripslash.c: Likewise.
61083         * lib/strnlen1.c: Likewise.
61084         * lib/strnlen1.h: Likewise.
61085         * lib/strtod.c: Likewise.
61086         * lib/strtoimax.c: Likewise.
61087         * lib/strtok_r.c: Likewise.
61088         * lib/strtol.c: Likewise.
61089         * lib/strtoll.c: Likewise.
61090         * lib/strtoul.c: Likewise.
61091         * lib/strtoull.c: Likewise.
61092         * lib/sysexits.in.h: Likewise.
61093         * lib/tempname.c: Likewise.
61094         * lib/tempname.h: Likewise.
61095         * lib/timespec.h: Likewise.
61096         * lib/tls.c: Likewise.
61097         * lib/tls.h: Likewise.
61098         * lib/tmpdir.c: Likewise.
61099         * lib/tmpdir.h: Likewise.
61100         * lib/tmpfile-safer.c: Likewise.
61101         * lib/tmpfile.c: Likewise.
61102         * lib/trigl.c: Likewise.
61103         * lib/trigl.h: Likewise.
61104         * lib/trim.c: Likewise.
61105         * lib/trim.h: Likewise.
61106         * lib/trunc.c: Likewise.
61107         * lib/truncf.c: Likewise.
61108         * lib/truncl.c: Likewise.
61109         * lib/tsearch.c: Likewise.
61110         * lib/unicodeio.c: Likewise.
61111         * lib/unicodeio.h: Likewise.
61112         * lib/unistd--.h: Likewise.
61113         * lib/unistd-safer.h: Likewise.
61114         * lib/unistdio/ulc-fprintf.c: Likewise.
61115         * lib/unistdio/ulc-vfprintf.c: Likewise.
61116         * lib/unlinkdir.c: Likewise.
61117         * lib/unlinkdir.h: Likewise.
61118         * lib/unlocked-io.h: Likewise.
61119         * lib/unsetenv.c: Likewise.
61120         * lib/userspec.c: Likewise.
61121         * lib/utime.c: Likewise.
61122         * lib/utimecmp.c: Likewise.
61123         * lib/utimecmp.h: Likewise.
61124         * lib/utimens.c: Likewise.
61125         * lib/verify.h: Likewise.
61126         * lib/verror.c: Likewise.
61127         * lib/verror.h: Likewise.
61128         * lib/version-etc-fsf.c: Likewise.
61129         * lib/version-etc.c: Likewise.
61130         * lib/version-etc.h: Likewise.
61131         * lib/vfprintf.c: Likewise.
61132         * lib/vprintf.c: Likewise.
61133         * lib/vsprintf.c: Likewise.
61134         * lib/w32spawn.h: Likewise.
61135         * lib/wait-process.c: Likewise.
61136         * lib/wait-process.h: Likewise.
61137         * lib/wcwidth.c: Likewise.
61138         * lib/write-any-file.c: Likewise.
61139         * lib/xalloc-die.c: Likewise.
61140         * lib/xalloc.h: Likewise.
61141         * lib/xasprintf.c: Likewise.
61142         * lib/xgetcwd.c: Likewise.
61143         * lib/xgetcwd.h: Likewise.
61144         * lib/xgetdomainname.c: Likewise.
61145         * lib/xgetdomainname.h: Likewise.
61146         * lib/xgethostname.c: Likewise.
61147         * lib/xmalloc.c: Likewise.
61148         * lib/xmalloca.c: Likewise.
61149         * lib/xmalloca.h: Likewise.
61150         * lib/xmemcoll.c: Likewise.
61151         * lib/xnanosleep.c: Likewise.
61152         * lib/xreadlink.c: Likewise.
61153         * lib/xreadlink.h: Likewise.
61154         * lib/xsetenv.c: Likewise.
61155         * lib/xsetenv.h: Likewise.
61156         * lib/xstriconv.c: Likewise.
61157         * lib/xstriconv.h: Likewise.
61158         * lib/xstrndup.c: Likewise.
61159         * lib/xstrndup.h: Likewise.
61160         * lib/xstrtod.c: Likewise.
61161         * lib/xstrtod.h: Likewise.
61162         * lib/xstrtol-error.c: Likewise.
61163         * lib/xstrtol.c: Likewise.
61164         * lib/xstrtol.h: Likewise.
61165         * lib/xtime.h: Likewise.
61166         * lib/xvasprintf.c: Likewise.
61167         * lib/xvasprintf.h: Likewise.
61168         * lib/yesno.c: Likewise.
61169         * lib/yesno.h: Likewise.
61170         * posix-modules: Likewise.
61171         * tests/test-alloca-opt.c: Likewise.
61172         * tests/test-arcfour.c: Likewise.
61173         * tests/test-arctwo.c: Likewise.
61174         * tests/test-argmatch.c: Likewise.
61175         * tests/test-argp-2.sh: Likewise.
61176         * tests/test-argp.c: Likewise.
61177         * tests/test-arpa_inet.c: Likewise.
61178         * tests/test-array_list.c: Likewise.
61179         * tests/test-array_oset.c: Likewise.
61180         * tests/test-atexit.c: Likewise.
61181         * tests/test-avltree_list.c: Likewise.
61182         * tests/test-avltree_oset.c: Likewise.
61183         * tests/test-avltreehash_list.c: Likewise.
61184         * tests/test-base64.c: Likewise.
61185         * tests/test-binary-io.c: Likewise.
61186         * tests/test-byteswap.c: Likewise.
61187         * tests/test-c-ctype.c: Likewise.
61188         * tests/test-c-strcasecmp.c: Likewise.
61189         * tests/test-c-strcasestr.c: Likewise.
61190         * tests/test-c-strncasecmp.c: Likewise.
61191         * tests/test-c-strstr.c: Likewise.
61192         * tests/test-canonicalize-lgpl.c: Likewise.
61193         * tests/test-canonicalize.c: Likewise.
61194         * tests/test-carray_list.c: Likewise.
61195         * tests/test-ceilf.c: Likewise.
61196         * tests/test-ceill.c: Likewise.
61197         * tests/test-count-one-bits.c: Likewise.
61198         * tests/test-crc.c: Likewise.
61199         * tests/test-dirname.c: Likewise.
61200         * tests/test-fbufmode.c: Likewise.
61201         * tests/test-fcntl.c: Likewise.
61202         * tests/test-fflush.c: Likewise.
61203         * tests/test-floorf.c: Likewise.
61204         * tests/test-floorl.c: Likewise.
61205         * tests/test-fopen.c: Likewise.
61206         * tests/test-fprintf-posix.c: Likewise.
61207         * tests/test-fprintf-posix.h: Likewise.
61208         * tests/test-fpurge.c: Likewise.
61209         * tests/test-freadable.c: Likewise.
61210         * tests/test-freadahead.c: Likewise.
61211         * tests/test-freading.c: Likewise.
61212         * tests/test-freopen.c: Likewise.
61213         * tests/test-frexp.c: Likewise.
61214         * tests/test-frexpl.c: Likewise.
61215         * tests/test-fseek.c: Likewise.
61216         * tests/test-fseeko.c: Likewise.
61217         * tests/test-fseterr.c: Likewise.
61218         * tests/test-fstrcmp.c: Likewise.
61219         * tests/test-ftell.c: Likewise.
61220         * tests/test-ftello.c: Likewise.
61221         * tests/test-fwritable.c: Likewise.
61222         * tests/test-fwriting.c: Likewise.
61223         * tests/test-getaddrinfo.c: Likewise.
61224         * tests/test-getpass.c: Likewise.
61225         * tests/test-gettimeofday.c: Likewise.
61226         * tests/test-hmac-md5.c: Likewise.
61227         * tests/test-hmac-sha1.c: Likewise.
61228         * tests/test-iconv.c: Likewise.
61229         * tests/test-iconvme.c: Likewise.
61230         * tests/test-inttypes.c: Likewise.
61231         * tests/test-isnan.c: Likewise.
61232         * tests/test-isnanf.c: Likewise.
61233         * tests/test-isnanl-nolibm.c: Likewise.
61234         * tests/test-isnanl.c: Likewise.
61235         * tests/test-isnanl.h: Likewise.
61236         * tests/test-ldexpl.c: Likewise.
61237         * tests/test-linked_list.c: Likewise.
61238         * tests/test-linkedhash_list.c: Likewise.
61239         * tests/test-locale.c: Likewise.
61240         * tests/test-localename.c: Likewise.
61241         * tests/test-lock.c: Likewise.
61242         * tests/test-lseek.c: Likewise.
61243         * tests/test-malloca.c: Likewise.
61244         * tests/test-math.c: Likewise.
61245         * tests/test-mbscasecmp.c: Likewise.
61246         * tests/test-mbscasestr1.c: Likewise.
61247         * tests/test-mbscasestr2.c: Likewise.
61248         * tests/test-mbscasestr3.c: Likewise.
61249         * tests/test-mbscasestr4.c: Likewise.
61250         * tests/test-mbschr.c: Likewise.
61251         * tests/test-mbscspn.c: Likewise.
61252         * tests/test-mbsncasecmp.c: Likewise.
61253         * tests/test-mbspbrk.c: Likewise.
61254         * tests/test-mbspcasecmp.c: Likewise.
61255         * tests/test-mbsrchr.c: Likewise.
61256         * tests/test-mbsspn.c: Likewise.
61257         * tests/test-mbsstr1.c: Likewise.
61258         * tests/test-mbsstr2.c: Likewise.
61259         * tests/test-mbsstr3.c: Likewise.
61260         * tests/test-md5.c: Likewise.
61261         * tests/test-memmem.c: Likewise.
61262         * tests/test-netinet_in.c: Likewise.
61263         * tests/test-open.c: Likewise.
61264         * tests/test-printf-frexp.c: Likewise.
61265         * tests/test-printf-frexpl.c: Likewise.
61266         * tests/test-printf-posix.c: Likewise.
61267         * tests/test-printf-posix.h: Likewise.
61268         * tests/test-rbtree_list.c: Likewise.
61269         * tests/test-rbtree_oset.c: Likewise.
61270         * tests/test-rbtreehash_list.c: Likewise.
61271         * tests/test-read-file.c: Likewise.
61272         * tests/test-rijndael.c: Likewise.
61273         * tests/test-search.c: Likewise.
61274         * tests/test-signbit.c: Likewise.
61275         * tests/test-sleep.c: Likewise.
61276         * tests/test-snprintf-posix.c: Likewise.
61277         * tests/test-snprintf-posix.h: Likewise.
61278         * tests/test-snprintf.c: Likewise.
61279         * tests/test-sprintf-posix.c: Likewise.
61280         * tests/test-sprintf-posix.h: Likewise.
61281         * tests/test-stat-time.c: Likewise.
61282         * tests/test-stdbool.c: Likewise.
61283         * tests/test-stdint.c: Likewise.
61284         * tests/test-stdio.c: Likewise.
61285         * tests/test-stdlib.c: Likewise.
61286         * tests/test-stpncpy.c: Likewise.
61287         * tests/test-strcasestr.c: Likewise.
61288         * tests/test-striconv.c: Likewise.
61289         * tests/test-striconveh.c: Likewise.
61290         * tests/test-striconveha.c: Likewise.
61291         * tests/test-string.c: Likewise.
61292         * tests/test-sys_select.c: Likewise.
61293         * tests/test-sys_socket.c: Likewise.
61294         * tests/test-sys_stat.c: Likewise.
61295         * tests/test-sys_time.c: Likewise.
61296         * tests/test-sysexits.c: Likewise.
61297         * tests/test-time.c: Likewise.
61298         * tests/test-tls.c: Likewise.
61299         * tests/test-trunc.c: Likewise.
61300         * tests/test-truncf.c: Likewise.
61301         * tests/test-truncl.c: Likewise.
61302         * tests/test-unistd.c: Likewise.
61303         * tests/test-vasnprintf-posix.c: Likewise.
61304         * tests/test-vasnprintf-posix2.c: Likewise.
61305         * tests/test-vasnprintf.c: Likewise.
61306         * tests/test-vasprintf-posix.c: Likewise.
61307         * tests/test-vasprintf.c: Likewise.
61308         * tests/test-verify.c: Likewise.
61309         * tests/test-vfprintf-posix.c: Likewise.
61310         * tests/test-vprintf-posix.c: Likewise.
61311         * tests/test-vsnprintf-posix.c: Likewise.
61312         * tests/test-vsnprintf.c: Likewise.
61313         * tests/test-vsprintf-posix.c: Likewise.
61314         * tests/test-wchar.c: Likewise.
61315         * tests/test-wctype.c: Likewise.
61316         * tests/test-wcwidth.c: Likewise.
61317         * tests/test-xstrtol.c: Likewise.
61318         * tests/test-xvasprintf.c: Likewise.
61319         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
61320         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
61321         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
61322         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
61323         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
61324         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
61325         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
61326         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
61327         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
61328         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
61329         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
61330         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
61331         * tests/uniname/test-uninames.c: Likewise.
61332         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
61333         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
61334         * tests/unistdio/test-u16-printf1.h: Likewise.
61335         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
61336         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
61337         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
61338         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
61339         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
61340         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
61341         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
61342         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
61343         * tests/unistdio/test-u32-printf1.h: Likewise.
61344         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
61345         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
61346         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
61347         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
61348         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
61349         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
61350         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
61351         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
61352         * tests/unistdio/test-u8-printf1.h: Likewise.
61353         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
61354         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
61355         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
61356         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
61357         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
61358         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
61359         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
61360         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
61361         * tests/unistdio/test-ulc-printf1.h: Likewise.
61362         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
61363         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
61364         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
61365         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
61366         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
61367         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
61368         * tests/uniwidth/test-u16-strwidth.c: Likewise.
61369         * tests/uniwidth/test-u16-width.c: Likewise.
61370         * tests/uniwidth/test-u32-strwidth.c: Likewise.
61371         * tests/uniwidth/test-u32-width.c: Likewise.
61372         * tests/uniwidth/test-u8-strwidth.c: Likewise.
61373         * tests/uniwidth/test-u8-width.c: Likewise.
61374         * tests/uniwidth/test-uc_width.c: Likewise.
61375         * config/srclist-update: Likewise.
61376         (fixlicense): Update to GPLv3+.
61377
61378         Change copyright notice from LGPLv2.1+ to LGPLv3+.
61379         * tests/test-tsearch.c: Change copyright notice.
61380
61381         Change copyright notice from LGPLv2.0+ to LGPLv3+.
61382         * lib/c-strcaseeq.h: Change copyright notice.
61383         * lib/streq.h: Likewise.
61384         * lib/uniconv.h: Likewise.
61385         * lib/uniconv/u-conv-from-enc.h: Likewise.
61386         * lib/uniconv/u-conv-to-enc.h: Likewise.
61387         * lib/uniconv/u-strconv-from-enc.h: Likewise.
61388         * lib/uniconv/u-strconv-to-enc.h: Likewise.
61389         * lib/uniconv/u16-conv-from-enc.c: Likewise.
61390         * lib/uniconv/u16-conv-to-enc.c: Likewise.
61391         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
61392         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
61393         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
61394         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
61395         * lib/uniconv/u32-conv-from-enc.c: Likewise.
61396         * lib/uniconv/u32-conv-to-enc.c: Likewise.
61397         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
61398         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
61399         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
61400         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
61401         * lib/uniconv/u8-conv-from-enc.c: Likewise.
61402         * lib/uniconv/u8-conv-to-enc.c: Likewise.
61403         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
61404         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
61405         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
61406         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
61407         * lib/uniname.h: Likewise.
61408         * lib/uniname/uniname.c: Likewise.
61409         * lib/unistdio.h: Likewise.
61410         * lib/unistdio/u-asnprintf.h: Likewise.
61411         * lib/unistdio/u-asprintf.h: Likewise.
61412         * lib/unistdio/u-printf-args.c: Likewise.
61413         * lib/unistdio/u-printf-args.h: Likewise.
61414         * lib/unistdio/u-printf-parse.h: Likewise.
61415         * lib/unistdio/u-snprintf.h: Likewise.
61416         * lib/unistdio/u-sprintf.h: Likewise.
61417         * lib/unistdio/u-vasprintf.h: Likewise.
61418         * lib/unistdio/u-vsnprintf.h: Likewise.
61419         * lib/unistdio/u-vsprintf.h: Likewise.
61420         * lib/unistdio/u16-asnprintf.c: Likewise.
61421         * lib/unistdio/u16-asprintf.c: Likewise.
61422         * lib/unistdio/u16-printf-parse.c: Likewise.
61423         * lib/unistdio/u16-snprintf.c: Likewise.
61424         * lib/unistdio/u16-sprintf.c: Likewise.
61425         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
61426         * lib/unistdio/u16-u16-asprintf.c: Likewise.
61427         * lib/unistdio/u16-u16-snprintf.c: Likewise.
61428         * lib/unistdio/u16-u16-sprintf.c: Likewise.
61429         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
61430         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
61431         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
61432         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
61433         * lib/unistdio/u16-vasnprintf.c: Likewise.
61434         * lib/unistdio/u16-vasprintf.c: Likewise.
61435         * lib/unistdio/u16-vsnprintf.c: Likewise.
61436         * lib/unistdio/u16-vsprintf.c: Likewise.
61437         * lib/unistdio/u32-asnprintf.c: Likewise.
61438         * lib/unistdio/u32-asprintf.c: Likewise.
61439         * lib/unistdio/u32-printf-parse.c: Likewise.
61440         * lib/unistdio/u32-snprintf.c: Likewise.
61441         * lib/unistdio/u32-sprintf.c: Likewise.
61442         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
61443         * lib/unistdio/u32-u32-asprintf.c: Likewise.
61444         * lib/unistdio/u32-u32-snprintf.c: Likewise.
61445         * lib/unistdio/u32-u32-sprintf.c: Likewise.
61446         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
61447         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
61448         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
61449         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
61450         * lib/unistdio/u32-vasnprintf.c: Likewise.
61451         * lib/unistdio/u32-vasprintf.c: Likewise.
61452         * lib/unistdio/u32-vsnprintf.c: Likewise.
61453         * lib/unistdio/u32-vsprintf.c: Likewise.
61454         * lib/unistdio/u8-asnprintf.c: Likewise.
61455         * lib/unistdio/u8-asprintf.c: Likewise.
61456         * lib/unistdio/u8-printf-parse.c: Likewise.
61457         * lib/unistdio/u8-snprintf.c: Likewise.
61458         * lib/unistdio/u8-sprintf.c: Likewise.
61459         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
61460         * lib/unistdio/u8-u8-asprintf.c: Likewise.
61461         * lib/unistdio/u8-u8-snprintf.c: Likewise.
61462         * lib/unistdio/u8-u8-sprintf.c: Likewise.
61463         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
61464         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
61465         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
61466         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
61467         * lib/unistdio/u8-vasnprintf.c: Likewise.
61468         * lib/unistdio/u8-vasprintf.c: Likewise.
61469         * lib/unistdio/u8-vsnprintf.c: Likewise.
61470         * lib/unistdio/u8-vsprintf.c: Likewise.
61471         * lib/unistdio/ulc-asnprintf.c: Likewise.
61472         * lib/unistdio/ulc-asprintf.c: Likewise.
61473         * lib/unistdio/ulc-printf-parse.c: Likewise.
61474         * lib/unistdio/ulc-snprintf.c: Likewise.
61475         * lib/unistdio/ulc-sprintf.c: Likewise.
61476         * lib/unistdio/ulc-vasnprintf.c: Likewise.
61477         * lib/unistdio/ulc-vasprintf.c: Likewise.
61478         * lib/unistdio/ulc-vsnprintf.c: Likewise.
61479         * lib/unistdio/ulc-vsprintf.c: Likewise.
61480         * lib/unistr.h: Likewise.
61481         * lib/unistr/u-cpy-alloc.h: Likewise.
61482         * lib/unistr/u-cpy.h: Likewise.
61483         * lib/unistr/u-endswith.h: Likewise.
61484         * lib/unistr/u-move.h: Likewise.
61485         * lib/unistr/u-set.h: Likewise.
61486         * lib/unistr/u-startswith.h: Likewise.
61487         * lib/unistr/u-stpcpy.h: Likewise.
61488         * lib/unistr/u-stpncpy.h: Likewise.
61489         * lib/unistr/u-strcat.h: Likewise.
61490         * lib/unistr/u-strcpy.h: Likewise.
61491         * lib/unistr/u-strcspn.h: Likewise.
61492         * lib/unistr/u-strdup.h: Likewise.
61493         * lib/unistr/u-strlen.h: Likewise.
61494         * lib/unistr/u-strncat.h: Likewise.
61495         * lib/unistr/u-strncpy.h: Likewise.
61496         * lib/unistr/u-strnlen.h: Likewise.
61497         * lib/unistr/u-strpbrk.h: Likewise.
61498         * lib/unistr/u-strspn.h: Likewise.
61499         * lib/unistr/u-strstr.h: Likewise.
61500         * lib/unistr/u-strtok.h: Likewise.
61501         * lib/unistr/u16-check.c: Likewise.
61502         * lib/unistr/u16-chr.c: Likewise.
61503         * lib/unistr/u16-cmp.c: Likewise.
61504         * lib/unistr/u16-cpy-alloc.c: Likewise.
61505         * lib/unistr/u16-cpy.c: Likewise.
61506         * lib/unistr/u16-endswith.c: Likewise.
61507         * lib/unistr/u16-mblen.c: Likewise.
61508         * lib/unistr/u16-mbsnlen.c: Likewise.
61509         * lib/unistr/u16-mbtouc-aux.c: Likewise.
61510         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
61511         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
61512         * lib/unistr/u16-mbtouc.c: Likewise.
61513         * lib/unistr/u16-mbtoucr.c: Likewise.
61514         * lib/unistr/u16-move.c: Likewise.
61515         * lib/unistr/u16-next.c: Likewise.
61516         * lib/unistr/u16-prev.c: Likewise.
61517         * lib/unistr/u16-set.c: Likewise.
61518         * lib/unistr/u16-startswith.c: Likewise.
61519         * lib/unistr/u16-stpcpy.c: Likewise.
61520         * lib/unistr/u16-stpncpy.c: Likewise.
61521         * lib/unistr/u16-strcat.c: Likewise.
61522         * lib/unistr/u16-strchr.c: Likewise.
61523         * lib/unistr/u16-strcmp.c: Likewise.
61524         * lib/unistr/u16-strcpy.c: Likewise.
61525         * lib/unistr/u16-strcspn.c: Likewise.
61526         * lib/unistr/u16-strdup.c: Likewise.
61527         * lib/unistr/u16-strlen.c: Likewise.
61528         * lib/unistr/u16-strmblen.c: Likewise.
61529         * lib/unistr/u16-strmbtouc.c: Likewise.
61530         * lib/unistr/u16-strncat.c: Likewise.
61531         * lib/unistr/u16-strncmp.c: Likewise.
61532         * lib/unistr/u16-strncpy.c: Likewise.
61533         * lib/unistr/u16-strnlen.c: Likewise.
61534         * lib/unistr/u16-strpbrk.c: Likewise.
61535         * lib/unistr/u16-strrchr.c: Likewise.
61536         * lib/unistr/u16-strspn.c: Likewise.
61537         * lib/unistr/u16-strstr.c: Likewise.
61538         * lib/unistr/u16-strtok.c: Likewise.
61539         * lib/unistr/u16-to-u32.c: Likewise.
61540         * lib/unistr/u16-to-u8.c: Likewise.
61541         * lib/unistr/u16-uctomb-aux.c: Likewise.
61542         * lib/unistr/u16-uctomb.c: Likewise.
61543         * lib/unistr/u32-check.c: Likewise.
61544         * lib/unistr/u32-chr.c: Likewise.
61545         * lib/unistr/u32-cmp.c: Likewise.
61546         * lib/unistr/u32-cpy-alloc.c: Likewise.
61547         * lib/unistr/u32-cpy.c: Likewise.
61548         * lib/unistr/u32-endswith.c: Likewise.
61549         * lib/unistr/u32-mblen.c: Likewise.
61550         * lib/unistr/u32-mbsnlen.c: Likewise.
61551         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
61552         * lib/unistr/u32-mbtouc.c: Likewise.
61553         * lib/unistr/u32-mbtoucr.c: Likewise.
61554         * lib/unistr/u32-move.c: Likewise.
61555         * lib/unistr/u32-next.c: Likewise.
61556         * lib/unistr/u32-prev.c: Likewise.
61557         * lib/unistr/u32-set.c: Likewise.
61558         * lib/unistr/u32-startswith.c: Likewise.
61559         * lib/unistr/u32-stpcpy.c: Likewise.
61560         * lib/unistr/u32-stpncpy.c: Likewise.
61561         * lib/unistr/u32-strcat.c: Likewise.
61562         * lib/unistr/u32-strchr.c: Likewise.
61563         * lib/unistr/u32-strcmp.c: Likewise.
61564         * lib/unistr/u32-strcpy.c: Likewise.
61565         * lib/unistr/u32-strcspn.c: Likewise.
61566         * lib/unistr/u32-strdup.c: Likewise.
61567         * lib/unistr/u32-strlen.c: Likewise.
61568         * lib/unistr/u32-strmblen.c: Likewise.
61569         * lib/unistr/u32-strmbtouc.c: Likewise.
61570         * lib/unistr/u32-strncat.c: Likewise.
61571         * lib/unistr/u32-strncmp.c: Likewise.
61572         * lib/unistr/u32-strncpy.c: Likewise.
61573         * lib/unistr/u32-strnlen.c: Likewise.
61574         * lib/unistr/u32-strpbrk.c: Likewise.
61575         * lib/unistr/u32-strrchr.c: Likewise.
61576         * lib/unistr/u32-strspn.c: Likewise.
61577         * lib/unistr/u32-strstr.c: Likewise.
61578         * lib/unistr/u32-strtok.c: Likewise.
61579         * lib/unistr/u32-to-u16.c: Likewise.
61580         * lib/unistr/u32-to-u8.c: Likewise.
61581         * lib/unistr/u32-uctomb.c: Likewise.
61582         * lib/unistr/u8-check.c: Likewise.
61583         * lib/unistr/u8-chr.c: Likewise.
61584         * lib/unistr/u8-cmp.c: Likewise.
61585         * lib/unistr/u8-cpy-alloc.c: Likewise.
61586         * lib/unistr/u8-cpy.c: Likewise.
61587         * lib/unistr/u8-endswith.c: Likewise.
61588         * lib/unistr/u8-mblen.c: Likewise.
61589         * lib/unistr/u8-mbsnlen.c: Likewise.
61590         * lib/unistr/u8-mbtouc-aux.c: Likewise.
61591         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
61592         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
61593         * lib/unistr/u8-mbtouc.c: Likewise.
61594         * lib/unistr/u8-mbtoucr.c: Likewise.
61595         * lib/unistr/u8-move.c: Likewise.
61596         * lib/unistr/u8-next.c: Likewise.
61597         * lib/unistr/u8-prev.c: Likewise.
61598         * lib/unistr/u8-set.c: Likewise.
61599         * lib/unistr/u8-startswith.c: Likewise.
61600         * lib/unistr/u8-stpcpy.c: Likewise.
61601         * lib/unistr/u8-stpncpy.c: Likewise.
61602         * lib/unistr/u8-strcat.c: Likewise.
61603         * lib/unistr/u8-strchr.c: Likewise.
61604         * lib/unistr/u8-strcmp.c: Likewise.
61605         * lib/unistr/u8-strcpy.c: Likewise.
61606         * lib/unistr/u8-strcspn.c: Likewise.
61607         * lib/unistr/u8-strdup.c: Likewise.
61608         * lib/unistr/u8-strlen.c: Likewise.
61609         * lib/unistr/u8-strmblen.c: Likewise.
61610         * lib/unistr/u8-strmbtouc.c: Likewise.
61611         * lib/unistr/u8-strncat.c: Likewise.
61612         * lib/unistr/u8-strncmp.c: Likewise.
61613         * lib/unistr/u8-strncpy.c: Likewise.
61614         * lib/unistr/u8-strnlen.c: Likewise.
61615         * lib/unistr/u8-strpbrk.c: Likewise.
61616         * lib/unistr/u8-strrchr.c: Likewise.
61617         * lib/unistr/u8-strspn.c: Likewise.
61618         * lib/unistr/u8-strstr.c: Likewise.
61619         * lib/unistr/u8-strtok.c: Likewise.
61620         * lib/unistr/u8-to-u16.c: Likewise.
61621         * lib/unistr/u8-to-u32.c: Likewise.
61622         * lib/unistr/u8-uctomb-aux.c: Likewise.
61623         * lib/unistr/u8-uctomb.c: Likewise.
61624         * lib/unitypes.h: Likewise.
61625         * lib/uniwidth.h: Likewise.
61626         * lib/uniwidth/cjk.h: Likewise.
61627         * lib/uniwidth/u16-strwidth.c: Likewise.
61628         * lib/uniwidth/u16-width.c: Likewise.
61629         * lib/uniwidth/u32-strwidth.c: Likewise.
61630         * lib/uniwidth/u32-width.c: Likewise.
61631         * lib/uniwidth/u8-strwidth.c: Likewise.
61632         * lib/uniwidth/u8-width.c: Likewise.
61633         * lib/uniwidth/width.c: Likewise.
61634
61635 2007-10-07  Bruno Haible  <bruno@clisp.org>
61636
61637         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
61638         The file is still under LGPL (see modules/inttypes).
61639
61640 2007-10-06  Bruno Haible  <bruno@clisp.org>
61641
61642         * modules/trunc (Dependencies): Add 'extensions'.
61643         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
61644         Reported by Ben Pfaff <blp@gnu.org>.
61645
61646 2007-10-06  Bruno Haible  <bruno@clisp.org>
61647
61648         * modules/freopen-tests: New file.
61649         * tests/test-freopen.c: New file.
61650
61651         * modules/fopen-tests: New file.
61652         * tests/test-fopen.c: New file.
61653
61654         * modules/fopen: New file.
61655         * lib/fopen.c: New file.
61656         * m4/fopen.m4: New file.
61657         * modules/freopen: New file.
61658         * lib/freopen.c: New file.
61659         * m4/freopen.m4: New file.
61660         * lib/stdio.in.h (fopen, freopen): New declarations.
61661         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
61662         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
61663         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
61664         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
61665         * doc/functions/fopen.texi: Mention the 'fopen' module.
61666         * doc/functions/freopen.texi: Mention the 'freopen' module.
61667
61668 2007-10-06  Bruno Haible  <bruno@clisp.org>
61669
61670         * modules/open-tests: New file.
61671         * tests/test-open.c: New file.
61672
61673         * modules/open: New file.
61674         * lib/open.c: New file.
61675         * m4/open.m4: New file.
61676         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
61677         lib/open.c does.
61678         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
61679         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
61680         macros.
61681         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
61682         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
61683         REPLACE_OPEN.
61684         * doc/functions/open.texi: Mention the 'open' module.
61685
61686 2007-10-04  Bruno Haible  <bruno@clisp.org>
61687
61688         * modules/ceill-tests: New file.
61689         * tests/test-ceill.c: New file.
61690
61691         * modules/ceill: New file.
61692         * lib/ceill.c: Replace entire file.
61693         * m4/ceill.m4: New file.
61694         * lib/math.in.h (ceill): Replace declaration.
61695         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
61696         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
61697         * doc/functions/ceill.texi: Mention the 'ceill' module.
61698         * modules/mathl (Files): Remove lib/ceill.c.
61699         (Depends-on): Add ceill.
61700
61701 2007-10-04  Bruno Haible  <bruno@clisp.org>
61702
61703         * modules/ceilf-tests: New file.
61704         * tests/test-ceilf.c: New file.
61705
61706         * modules/ceilf: New file.
61707         * lib/ceil.c: New file.
61708         * lib/ceilf.c: New file.
61709         * m4/ceilf.m4: New file.
61710         * lib/math.in.h (ceilf): New declaration.
61711         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
61712         HAVE_DECL_CEILF.
61713         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
61714         HAVE_DECL_CEILF.
61715         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
61716
61717 2007-10-04  Bruno Haible  <bruno@clisp.org>
61718
61719         * modules/floorl-tests: New file.
61720         * tests/test-floorl.c: New file.
61721
61722         * modules/floorl: New file.
61723         * lib/floorl.c: Replace entire file.
61724         * m4/floorl.m4: New file.
61725         * lib/math.in.h (floorl): Replace declaration.
61726         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
61727         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
61728         * doc/functions/floorl.texi: Mention the 'floorl' module.
61729         * modules/mathl (Files): Remove lib/floorl.c.
61730         (Depends-on): Add floorl.
61731
61732 2007-10-04  Bruno Haible  <bruno@clisp.org>
61733
61734         * modules/floorf-tests: New file.
61735         * tests/test-floorf.c: New file.
61736
61737         * modules/floorf: New file.
61738         * lib/floor.c: New file.
61739         * lib/floorf.c: New file.
61740         * m4/floorf.m4: New file.
61741         * lib/math.in.h (floorf): New declaration.
61742         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
61743         HAVE_DECL_FLOORF.
61744         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
61745         HAVE_DECL_FLOORF.
61746         * doc/functions/floorf.texi: Mention the 'floorf' module.
61747
61748 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
61749             Bruno Haible  <bruno@clisp.org>
61750
61751         Advertise for the Git server instead of the CVS server.
61752         * doc/gnulib-intro.texi (Steady Development): Mention the Git
61753         repository instead of the CVS one.
61754         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
61755         about all VCS systems generically.
61756         * doc/gnulib.texi (Introduction): Capitalize `Git'.
61757
61758 2007-10-04  Bruno Haible  <bruno@clisp.org>
61759
61760         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
61761         means.
61762         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
61763
61764 2007-10-04  Bruno Haible  <bruno@clisp.org>
61765
61766         * modules/truncl-tests: New file.
61767         * tests/test-truncl.c: New file.
61768
61769         * modules/truncl: New file.
61770         * lib/truncl.c: New file.
61771         * m4/truncl.m4: New file.
61772         * lib/math.in.h (truncl): New declaration.
61773         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
61774         HAVE_DECL_TRUNCL.
61775         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
61776         HAVE_DECL_TRUNCL.
61777         * doc/functions/truncl.texi: Mention the 'truncl' module.
61778
61779 2007-10-04  Bruno Haible  <bruno@clisp.org>
61780
61781         * modules/truncf-tests: New file.
61782         * tests/test-truncf.c: New file.
61783
61784         * modules/truncf: New file.
61785         * lib/trunc.c: Make paramerizable through USE_* macros.
61786         * lib/truncf.c: New file.
61787         * m4/truncf.m4: New file.
61788         * lib/math.in.h (truncf): New declaration.
61789         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
61790         HAVE_DECL_TRUNCF.
61791         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
61792         HAVE_DECL_TRUNCF.
61793         * doc/functions/truncf.texi: Mention the 'truncf' module.
61794
61795 2007-10-03  Bruno Haible  <bruno@clisp.org>
61796
61797         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
61798         augmentation also for tests modules.
61799         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
61800         * modules/atexit-tests (Makefile.am): Likewise.
61801         * modules/binary-io-tests (Makefile.am): Likewise.
61802         * modules/c-strcase-tests (Makefile.am): Likewise.
61803         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
61804         * modules/canonicalize-tests (Makefile.am): Likewise.
61805         * modules/closein-tests (Makefile.am): Likewise.
61806         * modules/fprintf-posix-tests (Makefile.am): Likewise.
61807         * modules/freadahead-tests (Makefile.am): Likewise.
61808         * modules/fseek-tests (Makefile.am): Likewise.
61809         * modules/fseeko-tests (Makefile.am): Likewise.
61810         * modules/ftell-tests (Makefile.am): Likewise.
61811         * modules/ftello-tests (Makefile.am): Likewise.
61812         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
61813         * modules/isnanl-tests (Makefile.am): Likewise.
61814         * modules/lseek-tests (Makefile.am): Likewise.
61815         * modules/mbscasecmp-tests (Makefile.am): Likewise.
61816         * modules/mbscasestr-tests (Makefile.am): Likewise.
61817         * modules/mbschr-tests (Makefile.am): Likewise.
61818         * modules/mbscspn-tests (Makefile.am): Likewise.
61819         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
61820         * modules/mbspbrk-tests (Makefile.am): Likewise.
61821         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
61822         * modules/mbsrchr-tests (Makefile.am): Likewise.
61823         * modules/mbsspn-tests (Makefile.am): Likewise.
61824         * modules/mbsstr-tests (Makefile.am): Likewise.
61825         * modules/printf-posix-tests (Makefile.am): Likewise.
61826         * modules/snprintf-posix-tests (Makefile.am): Likewise.
61827         * modules/sprintf-posix-tests (Makefile.am): Likewise.
61828         * modules/tsearch-tests (Makefile.am): Likewise.
61829         * modules/uniname/uniname-tests (Makefile.am): Likewise.
61830         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
61831         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
61832         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
61833         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
61834         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
61835         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
61836         * modules/vprintf-posix-tests (Makefile.am): Likewise.
61837         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
61838         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
61839         * modules/xstrtoimax-tests (Makefile.am): Likewise.
61840         * modules/xstrtol-tests (Makefile.am): Likewise.
61841         * modules/xstrtoumax-tests (Makefile.am): Likewise.
61842         * modules/yesno-tests (Makefile.am): Likewise.
61843
61844 2007-10-03  Bruno Haible  <bruno@clisp.org>
61845
61846         * modules/trunc-tests: New file.
61847         * tests/test-trunc.c: New file.
61848
61849         * modules/trunc: New file.
61850         * lib/trunc.c: New file.
61851         * m4/trunc.m4: New file.
61852         * lib/math.in.h (trunc): New declaration.
61853         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
61854         HAVE_DECL_TRUNC.
61855         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
61856         HAVE_DECL_TRUNC.
61857         * doc/functions/trunc.texi: Mention the 'trunc' module.
61858
61859 2007-10-03  Bruno Haible  <bruno@clisp.org>
61860
61861         * tests/test-fpending.c: New file, mostly copied
61862         from coreutils/lib/t-fpending.c.
61863         * modules/fpending-tests: New file.
61864
61865 2007-10-03  Bruno Haible  <bruno@clisp.org>
61866
61867         Port the stdio extensions to QNX (untested).
61868         * lib/fseterr.c (fseterr): Add support for QNX.
61869         * lib/fbufmode.c (fbufmode): Likewise.
61870         * lib/freadable.c (freadable): Likewise.
61871         * lib/fwritable.c (fwritable): Likewise.
61872         * lib/freading.c (freading): Likewise.
61873         * lib/fwriting.c (fwriting): Likewise.
61874         * lib/freadahead.c (freadahed): Likewise.
61875         * lib/fpurge.c (fpurge): Likewise.
61876         * lib/fseeko.c (rpl_fseeko): Likewise.
61877
61878 2007-10-03  Bruno Haible  <bruno@clisp.org>
61879             Jim Meyering  <jim@meyering.net>
61880             Eric Blake  <ebb9@byu.net>
61881
61882         * doc/relocatable.texi: Use @command instead of @program.
61883
61884 2007-10-02  Jim Meyering  <jim@meyering.net>
61885
61886         Perform one more "_.h" -> ".in.h" substitution.
61887         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
61888         instead of unistd_.h here, too.
61889
61890 2007-10-01  Bruno Haible  <bruno@clisp.org>
61891
61892         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
61893         Needed for the alloca-opt module.
61894
61895 2007-09-30  Bruno Haible  <bruno@clisp.org>
61896
61897         * lib/alloca.in.h: Renamed from lib/alloca_.h.
61898         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
61899         alloca_.h.
61900         * lib/argz.in.h: Renamed from lib/argz_.h.
61901         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
61902         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
61903         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
61904         byteswap_.h.
61905         * lib/dirent.in.h: Renamed from lib/dirent_.h.
61906         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
61907         dirent_.h.
61908         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
61909         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
61910         fcntl_.h.
61911         * lib/float.in.h: Renamed from lib/float_.h.
61912         * modules/float (Files, Makefile.am): Use float.in.h instead of
61913         float_.h.
61914         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
61915         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
61916         fnmatch_.h.
61917         * lib/getopt.in.h: Renamed from lib/getopt_.h.
61918         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
61919         getopt_.h.
61920         * lib/glob.in.h: Renamed from lib/glob_.h.
61921         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
61922         * lib/iconv.in.h: Renamed from lib/iconv_.h.
61923         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
61924         iconv_.h.
61925         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
61926         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
61927         inttypes_.h.
61928         * lib/locale.in.h: Renamed from lib/locale_.h.
61929         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
61930         locale_.h.
61931         * lib/math.in.h: Renamed from lib/math_.h.
61932         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
61933         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
61934         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
61935         of netinet_in_.h. Add dependency.
61936         * lib/poll.in.h: Renamed from lib/poll_.h.
61937         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
61938         * lib/search.in.h: Renamed from lib/search_.h.
61939         * modules/search (Files, Makefile.am): Use search.in.h instead of
61940         search_.h.
61941         * lib/signal.in.h: Renamed from lib/signal_.h.
61942         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
61943         _signal.h.
61944         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
61945         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
61946         stdbool_.h.
61947         * lib/stdint.in.h: Renamed from lib/stdint_.h.
61948         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
61949         stdint_.h.
61950         * lib/stdio.in.h: Renamed from lib/stdio_.h.
61951         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
61952         stdio_.h.
61953         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
61954         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
61955         stdlib_.h.
61956         * lib/string.in.h: Renamed from lib/string_.h.
61957         * modules/string (Files, Makefile.am): Use string.in.h instead of
61958         string_.h.
61959         * doc/gnulib-tool.texi (Initial import): Update.
61960         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
61961         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
61962         of sys_select_.h. Add dependency.
61963         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
61964         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
61965         of sys_socket_.h.
61966         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
61967         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
61968         sys_stat_.h.
61969         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
61970         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
61971         sys_time_.h.
61972         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
61973         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
61974         sysexits_.h.
61975         * lib/time.in.h: Renamed from lib/time_.h.
61976         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
61977         * lib/unistd.in.h: Renamed from lib/unistd_.h.
61978         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
61979         unistd_.h.
61980         * lib/wchar.in.h: Renamed from lib/wchar_.h.
61981         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
61982         wchar_.h.
61983         * lib/wctype.in.h: Renamed from lib/wctype_.h.
61984         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
61985         wctype_.h.
61986         * build-aux/bootstrap (slurp): Update.
61987         * lib/.cppi-disable: Update.
61988
61989 2007-09-30  Bruno Haible  <bruno@clisp.org>
61990
61991         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
61992         Needed on BeOS.
61993
61994 2007-09-30  Bruno Haible  <bruno@clisp.org>
61995
61996         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
61997
61998 2007-09-29  Bruno Haible  <bruno@clisp.org>
61999
62000         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
62001
62002 2007-09-29  Bruno Haible  <bruno@clisp.org>
62003
62004         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
62005         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
62006         * build-aux/install-reloc: Compile also areadlink.c.
62007         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
62008
62009 2007-09-29  Bruno Haible  <bruno@clisp.org>
62010
62011         * gnulib-tool (func_emit_initmacro_done): Indentation.
62012
62013 2007-09-29  Bruno Haible  <bruno@clisp.org>
62014
62015         * README: Add CVS checkout update instructions.
62016         Info from Bob Proulx <bob@proulx.com>.
62017
62018 2007-09-28  Eric Blake  <ebb9@byu.net>
62019
62020         Provide move-if-change.
62021         * build-aux/move-if-change: New file, based on best practice
62022         rather than any canonical upstream location.
62023
62024 2007-09-28  Jim Meyering  <jim@meyering.net>
62025
62026         Fix canonicalize loop-detection corner case.
62027         Do not attempt to stat the symlink values stored via seen_triple.
62028         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
62029         on linux-2.6.18, (but not 2.6.22).
62030         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
62031         triple_compare.  The former compares dev,ino,filename, while the latter
62032         would actually stat dirname(filename) when dev and ino were equal.
62033         * lib/hash-triple.c: Install <string.h>.
62034         (STREQ): Define.
62035         (triple_compare_ino_str): New function.
62036         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
62037
62038 2007-09-28  Eric Blake  <ebb9@byu.net>
62039
62040         Enforce that AC_REPLACE_FUNCS files exist.
62041         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
62042         override check for typos.
62043
62044         Fix test-closein on Solaris 10.
62045         * tests/test-closein.c (main): Don't assume stdin can be inherited
62046         closed on all systems.
62047         * tests/test-closein.sh: Likewise.
62048         Reported by Piotr Tarnowski.
62049
62050 2007-09-28  Jim Meyering  <jim@meyering.net>
62051
62052         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
62053
62054 2007-09-27  Jim Meyering  <jim@meyering.net>
62055
62056         canonicalize: Avoid a false-positive cycle failure.
62057         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
62058         Sort.  Remove cycle-check.
62059         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
62060         not cycle-check.h.
62061         (seen_triple): New function.
62062         (canonicalize_filename_mode): Use it instead of cycle-check.
62063         * tests/test-canonicalize.c: Add a test for this bug.
62064         * tests/test-canonicalize.sh: Set up and run the test.
62065
62066         New module, file-set, from coreutils.
62067         * modules/file-set: Define it.
62068         * lib/file-set.c, lib/file-set.h: Implement.
62069
62070         New module, hash-triple, from coreutils.
62071         * modules/hash-triple: Define it.
62072         * lib/hash-triple.c, lib/hash-triple.h: Implement.
62073
62074 2007-09-25  Eric Blake  <ebb9@byu.net>
62075
62076         Fix strerror on Interix.
62077         * lib/string_.h (strerror): Declare replacement.
62078         * doc/functions/strerror.texi (strerror): Document the Interix
62079         shortcoming.
62080         * modules/string (Makefile.am): Support new hooks.
62081         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
62082         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
62083         gl_FUNC_STRERROR_SEPARATE.
62084         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
62085         * lib/strerror.c (rpl_strerror): Provide replacement.
62086         * modules/strerror (Depends-on): Add string.
62087         (configure.ac): Detect use of module.
62088         * tests/test-strerror.c: New file.
62089         * modules/strerror-tests: New test module.
62090         * modules/argp (Depends-on): Add strerror.
62091         * modules/error (Depends-on): Likewise.
62092         Reported by Martin Koeppe.
62093
62094 2007-09-24  Bruno Haible  <bruno@clisp.org>
62095
62096         * README: Update git instructions.
62097
62098 2007-09-24  Eric Blake  <ebb9@byu.net>
62099
62100         Revert fpending breakage from 2007-09-08.
62101         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
62102         __fpending.c.
62103
62104 2007-09-24  Jim Meyering  <jim@meyering.net>
62105
62106         filenamecat.c: Add a test.
62107         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
62108         showing how the function works when DIR is the empty string.
62109
62110 2007-09-21  Simon Josefsson  <simon@josefsson.org>
62111
62112         * tests/test-canonicalize.sh: Turn on executable bit.
62113
62114 2007-09-19  Eric Blake  <ebb9@byu.net>
62115
62116         * README: Update CVS instructions.
62117
62118 2007-09-18  Bruno Haible  <bruno@clisp.org>
62119
62120         * modules/areadlink: New file.
62121         * lib/areadlink.h (areadlink): New declaration.
62122         * lib/areadlink.c: New file, based on lib/xreadlink.c.
62123
62124 2007-09-17  Jim Meyering  <jim@meyering.net>
62125
62126         * lib/savewd.c (ESTALE) [!defined]: Define.
62127         Reported to be required on Interix by Martin Koeppe.
62128
62129 2007-09-17  Bruno Haible  <bruno@clisp.org>
62130
62131         * gnulib-tool (func_version): Use $version.
62132
62133 2007-09-16  Bruno Haible  <bruno@clisp.org>
62134
62135         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
62136         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
62137         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
62138         Reported by Greg Schafer <gschafer@zip.com.au>.
62139
62140 2007-09-15  Bruno Haible  <bruno@clisp.org>
62141
62142         * gnulib-tool (sed): Try a little harder to make bash understand the
62143         alias.
62144         Reported by Bruce Korb <bruce.korb@gmail.com>.
62145
62146 2007-09-13  Eric Blake  <ebb9@byu.net>
62147
62148         * ChangeLog: Remove conflict markers.
62149
62150 2007-09-13  Simon Josefsson  <simon@josefsson.org>
62151
62152         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
62153         Reported by Bruno Haible <bruno@clisp.org>.
62154
62155 2007-09-12  Bruno Haible  <bruno@clisp.org>
62156
62157         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
62158         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
62159         is not defined.
62160
62161 2007-09-12  Eric Blake  <ebb9@byu.net>
62162
62163         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
62164         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
62165         Autoconf definition.
62166         * modules/euidaccess (Depends-on): Add extensions, for
62167         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
62168         * modules/fnmatch (Depends-on): Likewise.
62169         * modules/getaddrinfo (Depends-on): Likewise.
62170         * modules/getdelim (Depends-on): Likewise.
62171         * modules/getline (Depends-on): Likewise.
62172         * modules/getsubopt (Depends-on): Likewise.
62173         * modules/gettext (Depends-on): Likewise.
62174         * modules/group-member (Depends-on): Likewise.
62175         * modules/mbchar (Depends-on): Likewise.
62176         * modules/memmem (Depends-on): Likewise.
62177         * modules/mempcpy (Depends-on): Likewise.
62178         * modules/memrchr (Depends-on): Likewise.
62179         * modules/pagealign_alloc (Depends-on): Likewise.
62180         * modules/readutmp (Depends-on): Likewise.
62181         * modules/stpcpy (Depends-on): Likewise.
62182         * modules/stpncpy (Depends-on): Likewise.
62183         * modules/strchrnul (Depends-on): Likewise.
62184         * modules/strndup (Depends-on): Likewise.
62185         * modules/strsep (Depends-on): Likewise.
62186         * modules/strverscmp (Depends-on): Likewise.
62187         * modules/vasprintf (Depends-on): Likewise.
62188         * modules/wcwidth (Depends-on): Likewise.
62189         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
62190         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
62191         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
62192         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
62193         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
62194         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
62195         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
62196         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
62197         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
62198         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
62199         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
62200         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
62201         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
62202         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
62203         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
62204         * m4/readutmp.m4 (gl_READUTMP): Likewise.
62205         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
62206         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
62207         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
62208         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
62209         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
62210         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
62211         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
62212         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
62213         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
62214         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
62215         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
62216         so that lock.m4 can be used in gettext without extensions module.
62217
62218 2007-09-11  Bruno Haible  <bruno@clisp.org>
62219
62220         * m4/isc-posix.m4: Remove file.
62221         Suggested by Eric Blake.
62222
62223 2007-09-11  Eric Blake  <ebb9@byu.net>
62224
62225         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
62226
62227 2007-09-10  Bruno Haible  <bruno@clisp.org>
62228
62229         * posix-modules: Fix typo in error message.
62230         Reported by Matt <mkraai@beckman.com>.
62231
62232 2007-09-09  Bruno Haible  <bruno@clisp.org>
62233
62234         * doc/functions/getdelim.texi: Update list of platforms lacking the
62235         function.
62236         * doc/functions/getline.texi: Likewise.
62237
62238 2007-09-09  Jim Meyering  <jim@meyering.net>
62239
62240         * lib/hash.c (hash_initialize): Detect calloc failure.
62241         Reported by Bruno Haible.
62242
62243 2007-09-09  Bruno Haible  <bruno@clisp.org>
62244
62245         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
62246         malloc or realloc fails.
62247
62248 2007-09-09  Bruno Haible  <bruno@clisp.org>
62249
62250         * modules/getcwd (Depends-on): Add malloc-posix.
62251         * modules/glob (Depends-on): Likewise.
62252         * modules/putenv (Depends-on): Likewise.
62253         * modules/strdup (Depends-on): Likewise.
62254         * modules/getdelim (Depends-on): Add realloc-posix.
62255         * modules/read-file (Depends-on): Likewise.
62256
62257 2007-09-09  Bruno Haible  <bruno@clisp.org>
62258
62259         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
62260         (gl_FUNC_MALLOC_POSIX): Require it.
62261         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
62262         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
62263         * modules/realloc (Files): Add m4/malloc.m4.
62264         * modules/calloc (Files): Likewise.
62265
62266 2007-09-09  Bruno Haible  <bruno@clisp.org>
62267
62268         * modules/malloc-posix: New file.
62269         * modules/malloc (Depends-on): Add malloc-posix.
62270         * lib/malloc.c: Include errno.h.
62271         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
62272         and a POSIX-compatible malloc into a single function. Set ENOMEM
62273         when returning NULL.
62274         * m4/malloc.m4: New file.
62275         * doc/functions/malloc.texi: Mention the malloc-posix module.
62276         * lib/stdlib_.h (malloc): New declaration.
62277         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
62278         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
62279         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
62280         and HAVE_MALLOC_POSIX.
62281
62282 2007-09-09  Bruno Haible  <bruno@clisp.org>
62283
62284         * modules/realloc-posix: New file.
62285         * modules/realloc (Depends-on): Add realloc-posix.
62286         * lib/realloc.c: Include errno.h.
62287         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
62288         and a POSIX-compatible realloc into a single function. Set ENOMEM
62289         when returning NULL.
62290         * m4/realloc.m4: New file.
62291         * doc/functions/realloc.texi: Mention the realloc-posix module.
62292         * lib/stdlib_.h (realloc): New declaration.
62293         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
62294         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
62295         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
62296         and HAVE_REALLOC_POSIX.
62297
62298 2007-09-09  Bruno Haible  <bruno@clisp.org>
62299
62300         * modules/calloc-posix: New file.
62301         * modules/calloc (Depends-on): Add calloc-posix.
62302         * lib/calloc.c: Include errno.h.
62303         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
62304         and a POSIX-compatible calloc into a single function. Set ENOMEM
62305         when returning NULL.
62306         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
62307         * doc/functions/calloc.texi: Mention the calloc-posix module.
62308         * lib/stdlib_.h (calloc): New declaration.
62309         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
62310         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
62311         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
62312         and HAVE_CALLOC_POSIX.
62313
62314 2007-09-09  Bruno Haible  <bruno@clisp.org>
62315
62316         Allow for modules to show an arbitrary notice.
62317         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
62318         * gnulib-tool: New option --extract-notice.
62319         (func_usage): Document it.
62320         (sed_extract_prog): Update.
62321         (func_get_notice): New function.
62322         (func_modules_notice): New function.
62323         (func_import, func_create_testdir): Invoke it.
62324         Suggested by Jim Meyering.
62325
62326 2007-09-09  Bruno Haible  <bruno@clisp.org>
62327
62328         * gnulib-tool: New options --verbose, --quiet.
62329         (func_usage): Document them.
62330         (verbose): New variable.
62331         (func_execute_command): New function.
62332         (func_import): Don't show the module list and the file list if
62333         $verbose < 0.
62334         (func_create_testdir): Likewise. Use func_execute_command.
62335         (func_create_megatestdir): Use func_execute_command.
62336
62337 2007-09-08  Bruno Haible  <bruno@clisp.org>
62338
62339         * gnulib-tool (func_import): Prefer rsync over wget when available,
62340         for fetching the PO files.
62341
62342 2007-09-08  Bruno Haible  <bruno@clisp.org>
62343
62344         * posix-modules: New file. Portions copied from gnulib-tool.
62345         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
62346
62347 2007-09-08  Jim Meyering  <jim@meyering.net>
62348
62349         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
62350         * lib/fpending.h: Rename from __fpending.h.
62351         * lib/fpending.c: Rename from __fpending.c.
62352         Include "fpending.h", not "__fpending.h".
62353         * lib/__fpending.h, lib/__fpending.c: Remove files.
62354         * modules/fpending (Files): Reflect new file names.
62355         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
62356
62357 2007-09-08  Bruno Haible  <bruno@clisp.org>
62358
62359         * m4/inttypes-h.m4: Remove stub file.
62360
62361 2007-09-07  Simon Josefsson  <simon@josefsson.org>
62362
62363         * doc/headers/stdint.texi: Discuss #include_next issue.
62364
62365 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
62366
62367         * build-aux/bootstrap: Remove obsolete comment about wget --help.
62368
62369 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
62370
62371         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
62372         in variable name.
62373
62374 2007-09-03  Jim Meyering  <jim@meyering.net>
62375
62376         New module: git-version-gen.
62377         * modules/git-version-gen: New file.
62378
62379         Import changes from coreutils for bootstrap script.
62380
62381         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
62382
62383         bootstrap: uses rsync to download the .po files
62384         * build-aux/bootstrap (po_download_command_format): New global.
62385         (download_po_files): Use rsync.
62386         (update_po_files): Don't remove .po files after download,
62387         so future rsync runs can take advantage of the copies.
62388
62389         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
62390
62391         Solve the unnecessary-.po-file-regeneration problem once and for all.
62392         * build-aux/bootstrap (download_po_files): New function, renamed from
62393         get_translations.  Now, downloads, but doesn't update LINGUAS.
62394         (update_po_files): New function.
62395
62396         bootstrap: Ignore more.
62397         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
62398         uniwidth to e.g., lib/.gitignore.
62399         (slurp): Handle the sys_stat_.h -> sys mapping, too.
62400
62401         * build-aux/bootstrap: New setting: vc_ignore.
62402         (insert_sorted_if_absent): Create $file if absent.
62403         Adapt to new, possibly empty, list: $vc_ignore.
62404
62405         bootstrap: generate more ignorable names
62406         * build-aux/bootstrap (slurp): When generating ignorable names,
62407         also map .sin to .sed, .gperf to .c, and .y to .c.
62408
62409 2007-09-03  Jim Meyering  <jim@meyering.net>
62410
62411         * build-aux/git-version-gen: New file, from coreutils.  For details, see
62412         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
62413
62414 2007-09-02  Bruno Haible  <bruno@clisp.org>
62415
62416         Fix mis-recognition of 'mcs' on QNX 6.
62417         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
62418         output contains the string "Mono".
62419         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
62420         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
62421
62422 2007-09-01  Bruno Haible  <bruno@clisp.org>
62423
62424         Fix collision between uniwidth/* and linebreak modules.
62425         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
62426         u32_width): Remove declarations.
62427         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
62428         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
62429         streq3, streq2, streq1, streq0): Remove functions.
62430         (STREQ): Remove macro.
62431         (is_cjk_encoding): Remove function.
62432         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
62433         (uc_width, u8_width, u16_width, u32_width): Remove functions.
62434         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
62435         * NEWS: Document the change.
62436
62437 2007-09-01  Bruno Haible  <bruno@clisp.org>
62438
62439         * lib/streq.h: Add double-inclusion guard.
62440
62441 2007-09-01  Karl Berry  <karl@gnu.org>
62442
62443         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
62444
62445 2007-08-28  Jim Meyering  <jim@meyering.net>
62446
62447         Rename mreadlink_with_size to areadlink_with_size.
62448         * NEWS: Document the change.
62449         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
62450         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
62451         * lib/mreadlink.h: Rename this to...
62452         * lib/areadlink.h: ...this.
62453         * modules/mreadlink-with-size: Rename this to...
62454         * modules/areadlink-with-size: ...this.
62455         * lib/canonicalize.c: Reflect the renaming.
62456         * modules/canonicalize: Likewise.
62457
62458 2007-08-26  Bruno Haible  <bruno@clisp.org>
62459
62460         * gnulib-tool (func_import): When deciding which files to remove,
62461         consider also dangling symbolic links.
62462         Reported by Eric Blake.
62463
62464 2007-08-26  Bruno Haible  <bruno@clisp.org>
62465
62466         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
62467
62468 2007-08-23  Simon Josefsson  <simon@josefsson.org>
62469
62470         * lib/readline.c: Don't include getline.h, the prototype is now
62471         found in stdio.h.
62472
62473 2007-08-23  Jim Meyering  <jim@meyering.net>
62474
62475         Getdelim touchup.
62476         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
62477         around the funlockfile call, since funlockfile never sets errno.
62478         Don't set errno upon failed realloc.
62479
62480 2007-08-22  Eric Blake  <ebb9@byu.net>
62481
62482         Getline touchups.
62483         * lib/getdelim.c (getdelim): Revert regression that required *n to
62484         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
62485         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
62486         getdelim, rather than whether implementation is missing.
62487         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
62488         * lib/stdio_.h (getline): Also declare if replacement is
62489         required.
62490         * doc/functions/getdelim.texi: New file.
62491         * doc/functions/getline.texi: Likewise.
62492         * doc/gnulib.texi (Function Substitutes): Add new files.
62493         Reported by Bruno Haible.
62494
62495 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
62496
62497         * users.txt: Add Guile.
62498
62499 2007-08-22  Eric Blake  <ebb9@byu.net>
62500
62501         * tests/test-getdelim.c (main): Use remove, not unlink.
62502         * tests/test-getline.c (main): Likewise.
62503
62504         Move getline and getdelim into stdio.h, per POSIX 200x.
62505         * modules/getline (Files): Remove getline.h.
62506         (Depends-on): Add stdio.
62507         (configure.ac): Add module indicator.
62508         * modules/getdelim (Files): Remove getdelim.h.
62509         (Depends-on): Add stdio.
62510         (configure.ac): Add module indicator.
62511         * modules/stdio (Makefile.am): Work with new indicators.
62512         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
62513         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
62514         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
62515         * lib/getdelim.h: Delete.
62516         * lib/getline.h: Delete.
62517         * lib/stdio_.h (getdelim, getline): Declare.
62518         * modules/getdelim-tests: New module.
62519         * modules/getline-tests: Likewise.
62520         * tests/test-getdelim.c: New file.
62521         * tests/test-getline.c: Likewise.
62522         * NEWS: Document the change.
62523         * lib/getline.c: Update choice of header.
62524         * lib/csharpcomp.c: Likewise.
62525         * lib/getpass.c: Likewise.
62526         * lib/javacomp.c: Likewise.
62527         * lib/javaversion.c: Likewise.
62528         * lib/yesno.c: Likewise.
62529         * lib/getdelim.c: Likewise.
62530         (getdelim): Set errno on failure, and avoid memory leak.
62531
62532 2007-08-19  Bruno Haible  <bruno@clisp.org>
62533
62534         * modules/closein (Depends-on): Add freadahead.
62535         * lib/closein.c: Include freadahead.h.
62536         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
62537         is zero.
62538
62539 2007-08-19  Bruno Haible  <bruno@clisp.org>
62540
62541         * modules/freadahead-tests: New file.
62542         * tests/test-freadahead.sh: New file.
62543         * tests/test-freadahead.c: New file.
62544
62545         * modules/freadahead: New file.
62546         * lib/freadahead.h: New file.
62547         * lib/freadahead.c: New file.
62548         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
62549         fbufmode, fpurge, freadable, fwritable.
62550
62551 2007-08-19  Eric Blake  <ebb9@byu.net>
62552
62553         Test yesno in combination with closein.
62554         * lib/yesno.c (yesno): Document use of stdin.
62555         * modules/yesno-tests (Files): New module.
62556         * tests/test-yesno.c (main): New file.
62557         * tests/test-yesno.sh: Likewise.
62558
62559 2007-08-19  Bruno Haible  <bruno@clisp.org>
62560
62561         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
62562         * lib/fseeko.c (rpl_fseeko): Likewise.
62563         * lib/fseterr.c (fseterr): Likewise.
62564
62565 2007-08-19  Bruno Haible  <bruno@clisp.org>
62566
62567         * tests/test-lseek.c (main): Disable a test for BeOS.
62568         * doc/functions/lseek.texi: Document the BeOS bug.
62569
62570 2007-08-19  Bruno Haible  <bruno@clisp.org>
62571             Eric Blake  <ebb9@byu.net>
62572
62573         * lib/lseek.c: Include <sys/stat.h>.
62574         (rpl_lseek): Add workaround code also for Unix platforms.
62575         Needed for BeOS.
62576         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
62577         * doc/functions/lseek.texi: Document BeOS definiency.
62578
62579 2007-08-18  Bruno Haible  <bruno@clisp.org>
62580
62581         * modules/fstrcmp-tests: New file.
62582         * tests/test-fstrcmp.c: New file.
62583
62584 2007-08-18  Bruno Haible  <bruno@clisp.org>
62585
62586         * modules/fstrcmp: New file, from GNU gettext with modifications.
62587         * lib/fstrcmp.h: New file, from GNU gettext.
62588         * lib/fstrcmp.c: New file, from GNU gettext.
62589         * MODULES.html.sh (String handling): Add fstrcmp.
62590
62591 2007-08-18  Bruno Haible  <bruno@clisp.org>
62592
62593         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
62594         'bool'.
62595         (diag, compareseq): Remove const from the ctxt argument.
62596         (USE_HEURISTIC): Undefine at the end.
62597
62598 2007-08-18  Jim Meyering  <jim@meyering.net>
62599
62600         New file: lib/idcache.h
62601         * NEWS: Mention the addition.
62602         * modules/idcache (Files): Add lib/idcache.h
62603         * lib/idcache.c: Include "idcache.h".
62604         Don't include <sys/types.h>.
62605         Add a FIXME comment.
62606         Move file-scoped "static" declarations to the top.
62607         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
62608
62609 2007-08-17  Bruno Haible  <bruno@clisp.org>
62610         and Paul Eggert  <eggert@cs.ucla.edu>
62611
62612         * MODULES.html.sh: Add diffseq.
62613         * modules/diffseq: New file.
62614         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
62615         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
62616
62617 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
62618
62619         Import changes from coreutils for bootstrap script.
62620
62621         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
62622
62623         * build-aux/bootstrap (slurp): Work even in environments where
62624         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
62625         current code does not slurp files whose names start with ".", and
62626         this looks like it might be a troublesome area.
62627
62628         2007-07-11  Jim Meyering  <jim@meyering.net>
62629
62630         If there's a GPL vN copyright comment, require that N == 3.
62631
62632         2007-07-08  Jim Meyering  <jim@meyering.net>
62633
62634         Run the coreutils-specific code only if tests/Makefile.am.in exists.
62635         * build-aux/bootstrap (mam_template): Move definition out of loop.
62636
62637         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
62638
62639         * build-aux/bootstrap (symlink_to_dir): Rename function from
62640         symlink_to_gnulib.  Add a directory parameter.  Update all
62641         callers.
62642         (cp_mark_as_generated): Also check for -- and link to -- files in
62643         gl/.
62644
62645         2007-07-08  Jim Meyering  <jim@meyering.net>
62646
62647         Adapt to deeper hierarchy in gnulib.
62648         * build-aux/bootstrap (symlink_to_dir): If the destination
62649         directory doesn't exist, create it. This is required at least for
62650         "lib/uniwidth/cjk.h".
62651
62652         2007-05-15  Jim Meyering  <jim@meyering.net>
62653
62654         * build-aux/bootstrap: Now that generated Makefile.am files
62655         are no longer under version control, they must be created at
62656         bootstrap time.
62657
62658 2007-08-14  Ben Pfaff  <blp@gnu.org>
62659
62660         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
62661
62662 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
62663
62664         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
62665         given the changes below.
62666         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
62667         even on hosts that have padding bits beyond the supported 64.
62668
62669 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
62670
62671         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
62672         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
62673         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
62674         depends on it.
62675         (xstrtol_error): Remove.
62676         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
62677         but with a different signature.
62678         (ATTRIBUTE_NORETURN, __attribute__): New macros.
62679         * lib/xstrtol-error.c: Include exitfail.h.
62680         (xstrtol_fatal): New function, with a different signature from the
62681         old xstrtol_error, so that the caller need not worry about passing
62682         in an exit status, or about storage management of the option argument.
62683         (xstrtol_error): Now a static function.  Redo signature to
62684         implement xstrtol_fatal.  Output the correct number of hyphens in
62685         front of the option so that the caller need not worry about
62686         storage management.
62687         (N_): New macro.
62688         (_): Remove; not used now.
62689         * modules/xstrtol: Depend on getopt.
62690         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
62691         of old STRTOL_FATAL_ERROR macro.
62692         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
62693         of test program.
62694         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
62695         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
62696
62697 2007-08-08  Eric Blake  <ebb9@byu.net>
62698
62699         * lib/xstrtol-error.c: Add missing include.
62700
62701         Move xstrtol messages into gnulib domain, when --pobase is used.
62702         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
62703         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
62704         * modules/xstrtol (Files): Distribute new file.
62705         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
62706         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
62707         * tests/test-xstrtol.c: ...into new file.
62708         * tests/test-xstrtoul.c: Also test xstrtoul.
62709         * tests/test-xstrtoimax.c: Also test xstrtoimax.
62710         * tests/test-xstrtoumax.c: Also test xstrtoumax.
62711         * tests/test-xstrtol.sh: Drive the tests.
62712         * tests/test-xstrtoimax.sh: Likewise.
62713         * tests/test-xstrtoumax.sh: Likewise.
62714         * modules/xstrtol-tests: New module.
62715         * modules/xstrtoimax-tests: Likewise.
62716         * modules/xstrtoumax-tests: Likewise.
62717
62718 2007-08-08  Jim Meyering  <jim@meyering.net>
62719
62720         New function: mfile_name_concat.
62721         * lib/filenamecat.c (mfile_name_concat): New function, just like
62722         file_name_concat, but return NULL upon failure rather than exiting
62723         with a diagnostic.
62724         * lib/filenamecat.h: Declare it.
62725
62726 2007-08-07  Bruno Haible  <bruno@clisp.org>
62727
62728         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
62729         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
62730         warning from gcc.
62731         Reported by Eric Blake.
62732
62733 2007-08-07  Simon Josefsson  <simon@josefsson.org>
62734
62735         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
62736         * modules/crypto/arcfour (License): Likewise.
62737         * modules/crypto/des-tests (License): Likewise.
62738         * modules/crypto/gc-arctwo-tests (License): Likewise.
62739         * modules/crypto/gc-des-tests (License): Likewise.
62740         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
62741         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
62742         * modules/crypto/gc-md2-tests (License): Likewise.
62743         * modules/crypto/gc-md4-tests (License): Likewise.
62744         * modules/crypto/gc-md5-tests (License): Likewise.
62745         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
62746         * modules/crypto/gc-rijndael-tests (License): Likewise.
62747         * modules/crypto/gc-sha1-tests (License): Likewise.
62748         * modules/crypto/gc-tests (License): Likewise.
62749         * modules/crypto/hmac-md5 (License): Likewise.
62750         * modules/crypto/hmac-sha1 (License): Likewise.
62751         * modules/crypto/md2-tests (License): Likewise.
62752         * modules/crypto/md4-tests (License): Likewise.
62753         * modules/crypto/md5 (License): Likewise.
62754         * modules/crypto/rijndael (License): Likewise.
62755         * modules/crypto/sha1 (License): Likewise.
62756         * modules/memxor (License): Likewise.
62757
62758 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
62759         and Bruno Haible  <bruno@clisp.org>
62760
62761         * NEWS: Describe interface changes to human, xstrtol.
62762         * lib/human.h: Include <xstrtol.h>.
62763         (human_options): Return enum strtol_error, not int.  Remove
62764         bool arg; take int * instead.
62765         * lib/human.c: Don't include "gettext.h".
62766         (_): Remove; no longer used.
62767         Don't include <xstrtol.h>, since human.h does it.
62768         (human_options): Adjust to abovementioned interface changes.
62769         Do not report error to stderr; that's now the caller's
62770         responsibility.
62771         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
62772         interface change.
62773         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
62774         Str, Argument_type_string.  All uses changed.  Put " argument"
62775         in diagnostics to make them clearer.  Change wording of suffix
62776         message for clarity.
62777         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
62778         Argument_type_string.
62779         (STRTOL_FATAL_WARN): Remove; no longer used.
62780         * modules/human (Depends-on): Remove gettext-h.
62781
62782 2007-08-06  Simon Josefsson  <simon@josefsson.org>
62783
62784         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
62785
62786 2007-07-31  Bruno Haible  <bruno@clisp.org>
62787
62788         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
62789         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
62790         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
62791
62792 2007-07-31  Bruno Haible  <bruno@clisp.org>
62793
62794         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
62795         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
62796
62797 2007-07-30  Bruno Haible  <bruno@clisp.org>
62798
62799         * modules/base64 (License): Use the synonymous term "LGPLv2+".
62800         * modules/c-ctype (License): Likewise.
62801         * modules/c-strcase (License): Likewise.
62802         * modules/check-version (License): Likewise.
62803         * modules/iconv (License): Likewise.
62804         * modules/iconv_open (License): Likewise.
62805         * modules/read-file (License): Likewise.
62806         * modules/striconv (License): Likewise.
62807         * modules/strverscmp (License): Likewise.
62808         * modules/vasprintf (License): Likewise.
62809         * modules/crypto/des (License): Likewise.
62810         * modules/crypto/gc (License): Likewise.
62811         * modules/crypto/gc-arcfour (License): Likewise.
62812         * modules/crypto/gc-arctwo (License): Likewise.
62813         * modules/crypto/gc-des (License): Likewise.
62814         * modules/crypto/gc-hmac-md5 (License): Likewise.
62815         * modules/crypto/gc-hmac-sha1 (License): Likewise.
62816         * modules/crypto/gc-md2 (License): Likewise.
62817         * modules/crypto/gc-md4 (License): Likewise.
62818         * modules/crypto/gc-md5 (License): Likewise.
62819         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
62820         * modules/crypto/gc-random (License): Likewise.
62821         * modules/crypto/gc-rijndael (License): Likewise.
62822         * modules/crypto/gc-sha1 (License): Likewise.
62823         * modules/crypto/md2 (License): Likewise.
62824         * modules/crypto/md4 (License): Likewise.
62825
62826 2007-07-30  Jim Meyering  <jim@meyering.net>
62827
62828         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
62829         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
62830         it has valid stat data.  This bug would cause du not to count the
62831         sizes of inaccessible directories.
62832         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
62833         in <http://bugzilla.redhat.com/250077>.
62834
62835 2007-07-25  Peter O'Gorman  <peter@pogma.com>
62836             Bruno Haible  <bruno@clisp.org>
62837
62838         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
62839         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
62840         #include_next, gives a diagnostic about it, but reports no error in
62841         the exit code.
62842         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
62843
62844 2007-07-24  Ben Pfaff  <blp@gnu.org>
62845
62846         Improve name: "count-one-bits" is better than "popcount".
62847         * MODULES.html.sh: Update name.
62848         * lib/popcount.h: Renamed lib/count-one-bits.h.
62849         (popcount): Renamed count_one_bits.
62850         (popcountl): Renamed count_one_bits_l.
62851         (popcountll): Renamed count_one_bits_ll.
62852         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
62853         * modules/popcount: Renamed module/count-one-bits.
62854         * modules/popcount-tests: Renamed module/count-one-bits-tests.
62855         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
62856
62857 2007-07-23  Ben Pfaff  <blp@gnu.org>
62858
62859         * lib/popcount.h (popcount32): Reduce size of constants, to allow
62860         better code generation, and add U to large constants to avoid
62861         warnings, in non-GCC case.
62862         Suggested by Bruno Haible.
62863
62864 2007-07-23  Ben Pfaff  <blp@gnu.org>
62865
62866         * lib/popcount.h: Use verify_true instead of if...abort.
62867         * modules/popcount: Depend on verify module.
62868         Suggested by Jim Meyering.
62869
62870 2007-07-23  Bruno Haible  <bruno@clisp.org>
62871
62872         * gnulib-tool (func_import): Create a .cvsignore file also when the
62873         directory is not yet in CVS but the toplevel directory is. When
62874         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
62875         Reported by Karl Berry.
62876
62877 2007-07-22  Ben Pfaff  <blp@gnu.org>
62878
62879         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
62880         case.
62881         Suggested by Eric Blake.
62882
62883 2007-07-22  Ben Pfaff  <blp@gnu.org>
62884
62885         New module: popcount.
62886         * MODULES.html.sh: Add popcount.
62887         * modules/popcount: New file.
62888         * modules/popcount-tests: New file.
62889         * tests/test-popcount.c: New file.
62890         * lib/popcount.h: New file.
62891         * m4/popcount.m4: New file.
62892
62893 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
62894
62895         * build-aux/announce-gen: Update to GPLv3.
62896
62897         * build-aux/config.guess: Update from config.
62898
62899 2007-07-21  Bruno Haible  <bruno@clisp.org>
62900
62901         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
62902         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
62903
62904 2007-07-20  Jim Meyering  <jim@meyering.net>
62905
62906         * check-module: Diagnose a self-dependency.
62907
62908 2007-07-19  Bruno Haible  <bruno@clisp.org>
62909
62910         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
62911         empty.
62912         Reported by Eric Blake.
62913
62914 2007-07-18  Bruno Haible  <bruno@clisp.org>
62915
62916         * gnulib-tool: New options --po-base, --po-domain.
62917         (func_usage): Document them.
62918         (pobase, po_domain): New variables.
62919         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
62920         DEFAULT_TEXT_DOMAIN.
62921         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
62922         (func_import): Consider pobase and po_domain. Create a po/ directory.
62923         (func_create_testdir): Set pobase and po_domain to empty.
62924         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
62925         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
62926
62927 2007-07-18  Bruno Haible  <bruno@clisp.org>
62928
62929         * gnulib-tool (func_get_automake_snippet): Synthesize also an
62930         EXTRA_DIST augmentation for files in build-aux/.
62931
62932 2007-07-16  Bruno Haible  <bruno@clisp.org>
62933
62934         * modules/lseek (License): Use the synonymous term "LGPLv2+".
62935         * modules/getdelim (License): Likewise.
62936
62937 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
62938
62939         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
62940         * modules/d-type (License): Likewise.
62941         * modules/extensions (License): Likewise.
62942         * modules/fnmatch (License): Likewise.
62943         * modules/fseeko (License): Likewise.
62944         * modules/getaddrinfo (License): Likewise.
62945         * modules/getline (License): Likewise.
62946         * modules/getlogin_r (License): Likewise.
62947         * modules/getpass (License): Likewise.
62948         * modules/gettimeofday (License): Likewise.
62949         * modules/glob (License): Likewise.
62950         * modules/inet_ntop (License): Likewise.
62951         * modules/malloc (License): Likewise.
62952         * modules/malloca (License): Likewise.
62953         * modules/memmem (License): Likewise.
62954         * modules/mempcpy (License): Likewise.
62955         * modules/memset (License): Likewise.
62956         * modules/minmax (License): Likewise.
62957         * modules/mktime (License): Likewise.
62958         * modules/netinet_in (License): Likewise.
62959         * modules/pathmax (License): Likewise.
62960         * modules/poll (License): Likewise.
62961         * modules/regex (License): Likewise.
62962         * modules/snprintf (License): Likewise.
62963         * modules/stdbool (License): Likewise.
62964         * modules/stdint (License): Likewise.
62965         * modules/stdio (License): Likewise.
62966         * modules/strcase (License): Likewise.
62967         * modules/strcasestr (License): Likewise.
62968         * modules/strdup (License): Likewise.
62969         * modules/string (License): Likewise.
62970         * modules/strndup (License): Likewise.
62971         * modules/strnlen (License): Likewise.
62972         * modules/strpbrk (License): Likewise.
62973         * modules/strptime (License): Likewise.
62974         * modules/strsep (License): Likewise.
62975         * modules/sys_select (License): Likewise.
62976         * modules/sys_socket (License): Likewise.
62977         * modules/sys_stat (License): Likewise.
62978         * modules/sys_time (License): Likewise.
62979         * modules/time (License): Likewise.
62980         * modules/time_r (License): Likewise.
62981         * modules/timegm (License): Likewise.
62982         * modules/unistd (License): Likewise.
62983         * modules/vsnprintf (License): Likewise.
62984         * modules/wctype (License): Likewise.
62985
62986 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62987
62988         * modules/argz (License): LGPLv2+.
62989
62990 2007-07-15  Karl Berry  <karl@gnu.org>
62991
62992         * doc/gnulib.texi: revise node structure per new fdl.texi.
62993
62994 2007-07-14  Bruno Haible  <bruno@clisp.org>
62995
62996         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
62997         the output file.
62998         * lib/uniname/uninames.h: Regenerated.
62999
63000 2007-07-14  Karl Berry  <karl@gnu.org>
63001
63002         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
63003         omitting sectioning and index commands.
63004
63005 2007-07-13  Bruno Haible  <bruno@clisp.org>
63006
63007         New gnulib-tool option --more-symlinks.
63008         * gnulib-tool (func_usage): Document --more-symlinks.
63009         (do_copyrights): New variable.
63010         Recognize option --more-symlinks.
63011         (func_import): Don't add a copyright notice transform to
63012         sed_transform_lib_file if do_copyrights is empty.
63013
63014 2007-07-13  Bruno Haible  <bruno@clisp.org>
63015
63016         * lib/vasnprintf.c (decimal_point_char): Define also if
63017         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
63018         && !NEED_PRINTF_DIRECTIVE_A.
63019         Reported by Clemens Koller <clemens.koller@anagramm.de> via
63020         Gary V. Vaughan <gary@gnu.org>.
63021
63022 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
63023
63024         * lib/inttypes_.h: Undo previous change, since it was fixed
63025         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
63026
63027 2007-07-13  Bruno Haible  <bruno@clisp.org>
63028
63029         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
63030         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
63031
63032 2007-07-13  Jim Meyering  <jim@meyering.net>
63033
63034         df: Don't fail for Tru64's "file-on-file mount".
63035         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
63036         so we fall through and use statfs instead.  Details here:
63037         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
63038         Reported by Albert Chin.
63039
63040 2007-07-13  Bruno Haible  <bruno@clisp.org>
63041
63042         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
63043         * modules/configmake (License): Likewise.
63044         * modules/gettext (License): Likewise.
63045         * modules/gettext-h (License): Likewise.
63046         * modules/include_next (License): Likewise.
63047         * modules/link-warning (License): Likewise.
63048         * modules/localcharset (License): Likewise.
63049         * modules/localename (License): Likewise.
63050         * modules/lock (License): Likewise.
63051         * modules/relocatable-lib-lgpl (License): Likewise.
63052         * modules/size_max (License): Likewise.
63053         * modules/vasnprintf (License): Likewise.
63054         * modules/wchar (License): Likewise.
63055         * modules/xsize (License): Likewise.
63056
63057 2007-07-13  Bruno Haible  <bruno@clisp.org>
63058
63059         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
63060         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
63061
63062 2007-07-12  Bruno Haible  <bruno@clisp.org>
63063
63064         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
63065         in the modules files.
63066
63067 2007-07-11  Karl Berry  <karl@gnu.org>
63068
63069         * MODULES.html.sh (func_module): use
63070          sed -e '\|^'"${includefile}"'$|d'
63071          instead of /.../d, to avoid errors on $includefile's containing /.
63072
63073 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
63074
63075         * gnulib-tool (func_import): Avoid duplication of --avoid
63076         statements
63077         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
63078         names to `_' in variable names.
63079
63080 2007-07-10  Eric Blake  <ebb9@byu.net>
63081
63082         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
63083         * NEWS: Document this change.
63084
63085 2007-07-08  Bruno Haible  <bruno@clisp.org>
63086
63087         Update to Unicode 5.0.
63088         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
63089         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
63090         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
63091         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
63092         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
63093         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
63094         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
63095         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
63096         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
63097         U+10A3F, U+1D242..U+1D244.
63098         (nonspacing_table_ind): Update.
63099         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
63100         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
63101
63102 2007-07-08  Bruno Haible  <bruno@clisp.org>
63103
63104         Update to Unicode 5.0.
63105         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
63106         code transform. Extend the name index field of unicode_name_to_code and
63107         unicode_code_to_name from 16 to 24 bits.
63108         * lib/uniname/uniname.c (unicode_character_name,
63109         unicode_name_character): Add the range 0x12xxx to the code transform.
63110         * lib/uniname/uninames.h: Regenerated.
63111         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
63112
63113 2007-07-07  Bruno Haible  <bruno@clisp.org>
63114
63115         * modules/wcwidth-tests: New file.
63116         * tests/test-wcwidth.c: New file.
63117
63118         Work around MacOS X wcwidth() bug.
63119         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
63120         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
63121         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
63122         original wcwidth in non-UTF-8 locales.
63123         * modules/wcwidth (Depends-on): Add localcharset, streq,
63124         uniwidth/width.
63125         * doc/functions/wcwidth.texi: Update.
63126
63127 2007-07-07  Bruno Haible  <bruno@clisp.org>
63128
63129         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
63130         (wcwidth): New declaration.
63131         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
63132         macros.
63133         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
63134         here. Prepare for creating <wchar.h> unconditionally.
63135         * modules/wchar (Depends-on): Add link-warning.
63136         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
63137         REPLACE_WCWIDTH, and GL_LINK_WARNING.
63138         * lib/wcwidth.h: Remove file.
63139         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
63140         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
63141         * modules/wcwidth (Files): Remove lib/wcwidth.h.
63142         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
63143         (Include): Replace wcwidth.h with <wchar.h>.
63144         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
63145         * lib/mbchar.h: Don't include wcwidth.h.
63146         * lib/mbswidth.c: Likewise.
63147         * NEWS: Mention the change.
63148
63149 2007-07-07  Bruno Haible  <bruno@clisp.org>
63150
63151         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
63152         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
63153         definition with an external declaration.
63154         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
63155         defined as a function. Remove AC_C_INLINE requirement.
63156         * modules/wcwidth (Files): Add lib/wcwidth.c.
63157         (Makefile.am): Remove redundant statement.
63158
63159 2007-07-07  Bruno Haible  <bruno@clisp.org>
63160
63161         * MODULES.html.sh (Unicode string functions): Add the new modules.
63162
63163         * tests/uniwidth/test-u32-strwidth.c: New file.
63164         * modules/uniwidth/u32-strwidth-tests: New file.
63165
63166         * lib/uniwidth/u32-strwidth.c: New file.
63167         * modules/uniwidth/u32-strwidth: New file.
63168
63169         * tests/uniwidth/test-u16-strwidth.c: New file.
63170         * modules/uniwidth/u16-strwidth-tests: New file.
63171
63172         * lib/uniwidth/u16-strwidth.c: New file.
63173         * modules/uniwidth/u16-strwidth: New file.
63174
63175         * tests/uniwidth/test-u8-strwidth.c: New file.
63176         * modules/uniwidth/u8-strwidth-tests: New file.
63177
63178         * lib/uniwidth/u8-strwidth.c: New file.
63179         * modules/uniwidth/u8-strwidth: New file.
63180
63181         * tests/uniwidth/test-u32-width.c: New file.
63182         * modules/uniwidth/u32-width-tests: New file.
63183
63184         * lib/uniwidth/u32-width.c: New file.
63185         * modules/uniwidth/u32-width: New file.
63186
63187         * tests/uniwidth/test-u16-width.c: New file.
63188         * modules/uniwidth/u16-width-tests: New file.
63189
63190         * lib/uniwidth/u16-width.c: New file.
63191         * modules/uniwidth/u16-width: New file.
63192
63193         * tests/uniwidth/test-u8-width.c: New file.
63194         * modules/uniwidth/u8-width-tests: New file.
63195
63196         * lib/uniwidth/u8-width.c: New file.
63197         * modules/uniwidth/u8-width: New file.
63198
63199         * tests/uniwidth/test-uc_width.c: New file.
63200         * modules/uniwidth/width-tests: New file.
63201
63202         * lib/uniwidth/width.c: New file, from GNU libiconv.
63203         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
63204         * modules/uniwidth/width: New file.
63205
63206         * lib/uniwidth.h: New file, from GNU libiconv.
63207         * modules/uniwidth/base: New file.
63208
63209 2007-07-07  Bruno Haible  <bruno@clisp.org>
63210
63211         * lib/uniname.h: New file, from GNU gettext.
63212         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
63213         * lib/uniname/uninames.h: New file, from GNU gettext.
63214         * lib/uniname/uniname.c: New file, from GNU gettext.
63215         * tests/uniname/test-uninames.sh: New file.
63216         * tests/uniname/test-uninames.c: New file, from GNU gettext.
63217         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
63218         * modules/uniname/base: New file.
63219         * modules/uniname/uniname: New file.
63220         * modules/uniname/uniname-tests: New file.
63221         * MODULES.html.sh (Unicode string functions): Add the new modules.
63222
63223 2007-07-06  Bruno Haible  <bruno@clisp.org>
63224
63225         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
63226
63227 2007-07-06  Bruno Haible  <bruno@clisp.org>
63228
63229         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
63230         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
63231         includes <cygwin/sys_time.h> which includes <sys/select.h> which
63232         include <sys/time.h>.
63233         Reported by Eric Blake.
63234
63235 2007-07-06  Eric Blake  <ebb9@byu.net>
63236
63237         Fix testing canonicalize on cygwin.
63238         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
63239         Revert patch from 2007-06-19.
63240         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
63241         canonicalize module is also in use.
63242         * tests/test-canonicalize.c: New file.
63243         * tests/test-canonicalize.sh: Likewise.
63244         * modules/canonicalize-tests: Likewise.
63245
63246 2007-07-06  Jim Meyering  <jim@meyering.net>
63247
63248         * lib/getugroups.c (getugroups): Detect getgrent failure.
63249         Adjust comment to reflect reality: this function may return -1.
63250
63251 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
63252
63253         * build-aux/bootstrap (TP_URL,get_translations): Update to use
63254         the new TP address.
63255         (usage): Fix typo
63256         (gnulib_mk): New variable.
63257
63258 2007-07-05  Jim Meyering  <jim@meyering.net>
63259
63260         Don't let endgrent clobber errno, no matter how improbable.
63261         * lib/getugroups.c (getugroups): Save and restore errno around
63262         endgrent call.
63263
63264         Close the group DB even when failing with 2^31 or more members.
63265         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
63266
63267 2007-07-04  Jim Meyering  <jim@meyering.net>
63268
63269         * lib/getugroups.h: New file.
63270         * lib/getugroups.c: Include "getugroups.h".
63271         Remove uses of "register" keyword.
63272         Move local variable, "cp", down into scope where used.
63273         Give "username" parameter the "const" attribute.
63274         * modules/getugroups (Files): Add lib/getugroups.h
63275
63276 2007-07-04  Karl Berry  <karl@gnu.org>
63277
63278         * MODULES.html.sh (func_all_modules): Complete rename of
63279         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
63280
63281 2007-07-02  Bruno Haible  <bruno@clisp.org>
63282
63283         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
63284         mode, when inttypes.h comes from gnulib.
63285         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
63286
63287 2007-07-02  Simon Josefsson  <simon@josefsson.org>
63288
63289         * NEWS: Mention lgpl module name change.
63290
63291         * modules/lgpl-2.1: Renamed from lgpl.
63292
63293         * NEWS: Mention gpl module name change.
63294
63295         * modules/gpl-3.0: New file, based on gpl-2.0.
63296
63297         * modules/gpl-2.0: Renamed from gpl.
63298
63299         * modules/gpl: Fix filename, doc/gpl.texi is now found at
63300         doc/gpl-2.0.texi.
63301
63302 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
63303
63304         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
63305         #define __STDC_LIMIT_MACROS temporarily while including
63306         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
63307         Problem reported by Joel E. Denny in
63308         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
63309
63310 2007-07-01  Bruno Haible  <bruno@clisp.org>
63311
63312         * lib/unistdio.h: New file.
63313         * lib/unistdio/u-asnprintf.h: New file.
63314         * lib/unistdio/u-asprintf.h: New file.
63315         * lib/unistdio/u-printf-args.c: New file.
63316         * lib/unistdio/u-printf-args.h: New file.
63317         * lib/unistdio/u-printf-parse.h: New file.
63318         * lib/unistdio/u-snprintf.h: New file.
63319         * lib/unistdio/u-sprintf.h: New file.
63320         * lib/unistdio/u-vasprintf.h: New file.
63321         * lib/unistdio/u-vsnprintf.h: New file.
63322         * lib/unistdio/u-vsprintf.h: New file.
63323         * lib/unistdio/ulc-asnprintf.c: New file.
63324         * lib/unistdio/ulc-asprintf.c: New file.
63325         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
63326         * lib/unistdio/ulc-printf-parse.c: New file.
63327         * lib/unistdio/ulc-snprintf.c: New file.
63328         * lib/unistdio/ulc-sprintf.c: New file.
63329         * lib/unistdio/ulc-vasnprintf.c: New file.
63330         * lib/unistdio/ulc-vasprintf.c: New file.
63331         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
63332         * lib/unistdio/ulc-vsnprintf.c: New file.
63333         * lib/unistdio/ulc-vsprintf.c: New file.
63334         * lib/unistdio/u8-asnprintf.c: New file.
63335         * lib/unistdio/u8-asprintf.c: New file.
63336         * lib/unistdio/u8-printf-parse.c: New file.
63337         * lib/unistdio/u8-snprintf.c: New file.
63338         * lib/unistdio/u8-sprintf.c: New file.
63339         * lib/unistdio/u8-vasnprintf.c: New file.
63340         * lib/unistdio/u8-vasprintf.c: New file.
63341         * lib/unistdio/u8-vsnprintf.c: New file.
63342         * lib/unistdio/u8-vsprintf.c: New file.
63343         * lib/unistdio/u8-u8-asnprintf.c: New file.
63344         * lib/unistdio/u8-u8-asprintf.c: New file.
63345         * lib/unistdio/u8-u8-snprintf.c: New file.
63346         * lib/unistdio/u8-u8-sprintf.c: New file.
63347         * lib/unistdio/u8-u8-vasnprintf.c: New file.
63348         * lib/unistdio/u8-u8-vasprintf.c: New file.
63349         * lib/unistdio/u8-u8-vsnprintf.c: New file.
63350         * lib/unistdio/u8-u8-vsprintf.c: New file.
63351         * lib/unistdio/u16-asnprintf.c: New file.
63352         * lib/unistdio/u16-asprintf.c: New file.
63353         * lib/unistdio/u16-printf-parse.c: New file.
63354         * lib/unistdio/u16-snprintf.c: New file.
63355         * lib/unistdio/u16-sprintf.c: New file.
63356         * lib/unistdio/u16-vasnprintf.c: New file.
63357         * lib/unistdio/u16-vasprintf.c: New file.
63358         * lib/unistdio/u16-vsnprintf.c: New file.
63359         * lib/unistdio/u16-vsprintf.c: New file.
63360         * lib/unistdio/u16-u16-asnprintf.c: New file.
63361         * lib/unistdio/u16-u16-asprintf.c: New file.
63362         * lib/unistdio/u16-u16-snprintf.c: New file.
63363         * lib/unistdio/u16-u16-sprintf.c: New file.
63364         * lib/unistdio/u16-u16-vasnprintf.c: New file.
63365         * lib/unistdio/u16-u16-vasprintf.c: New file.
63366         * lib/unistdio/u16-u16-vsnprintf.c: New file.
63367         * lib/unistdio/u16-u16-vsprintf.c: New file.
63368         * lib/unistdio/u32-asnprintf.c: New file.
63369         * lib/unistdio/u32-asprintf.c: New file.
63370         * lib/unistdio/u32-printf-parse.c: New file.
63371         * lib/unistdio/u32-snprintf.c: New file.
63372         * lib/unistdio/u32-sprintf.c: New file.
63373         * lib/unistdio/u32-vasnprintf.c: New file.
63374         * lib/unistdio/u32-vasprintf.c: New file.
63375         * lib/unistdio/u32-vsnprintf.c: New file.
63376         * lib/unistdio/u32-vsprintf.c: New file.
63377         * lib/unistdio/u32-u32-asnprintf.c: New file.
63378         * lib/unistdio/u32-u32-asprintf.c: New file.
63379         * lib/unistdio/u32-u32-snprintf.c: New file.
63380         * lib/unistdio/u32-u32-sprintf.c: New file.
63381         * lib/unistdio/u32-u32-vasnprintf.c: New file.
63382         * lib/unistdio/u32-u32-vasprintf.c: New file.
63383         * lib/unistdio/u32-u32-vsnprintf.c: New file.
63384         * lib/unistdio/u32-u32-vsprintf.c: New file.
63385         * tests/unistdio/test-ulc-asnprintf1.c: New file.
63386         * tests/unistdio/test-ulc-asnprintf1.h: New file.
63387         * tests/unistdio/test-ulc-printf1.h: New file.
63388         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
63389         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
63390         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
63391         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
63392         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
63393         * tests/unistdio/test-ulc-vasprintf1.c: New file.
63394         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
63395         * tests/unistdio/test-ulc-vsprintf1.c: New file.
63396         * tests/unistdio/test-u8-asnprintf1.c: New file.
63397         * tests/unistdio/test-u8-asnprintf1.h: New file.
63398         * tests/unistdio/test-u8-printf1.h: New file.
63399         * tests/unistdio/test-u8-vasnprintf1.c: New file.
63400         * tests/unistdio/test-u8-vasnprintf2.c: New file.
63401         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
63402         * tests/unistdio/test-u8-vasnprintf3.c: New file.
63403         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
63404         * tests/unistdio/test-u8-vasprintf1.c: New file.
63405         * tests/unistdio/test-u8-vsnprintf1.c: New file.
63406         * tests/unistdio/test-u8-vsprintf1.c: New file.
63407         * tests/unistdio/test-u16-asnprintf1.c: New file.
63408         * tests/unistdio/test-u16-asnprintf1.h: New file.
63409         * tests/unistdio/test-u16-printf1.h: New file.
63410         * tests/unistdio/test-u16-vasnprintf1.c: New file.
63411         * tests/unistdio/test-u16-vasnprintf2.c: New file.
63412         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
63413         * tests/unistdio/test-u16-vasnprintf3.c: New file.
63414         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
63415         * tests/unistdio/test-u16-vasprintf1.c: New file.
63416         * tests/unistdio/test-u16-vsnprintf1.c: New file.
63417         * tests/unistdio/test-u16-vsprintf1.c: New file.
63418         * tests/unistdio/test-u32-asnprintf1.c: New file.
63419         * tests/unistdio/test-u32-asnprintf1.h: New file.
63420         * tests/unistdio/test-u32-printf1.h: New file.
63421         * tests/unistdio/test-u32-vasnprintf1.c: New file.
63422         * tests/unistdio/test-u32-vasnprintf2.c: New file.
63423         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
63424         * tests/unistdio/test-u32-vasnprintf3.c: New file.
63425         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
63426         * tests/unistdio/test-u32-vasprintf1.c: New file.
63427         * tests/unistdio/test-u32-vsnprintf1.c: New file.
63428         * tests/unistdio/test-u32-vsprintf1.c: New file.
63429         * modules/unistdio/base: New file.
63430         * modules/unistdio/u-printf-args: New file.
63431         * modules/unistdio/ulc-asnprintf: New file.
63432         * modules/unistdio/ulc-asprintf: New file.
63433         * modules/unistdio/ulc-fprintf: New file.
63434         * modules/unistdio/ulc-printf-parse: New file.
63435         * modules/unistdio/ulc-snprintf: New file.
63436         * modules/unistdio/ulc-sprintf: New file.
63437         * modules/unistdio/ulc-vasnprintf: New file.
63438         * modules/unistdio/ulc-vasprintf: New file.
63439         * modules/unistdio/ulc-vfprintf: New file.
63440         * modules/unistdio/ulc-vsnprintf: New file.
63441         * modules/unistdio/ulc-vsprintf: New file.
63442         * modules/unistdio/u8-asnprintf: New file.
63443         * modules/unistdio/u8-asprintf: New file.
63444         * modules/unistdio/u8-printf-parse: New file.
63445         * modules/unistdio/u8-snprintf: New file.
63446         * modules/unistdio/u8-sprintf: New file.
63447         * modules/unistdio/u8-vasnprintf: New file.
63448         * modules/unistdio/u8-vasprintf: New file.
63449         * modules/unistdio/u8-vsnprintf: New file.
63450         * modules/unistdio/u8-vsprintf: New file.
63451         * modules/unistdio/u8-u8-asnprintf: New file.
63452         * modules/unistdio/u8-u8-asprintf: New file.
63453         * modules/unistdio/u8-u8-snprintf: New file.
63454         * modules/unistdio/u8-u8-sprintf: New file.
63455         * modules/unistdio/u8-u8-vasnprintf: New file.
63456         * modules/unistdio/u8-u8-vasprintf: New file.
63457         * modules/unistdio/u8-u8-vsnprintf: New file.
63458         * modules/unistdio/u8-u8-vsprintf: New file.
63459         * modules/unistdio/u16-asnprintf: New file.
63460         * modules/unistdio/u16-asprintf: New file.
63461         * modules/unistdio/u16-printf-parse: New file.
63462         * modules/unistdio/u16-snprintf: New file.
63463         * modules/unistdio/u16-sprintf: New file.
63464         * modules/unistdio/u16-vasnprintf: New file.
63465         * modules/unistdio/u16-vasprintf: New file.
63466         * modules/unistdio/u16-vsnprintf: New file.
63467         * modules/unistdio/u16-vsprintf: New file.
63468         * modules/unistdio/u16-u16-asnprintf: New file.
63469         * modules/unistdio/u16-u16-asprintf: New file.
63470         * modules/unistdio/u16-u16-snprintf: New file.
63471         * modules/unistdio/u16-u16-sprintf: New file.
63472         * modules/unistdio/u16-u16-vasnprintf: New file.
63473         * modules/unistdio/u16-u16-vasprintf: New file.
63474         * modules/unistdio/u16-u16-vsnprintf: New file.
63475         * modules/unistdio/u16-u16-vsprintf: New file.
63476         * modules/unistdio/u32-asnprintf: New file.
63477         * modules/unistdio/u32-asprintf: New file.
63478         * modules/unistdio/u32-printf-parse: New file.
63479         * modules/unistdio/u32-snprintf: New file.
63480         * modules/unistdio/u32-sprintf: New file.
63481         * modules/unistdio/u32-vasnprintf: New file.
63482         * modules/unistdio/u32-vasprintf: New file.
63483         * modules/unistdio/u32-vsnprintf: New file.
63484         * modules/unistdio/u32-vsprintf: New file.
63485         * modules/unistdio/u32-u32-asnprintf: New file.
63486         * modules/unistdio/u32-u32-asprintf: New file.
63487         * modules/unistdio/u32-u32-snprintf: New file.
63488         * modules/unistdio/u32-u32-sprintf: New file.
63489         * modules/unistdio/u32-u32-vasnprintf: New file.
63490         * modules/unistdio/u32-u32-vasprintf: New file.
63491         * modules/unistdio/u32-u32-vsnprintf: New file.
63492         * modules/unistdio/u32-u32-vsprintf: New file.
63493         * modules/unistdio/ulc-asnprintf-tests: New file.
63494         * modules/unistdio/ulc-vasnprintf-tests: New file.
63495         * modules/unistdio/ulc-vasprintf-tests: New file.
63496         * modules/unistdio/ulc-vsnprintf-tests: New file.
63497         * modules/unistdio/ulc-vsprintf-tests: New file.
63498         * modules/unistdio/u8-asnprintf-tests: New file.
63499         * modules/unistdio/u8-vasnprintf-tests: New file.
63500         * modules/unistdio/u8-vasprintf-tests: New file.
63501         * modules/unistdio/u8-vsnprintf-tests: New file.
63502         * modules/unistdio/u8-vsprintf-tests: New file.
63503         * modules/unistdio/u16-asnprintf-tests: New file.
63504         * modules/unistdio/u16-vasnprintf-tests: New file.
63505         * modules/unistdio/u16-vasprintf-tests: New file.
63506         * modules/unistdio/u16-vsnprintf-tests: New file.
63507         * modules/unistdio/u16-vsprintf-tests: New file.
63508         * modules/unistdio/u32-asnprintf-tests: New file.
63509         * modules/unistdio/u32-vasnprintf-tests: New file.
63510         * modules/unistdio/u32-vasprintf-tests: New file.
63511         * modules/unistdio/u32-vsnprintf-tests: New file.
63512         * modules/unistdio/u32-vsprintf-tests: New file.
63513         * MODULES.html.sh (Unicode string functions): Add the new modules.
63514
63515 2007-07-01  Bruno Haible  <bruno@clisp.org>
63516
63517         * lib/sprintf.c (sprintf): Limit the available length estimation,
63518         to avoid address wraparound.
63519         * lib/vsprintf.c (vsprintf): Likewise.
63520         * modules/sprintf-posix (Dependencies): Add stdint.
63521         * modules/vsprintf-posix (Dependencies): Likewise.
63522
63523 2007-07-01  Bruno Haible  <bruno@clisp.org>
63524
63525         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
63526         Windows PATH as well. Conservative double-quoting. Comments.
63527
63528 2007-07-01  Bruno Haible  <bruno@clisp.org>
63529             Eric Blake  <ebb9@byu.net>
63530             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63531
63532         * gnulib-tool (self_abspathname): Fix algorithm to cope with
63533         empty components in $PATH, denoting '.'.
63534
63535 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63536
63537         * gnulib-tool: Fix indentation.
63538         (func_create_megatestdir): Likewise.
63539         Report by Bruno Haible.
63540
63541 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63542
63543         Sync from Automake.
63544         * build-aux/gnupload: Fix shell portability issues with for loops.
63545         Report by Karl Berry.
63546
63547 2007-06-29  Simon Josefsson  <simon@josefsson.org>
63548
63549         * build-aux/maint.mk (POURL): Use translationproject.org.
63550
63551 2007-06-27  Simon Josefsson  <simon@josefsson.org>
63552             Bruno Haible  <bruno@clisp.org>
63553
63554         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
63555         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
63556         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
63557         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
63558         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
63559
63560 2007-06-27  Bruno Haible  <bruno@clisp.org>
63561
63562         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
63563         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
63564
63565 2007-06-26  Karl Berry  <karl@gnu.org>
63566
63567         * MODULES.html.sh: remove xreadlink-with-size.
63568
63569 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
63570
63571         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
63572         method that I hope also handles the double-include problem noted
63573         by Bruno Haible in
63574         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
63575
63576 2007-06-23  Bruno Haible  <bruno@clisp.org>
63577
63578         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
63579         Don't let the 'mostlyclean' target fail if the last subdirectory could
63580         not be removed.
63581         Reported by Karl Berry.
63582
63583 2007-06-23  Bruno Haible  <bruno@clisp.org>
63584
63585         * gnulib-tool (echo): Add a speedier workaround for ksh.
63586         * tests/test-echo.sh: Likewise.
63587
63588 2007-06-23  Bruno Haible  <bruno@clisp.org>
63589
63590         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
63591         * tests/test-echo.sh: Likewise.
63592
63593 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63594
63595         * gnulib-tool (IFS): Initialize early, so we don't set it to
63596         empty later.
63597         (self_abspathname): Rewrite algorithm to set it, reindent.
63598         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
63599         (func_create_megatestdir): Merge some sed scripts.
63600
63601 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
63602
63603         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
63604         exposed by Sun Studio 11 cc on Solaris 8.
63605
63606 2007-06-22  Bruno Haible  <bruno@clisp.org>
63607
63608         * gnulib-tool (echo): Ensure the echo primitive does not interpret
63609         backslashes.
63610         * tests/test-echo.sh: New file.
63611
63612 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63613
63614         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
63615         simplify `sed_replace_build_aux' scripts, they are portable but
63616         echoing them with `echo' is not.
63617         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
63618
63619 2007-06-21  Karl Berry  <karl@gnu.org>
63620
63621         * config/srclist.txt: guess we can't handle the licenses via
63622         srclist at the moment.
63623
63624 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
63625
63626         * MODULES.html.sh: Add include_next.
63627         * modules/include_next: New file.
63628
63629 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
63630
63631         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
63632         INCLUDE_NEXT.
63633         (gl_CHECK_NEXT_HEADERS): New macro.
63634         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
63635         the obsolescent gl_ABSOLUTE_HEADER.
63636         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
63637         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
63638         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
63639         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
63640         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
63641         * m4/math_h.m4 (gl_MATH_H): Likewise.
63642         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
63643         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
63644         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
63645         * m4/stdint.m4 (gl_STDINT_H): Likewise.
63646         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
63647         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
63648         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
63649         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
63650         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
63651         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
63652         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
63653         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
63654         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
63655         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
63656         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
63657         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
63658         * m4/inttypes.m4 (gl_INTTYPES_H): Define
63659         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
63660         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
63661         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
63662         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
63663         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
63664         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
63665         * lib/float_.h: Likewise.
63666         * lib/inttypes_.h: Likewise.
63667         * lib/math_.h: Likewise.
63668         * lib/search_.h: Likewise.
63669         * lib/signal_.h: Likewise.
63670         * lib/stdint_.h: Likewise.
63671         * lib/stdio_.h: Likewise.
63672         * lib/stdlib_.h: Likewise.
63673         * lib/string_.h: Likewise.
63674         * lib/sys_stat_.h: Likewise.
63675         * lib/sys_time_.h: Likewise.
63676         * lib/time_.h: Likewise.
63677         * lib/unistd_.h: Likewise.
63678         * lib/wchar_.h: Likewise.
63679         * lib/wctype_.h: Likewise.
63680         * lib/dirent_.h: Likewise.
63681         * lib/iconv_.h: Likewise.
63682         * lib/locale_.h: Likewise.
63683         * lib/netinet_in_.h: Likewise.
63684         * lib/sys_select_.h: Likewise.
63685         * lib/sys_socket_.h: Likewise.
63686         * lib/sysexits_.h: Likewise.
63687         * modules/fcntl (Depends-on): Depend on include_next, not
63688         absolute_header.
63689         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
63690         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
63691         * modules/fchdir: Likewise.
63692         * modules/float: Likewise.
63693         * modules/iconv_open: Likewise.
63694         * modules/inttypes: Likewise.
63695         * modules/locale: Likewise.
63696         * modules/math: Likewise.
63697         * modules/netinet_in: Likewise.
63698         * modules/search: Likewise.
63699         * modules/signal: Likewise.
63700         * modules/stdint: Likewise.
63701         * modules/stdio: Likewise.
63702         * modules/stdlib: Likewise.
63703         * modules/string: Likewise.
63704         * modules/sys_select: Likewise.
63705         * modules/sys_socket: Likewise.
63706         * modules/sys_stat: Likewise.
63707         * modules/sys_time: Likewise.
63708         * modules/sysexits: Likewise.
63709         * modules/time: Likewise.
63710         * modules/unistd: Likewise.
63711         * modules/wchar: Likewise.
63712         * modules/wctype: Likewise.
63713         * modules/sys_stat: Change maintainer to "all".
63714         * modules/unistd: Likewise.
63715
63716 2007-06-20  Karl Berry  <karl@gnu.org>
63717
63718         * config/srclist.txt: track www changes in license files.
63719
63720 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
63721
63722         * build-aux/bootstrap: Remove stray dot.
63723         Make sure build_aux settings are honored when linking
63724         gnulib_extra_files.
63725
63726 2007-06-19  Eric Blake  <ebb9@byu.net>
63727
63728         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
63729         Allow compilation on cygwin.
63730
63731 2007-06-19  Jim Meyering  <jim@meyering.net>
63732
63733         xreadlink-with-size: Remove module.  No longer used.
63734         Ex-callers now use xreadlink or mreadlink-with-size.
63735         * modules/xreadlink-with-size: Remove module.
63736         * lib/xreadlink-with-size.c: Remove file.
63737         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
63738         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
63739         just before the function definition *is* accurate.
63740
63741         Eliminate one way canonicalize_filename_mode could exit.
63742         * lib/canonicalize.c (canonicalize_filename_mode):
63743         Use mreadlink_with_size, not xreadlink_with_size.
63744
63745 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
63746
63747         Detect porting problems to FreeBSD/arm, which has time_t wider than
63748         long int.  Original problem reported for GNU diff by Xin Li in
63749         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
63750         * modules/getdate (Depends-on): Add intprops, verify.
63751         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
63752         is an integer type no wider than long int.
63753
63754 2007-06-18  Jim Meyering  <jim@meyering.net>
63755
63756         New module: mreadlink-with-size.
63757         * MODULES.html.sh: Add mreadlink-with-size.
63758         * modules/mreadlink-with-size: New module
63759         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
63760         not xreadlink-with-size.
63761         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
63762
63763 2007-06-16  Bruno Haible  <bruno@clisp.org>
63764
63765         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
63766         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
63767         Reported by Gary V. Vaughan <gary@gnu.org>.
63768
63769 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
63770
63771         Revamp lchown so that it lives in unistd.h where it belongs.
63772         * lib/lchown.h: Remove.
63773         * lib/dirchownmod.c: Don't include lib/lchown.h.
63774         * lib/fchownat.c: Likewise.
63775         * lib/openat.c: Likewise.
63776         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
63777         does not follow symlinks.
63778         (EOPNOTSUPP): Define if not defined.
63779         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
63780         is defined to 0.
63781         (lchown): New decl.
63782         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
63783         Do not check for lchown decl.
63784         Set REPLACE_LCHOWN.
63785         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
63786         REPLACE_LCHOWN.
63787         * modules/chown: Make it clear it follows symlinks.
63788         * modules/lchown: Make it clear it doesn't follow symlinks.
63789         (Files): Remove lib/lchown.h
63790         (Depends-on): Add unistd.
63791         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
63792         (Include): Include <unistd.h>, not "lchown.h".
63793         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
63794         REPLACE_LCHOWN.
63795
63796 2007-06-15  Jim Meyering  <jim@meyering.net>
63797
63798         Change license (GPL to LGPL) of fsusage and dependents.
63799         * modules/fsusage (License): Change to LGPL.
63800         * modules/full-read (License): Likewise.
63801         * modules/full-write (License): Likewise.
63802         * modules/safe-read (License): Likewise.
63803         * modules/safe-write (License): Likewise.
63804
63805 2007-06-14  Ben Pfaff  <blp@gnu.org>
63806
63807         Missing part of allocsa -> malloca transition.
63808         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
63809         gl_MALLOCA.
63810
63811 2007-06-12  Bruno Haible  <bruno@clisp.org>
63812
63813         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
63814         to ia64, x86_64, i386.
63815         Reported by Eric Blake.
63816
63817 2007-06-12  Bruno Haible  <bruno@clisp.org>
63818
63819         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
63820         cross-compiling to x86_64.
63821
63822 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
63823
63824         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
63825         glitch reported by Ralf Wildenhues in
63826         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
63827
63828         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
63829         Vin Shelton.
63830
63831 2007-06-11  Bruno Haible  <bruno@clisp.org>
63832
63833         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
63834         replacement string.
63835         Reported by Eric Blake.
63836
63837 2007-06-10  Bruno Haible  <bruno@clisp.org>
63838
63839         Prepare vasnprintf code for use with Unicode strings.
63840         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
63841         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
63842         TYPE_U32_STRING.
63843         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
63844         a_u32_string variants.
63845         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
63846         * lib/printf-args.c: Don't include config.h and the specification
63847         header if PRINTF_FETCHARGS is already defined.
63848         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
63849         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
63850         TYPE_U16_STRING, TYPE_U32_STRING.
63851         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
63852         u16_directive, u16_directives, u32_directive, u32_directives): New
63853         types.
63854         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
63855         New declarations.
63856         * lib/printf-parse.c: Don't include config.h and the specification
63857         header if PRINTF_PARSE is already defined. Eliminate the set of
63858         parameters for WIDE_CHAR_VERSION; the user of this file must provide
63859         them now. Include c-ctype.h.
63860         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
63861         directive and CHAR_T_ONLY_ASCII.
63862         * lib/vasnprintf.c: Don't include config.h and the specification header
63863         if VASNPRINTF is already defined.
63864         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
63865         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
63866         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
63867         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
63868         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
63869         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
63870         code accordingly.
63871         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
63872         pad_ourselves also in this case, with the 'c' and 's' directives, and
63873         with a different notion of "width".
63874         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
63875
63876 2007-06-10  Bruno Haible  <bruno@clisp.org>
63877
63878         * modules/unistr/u32-mbsnlen: New file.
63879         * lib/unistr/u32-mbsnlen.c: New file.
63880
63881         * modules/unistr/u16-mbsnlen: New file.
63882         * lib/unistr/u16-mbsnlen.c: New file.
63883
63884         * modules/unistr/u8-mbsnlen: New file.
63885         * lib/unistr/u8-mbsnlen.c: New file.
63886
63887         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
63888         declarations.
63889
63890 2007-06-10  Bruno Haible  <bruno@clisp.org>
63891
63892         * lib/string_.h (mbsnlen): New declaration.
63893         * lib/mbsnlen.c: New file.
63894         * m4/mbsnlen.m4: New file.
63895         * modules/mbsnlen: New file.
63896         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
63897         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
63898         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
63899
63900 2007-06-10  Bruno Haible  <bruno@clisp.org>
63901
63902         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
63903
63904 2007-06-10  Bruno Haible  <bruno@clisp.org>
63905
63906         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
63907         * lib/mbuiter.h: Likewise.
63908
63909 2007-06-10  Bruno Haible  <bruno@clisp.org>
63910
63911         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
63912         declaration.
63913
63914 2007-06-10  Karl Berry  <karl@gnu.org>
63915
63916         * config/srclist.txt: remove gettext entries, Bruno prefers
63917         to update individually.
63918
63919 2007-06-10  Bruno Haible  <bruno@clisp.org>
63920
63921         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
63922         'maxlen'. Ensure only length + width bytes are allocated, not
63923         length + 1 + width.
63924
63925 2007-06-09  Bruno Haible  <bruno@clisp.org>
63926
63927         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
63928         (CHAR_T): Remove macro.
63929         (VASNPRINTF): Update.
63930
63931 2007-06-09  Bruno Haible  <bruno@clisp.org>
63932
63933         * MODULES.html.sh (Unicode string functions): Add the new modules.
63934
63935         * modules/uniconv/u32-conv-to-enc: New file.
63936         * lib/uniconv/u32-conv-to-enc.c: New file.
63937         * modules/uniconv/u32-conv-to-enc-tests: New file.
63938         * tests/uniconv/test-u32-conv-to-enc.c: New file.
63939
63940         * modules/uniconv/u16-conv-to-enc: New file.
63941         * lib/uniconv/u16-conv-to-enc.c: New file.
63942         * lib/uniconv/u-conv-to-enc.h: New file.
63943         * modules/uniconv/u16-conv-to-enc-tests: New file.
63944         * tests/uniconv/test-u16-conv-to-enc.c: New file.
63945
63946         * modules/uniconv/u8-conv-to-enc: New file.
63947         * lib/uniconv/u8-conv-to-enc.c: New file.
63948         * modules/uniconv/u8-conv-to-enc-tests: New file.
63949         * tests/uniconv/test-u8-conv-to-enc.c: New file.
63950
63951         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
63952         u32_conv_to_encoding): New declarations.
63953
63954 2007-06-09  Bruno Haible  <bruno@clisp.org>
63955
63956         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
63957
63958 2007-06-09  Bruno Haible  <bruno@clisp.org>
63959
63960         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
63961         * modules/malloca: Renamed from modules/allocsa, updated.
63962         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
63963         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
63964         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
63965         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
63966         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
63967         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
63968         * modules/xmalloca: Renamed from modules/xallocsa, updated.
63969         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
63970         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
63971         * modules/c-strcasestr (Depends-on): Update.
63972         * lib/c-strcasestr.c: Update.
63973         * modules/c-strstr (Depends-on): Update.
63974         * lib/c-strstr.c: Update.
63975         * modules/canonicalize-lgpl (Depends-on): Update.
63976         * lib/canonicalize-lgpl.c: Update.
63977         * modules/clean-temp (Depends-on): Update.
63978         * lib/clean-temp.c: Update.
63979         * modules/csharpcomp (Depends-on): Update.
63980         * lib/csharpcomp.c: Update.
63981         * modules/csharpexec (Depends-on): Update.
63982         * lib/csharpexec.c: Update.
63983         * modules/javacomp (Depends-on): Update.
63984         * lib/javacomp.c: Update.
63985         * modules/javaexec (Depends-on): Update.
63986         * lib/javaexec.c: Update.
63987         * modules/mbscasestr (Depends-on): Update.
63988         * lib/mbscasestr.c: Update.
63989         * modules/mbsstr (Depends-on): Update.
63990         * lib/mbsstr.c: Update.
63991         * modules/setenv (Depends-on): Update.
63992         * lib/setenv.c: Update.
63993         * modules/strcasestr (Depends-on): Update.
63994         * lib/strcasestr.c: Update.
63995         * modules/striconveha (Depends-on): Update.
63996         * lib/striconveha.c: Update.
63997         * modules/relocatable-prog-wrapper (Files): Update.
63998         * lib/relocwrapper.c: Update.
63999         * build-aux/install-reloc: Update.
64000         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
64001
64002 2007-06-08  Bruno Haible  <bruno@clisp.org>
64003
64004         Port to uClibc.
64005         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
64006         * lib/fpurge.c (fpurge): Likewise.
64007         * lib/freading.c (freading): Likewise.
64008         * lib/fseeko.c (rpl_fseeko): Likewise.
64009         * lib/fseterr.c (fseterr): Likewise.
64010         * lib/fwriting.c (fwriting): Likewise.
64011         * tests/test-fflush.c (main): Avoid a failure on uClibc.
64012
64013 2007-06-08  Bruno Haible  <bruno@clisp.org>
64014
64015         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
64016         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
64017         * modules/gettext (Files): Add m4/intlmacosx.m4.
64018
64019 2007-06-07  Bruno Haible  <bruno@clisp.org>
64020
64021         * modules/localename-tests: New file.
64022         * tests/test-localename.c: New file.
64023
64024         New module 'localename'.
64025         * lib/localename.h: New file.
64026         * lib/localename.c: New file, from GNU gettext.
64027         * m4/localename.m4: New file.
64028         * modules/localename: New file.
64029
64030 2007-06-07  Bruno Haible  <bruno@clisp.org>
64031
64032         Work around the lack of <wchar.h> on some builds of uClibc.
64033         * doc/headers/wchar.texi: Update.
64034         * lib/wchar_.h: Include <wchar.h> only if it exists.
64035         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
64036         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
64037         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
64038         doesn't exist.
64039         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
64040         * modules/mbfile (Depends-on): Add wchar.
64041         * modules/mbiter (Depends-on): Likewise.
64042         * modules/mbuiter (Depends-on): Likewise.
64043         Reported by Simon Josefsson.
64044
64045 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
64046
64047         Work around problem reported by Steven M. Schweda in
64048         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
64049         Tru64 5.1B with the Compaq compiler environment installed declares
64050         an 'isblank' function but does not define it in the C library.
64051         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
64052         * lib/regex_internal.h (isblank): Likewise.
64053         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
64054         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
64055
64056 2007-06-05  Bruno Haible  <bruno@clisp.org>
64057
64058         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
64059         ia64.
64060         * modules/printf-safe: New file.
64061         * modules/fprintf-posix (Depends-on): Add printf-safe.
64062         * modules/printf-posix (Depends-on): Likewise.
64063         * modules/snprintf-posix (Depends-on): Likewise.
64064         * modules/sprintf-posix (Depends-on): Likewise.
64065         * modules/vasnprintf-posix (Depends-on): Likewise.
64066         * modules/vasprintf-posix (Depends-on): Likewise.
64067         * modules/vfprintf-posix (Depends-on): Likewise.
64068         * modules/vprintf-posix (Depends-on): Likewise.
64069         * modules/vsnprintf-posix (Depends-on): Likewise.
64070         * modules/vsprintf-posix (Depends-on): Likewise.
64071         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
64072         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
64073         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
64074         "no" on i386, x86_64, ia64.
64075         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
64076         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
64077         on i386, x86_64, ia64.
64078         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
64079         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
64080         on i386, x86_64, ia64.
64081         * tests/test-vasnprintf-posix.c: Include float.h.
64082         (LDBL80_WORDS): New macro.
64083         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
64084         on i386, x86_64, ia64.
64085         * tests/test-vasprintf-posix.c: Include float.h.
64086         (LDBL80_WORDS): New macro.
64087         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
64088         on i386, x86_64, ia64.
64089         * tests/test-snprintf-posix.c: Include float.h.
64090         * tests/test-sprintf-posix.c: Likewise.
64091         * tests/test-vsnprintf-posix.c: Likewise.
64092         * tests/test-vsprintf-posix.c: Likewise.
64093
64094 2007-06-05  Bruno Haible  <bruno@clisp.org>
64095
64096         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
64097         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
64098         non-IEEE numbers on i386, x86_64, ia64.
64099         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
64100         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
64101         * tests/test-isnanl.h: Include float.h.
64102         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
64103
64104 2007-06-05  Bruno Haible  <bruno@clisp.org>
64105
64106         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
64107         also the %a / %A. Handle the %a / %A code before this extra handling.
64108
64109 2007-06-05  Bruno Haible  <bruno@clisp.org>
64110
64111         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
64112         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
64113
64114 2007-06-05  Bruno Haible  <bruno@clisp.org>
64115
64116         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
64117         typo in variable name.
64118
64119 2007-06-05  Eric Blake  <ebb9@byu.net>
64120
64121         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
64122         Reported by Simon Josefsson.
64123
64124 2007-06-04  Bruno Haible  <bruno@clisp.org>
64125
64126         Avoid test failures on some PowerPC platforms.
64127         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
64128         Define differently for PowerPC.
64129         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
64130         Reported by Gary V. Vaughan <gary@gnu.org>.
64131
64132 2007-06-02  Bruno Haible  <bruno@clisp.org>
64133
64134         Fix test-stdint failure on FreeBSD/ia64.
64135         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
64136         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
64137         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
64138         * doc/headers/stdint.texi: Update.
64139
64140 2007-06-01  Bruno Haible  <bruno@clisp.org>
64141
64142         * tests/test-binary-io.c (main): Pass a third argument to open().
64143         Reported by Gary V. Vaughan <gary@gnu.org>.
64144
64145 2007-06-01  Bruno Haible  <bruno@clisp.org>
64146
64147         * doc/functions/frexpl.texi: Update for mingw.
64148
64149 2007-06-01  Bruno Haible  <bruno@clisp.org>
64150
64151         * tests/test-lseek.c (main): Disable test of errno for invalid third
64152         argument.
64153         * doc/functions/lseek.texi: Update.
64154         Reported by Gary V. Vaughan <gary@gnu.org>.
64155
64156 2007-05-28  Bruno Haible  <bruno@clisp.org>
64157
64158         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
64159
64160 2007-05-31  Eric Blake  <ebb9@byu.net>
64161
64162         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
64163         cross compiling.
64164
64165 2007-05-30  Eric Blake  <ebb9@byu.net>
64166         and Bruno Haible  <bruno@clisp.org>
64167
64168         Work around mingw test failures exposed by m4-1.4.9b.
64169         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
64170         * tests/test-unistd.c: Disable uid_t and git_t tests for the
64171         moment.
64172
64173 2007-05-30  Bruno Haible  <bruno@clisp.org>
64174
64175         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
64176         assuming that they are closed. Needed on HP-UX 11.
64177
64178 2007-05-29  Bruno Haible  <bruno@clisp.org>
64179
64180         Fix a problem with #include_next.
64181         * lib/dirent_.h: Split the double-inclusion guard.
64182         * lib/fcntl_.h: Likewise.
64183         * lib/float_.h: Likewise.
64184         * lib/iconv_.h: Likewise.
64185         * lib/inttypes_.h: Likewise.
64186         * lib/locale_.h: Likewise.
64187         * lib/math_.h: Likewise.
64188         * lib/netinet_in_.h: Likewise.
64189         * lib/search_.h: Likewise.
64190         * lib/signal_.h: Likewise.
64191         * lib/stdint_.h: Likewise.
64192         * lib/stdio_.h: Likewise.
64193         * lib/stdlib_.h: Likewise.
64194         * lib/string_.h: Likewise.
64195         * lib/sys_select_.h: Likewise.
64196         * lib/sys_socket_.h: Likewise.
64197         * lib/sys_stat_.h: Likewise.
64198         * lib/sys_time_.h: Likewise.
64199         * lib/sysexits_.h: Likewise.
64200         * lib/time_.h: Likewise.
64201         * lib/unistd_.h: Likewise.
64202         * lib/wchar_.h: Likewise.
64203         * lib/wctype_.h: Likewise.
64204
64205 2007-05-29  Bruno Haible  <bruno@clisp.org>
64206
64207         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
64208         for the moment.
64209
64210 2007-05-29  Bruno Haible  <bruno@clisp.org>
64211
64212         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
64213         invocation.
64214         Reported by Eric Blake.
64215
64216 2007-05-29  Bruno Haible  <bruno@clisp.org>
64217
64218         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
64219         compiling case.
64220
64221 2007-05-29  Eric Blake  <ebb9@byu.net>
64222             Bruno Haible  <bruno@clisp.org>
64223
64224         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
64225         cross compiles.
64226
64227 2007-05-28  Eric Blake  <ebb9@byu.net>
64228
64229         * modules/closein-tests (test_closein_LDADD): Support test on
64230         cygwin with libtool.
64231
64232 2007-05-28  Bruno Haible  <bruno@clisp.org>
64233
64234         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
64235         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
64236         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
64237         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
64238         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
64239         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
64240         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
64241         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
64242         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
64243
64244 2007-05-28  Eric Blake  <ebb9@byu.net>
64245
64246         Unconditionally include <config.h> in unit tests.
64247         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
64248         * tests/test-allocsa.c, tests/test-arcfour.c,
64249         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
64250         tests/test-array_list.c, tests/test-array_oset.c,
64251         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
64252         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
64253         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
64254         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
64255         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
64256         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
64257         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
64258         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
64259         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
64260         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
64261         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
64262         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
64263         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
64264         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
64265         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
64266         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
64267         test-md5.c, test-memmem.c, test-printf-posix.c,
64268         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
64269         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
64270         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
64271         test-strcasestr.c, test-striconv.c, test-striconveh.c,
64272         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
64273         test-vasnprintf-posix2.c, test-vasnprintf.c,
64274         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
64275         test-vfprintf-posix.c, test-vprintf-posix.c,
64276         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
64277         test-xvasprintf.c: Likewise.
64278
64279 2007-05-28  Bruno Haible  <bruno@clisp.org>
64280
64281         * gnulib-tool (func_import): Remember the --with-tests command-line
64282         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
64283         Reported by Eric Blake.
64284
64285 2007-05-28  Bruno Haible  <bruno@clisp.org>
64286
64287         * modules/ftell-tests: New file.
64288         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
64289         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
64290
64291         * lib/ftell.c: New file.
64292         * modules/ftell: New file.
64293         * m4/ftell.m4: New file.
64294         * doc/functions/ftell.texi: Update.
64295         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
64296         REPLACE_FTELL.
64297         * lib/stdio_.h (rpl_ftell): New declaration.
64298         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
64299         REPLACE_FTELL.
64300
64301 2007-05-28  Eric Blake  <ebb9@byu.net>
64302
64303         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
64304
64305 2007-05-28  Bruno Haible  <bruno@clisp.org>
64306
64307         * modules/fseek-tests: New file.
64308         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
64309         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
64310
64311         * lib/fseek.c: New file.
64312         * modules/fseek: New file.
64313         * m4/fseek.m4: New file.
64314         * doc/functions/fseek.texi: Update.
64315         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
64316         REPLACE_FSEEK.
64317         * lib/stdio_.h (rpl_fseek): New declaration.
64318         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
64319         REPLACE_FSEEK.
64320
64321 2007-05-28  Bruno Haible  <bruno@clisp.org>
64322
64323         * lib/stdio_.h (fflush): More comments.
64324
64325 2007-05-28  Bruno Haible  <bruno@clisp.org>
64326
64327         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
64328         runtime test.
64329
64330 2007-05-28  Eric Blake  <ebb9@byu.net>
64331
64332         Improve lseek module.
64333         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
64334         * lib/unistd_.h (lseek): Scale back link warning message.
64335         * tests/test-lseek.c: Beef up test.
64336         * tests/test-lseek.sh: Exercise more facets of lseek.
64337         Reported by Bruno Haible.
64338
64339 2007-05-28  Bruno Haible  <bruno@clisp.org>
64340
64341         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
64342         to define.
64343
64344 2007-05-27  Bruno Haible  <bruno@clisp.org>
64345
64346         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
64347
64348 2007-05-27  Bruno Haible  <bruno@clisp.org>
64349
64350         * modules/openmp: New file.
64351         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
64352         Noah Misch.
64353
64354 2007-05-26  Bruno Haible  <bruno@clisp.org>
64355
64356         * modules/chdir-long (Depends-on): Add fchdir.
64357         * modules/chdir-safer (Depends-on): Likewise.
64358         * modules/fts (Depends-on): Likewise.
64359         * modules/fts-lgpl (Depends-on): Likewise.
64360         * modules/openat (Depends-on): Likewise.
64361         * modules/savewd (Depends-on): Likewise.
64362
64363 2007-05-24  Eric Blake  <ebb9@byu.net>
64364
64365         Fix lseek on mingw.
64366         * modules/lseek: New module.
64367         * m4/lseek.m4: New file.
64368         * lib/lseek.c: New file.
64369         * modules/lseek-tests: New file.
64370         * tests/test-lseek.c: New file.
64371         * tests/test-lseek.sh: New file.
64372         * MODULES.html.sh: Document lseek module.
64373         * modules/fflush (Depends-on): Add lseek, fseeko.
64374         * modules/fseeko (Depends-on): Likewise.
64375         * modules/ftello (Depends-on): Likewise.
64376         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
64377         broken.
64378         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
64379         broken.
64380         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
64381         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
64382         * lib/ftello.c (rpl_ftello): Likewise.
64383         * tests/test-fseeko.c (main): Test this.
64384         * tests/test-fseeko.sh: Likewise.
64385         * tests/test-ftello.c (main): Likewise.
64386         * tests/test-ftello.sh: Likewise.
64387         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
64388         implies replacing fseek.
64389         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
64390         HAVE_FTELLO.
64391         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
64392         * modules/unistd (Makefile.am): Likewise.
64393         * lib/unistd_.h (lseek): Declare a replacement.
64394         * doc/functions/lseek.texi (lseek): Document this fix.
64395         * doc/functions/fseek.texi (fseek): Likewise.
64396         * doc/functions/ftell.texi (ftell): Likewise.
64397
64398 2007-05-24  Bruno Haible  <bruno@clisp.org>
64399
64400         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
64401         in the printed representation of a NaN.
64402         * tests/test-vasprintf-posix.c (test_function): Likewise.
64403         * tests/test-snprintf-posix.h (test_function): Likewise.
64404         * tests/test-sprintf-posix.h (test_function): Likewise.
64405         Reported by Eric Blake.
64406
64407 2007-05-23  Eric Blake  <ebb9@byu.net>
64408
64409         Fix fseeko/ftello on cygwin 1.5.24.
64410         * doc/functions/fseeko.texi (fseeko): Document the fix.
64411         * doc/functions/ftello.texi (ftello): Document the fix.
64412         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
64413         * doc/functions/stdout.text (stdout): New file.
64414         * doc/functions/stderr.text (stderr): New file.
64415         * doc/gnulib.texi (Function Substitutes): Use new files.
64416         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
64417         prior to 1.7.0.
64418         * tests/test-ftello.c (main): Likewise for ftello.
64419         * tests/test-fseeko.sh: New file.
64420         * tests/test-ftello.sh: New file.
64421         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
64422         with seekable stdin.
64423         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
64424         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
64425         (gl_REPLACE_FSEEKO): New macro.
64426         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
64427         * modules/fseeko (Files): Distribute fseeko.c.
64428         * modules/ftello (Files): Distribute ftello.c.
64429         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
64430         mode.
64431         * lib/ftello.c (rpl_ftello): New file.
64432         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
64433         fseeko, ftello.
64434         (gl_STDIN_LARGE_OFFSET): New macro.
64435         * modules/stdio (Makefile.am): Perform the replacement.
64436         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
64437
64438 2007-05-23  Bruno Haible  <bruno@clisp.org>
64439
64440         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
64441         GNULIB_POSIXCHECK is defined.
64442
64443 2007-05-21  Bruno Haible  <bruno@clisp.org>
64444
64445         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
64446         Check also the output for NaN arguments. When cross-compiling, guess
64447         no on IRIX.
64448         * lib/vasnprintf.c: Update comments.
64449         * tests/test-vasnprintf-posix.c (strisnan): New function.
64450         (test_function): Use it.
64451         * tests/test-vasprintf-posix.c (strisnan): New function.
64452         (test_function): Use it.
64453         * tests/test-snprintf-posix.h (strisnan): New function.
64454         (test_function): Use it.
64455         * tests/test-sprintf-posix.h (strisnan): New function.
64456         (test_function): Use it.
64457         Reported by Eric Blake.
64458
64459 2007-05-20  Bruno Haible  <bruno@clisp.org>
64460
64461         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
64462         numbers that fails on BeOS.
64463         * doc/functions/frexpl.texi: Update.
64464
64465 2007-05-20  Jim Meyering  <jim@meyering.net>
64466
64467         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
64468         forced upon us by glibc-2.6.
64469
64470 2007-05-20  Bruno Haible  <bruno@clisp.org>
64471
64472         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
64473         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
64474         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
64475         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
64476         NEED_PRINTF_INFINITE.
64477         (is_infinitel): New function.
64478         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
64479         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
64480         gl_PREREQ_VASNPRINTF_INFINITE.
64481         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
64482         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
64483         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
64484         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
64485         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
64486         gl_PREREQ_VASNPRINTF_INFINITE.
64487         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
64488         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
64489         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
64490         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
64491         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
64492         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
64493         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
64494         * doc/functions/fprintf.texi: Update.
64495         * doc/functions/printf.texi: Update.
64496         * doc/functions/snprintf.texi: Update.
64497         * doc/functions/sprintf.texi: Update.
64498         * doc/functions/vfprintf.texi: Update.
64499         * doc/functions/vprintf.texi: Update.
64500         * doc/functions/vsnprintf.texi: Update.
64501         * doc/functions/vsprintf.texi: Update.
64502
64503 2007-05-20  Bruno Haible  <bruno@clisp.org>
64504
64505         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
64506         was not found in libc.
64507         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
64508
64509 2007-05-20  Bruno Haible  <bruno@clisp.org>
64510
64511         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
64512         printed as "-nan" instead of "nan".
64513         * tests/test-vasprintf-posix.c (test_function): Likewise.
64514         * tests/test-snprintf-posix.h (test_function): Likewise.
64515         * tests/test-sprintf-posix.h (test_function): Likewise.
64516         Needed for HP-UX 11.
64517
64518 2007-05-20  Jim Meyering  <jim@meyering.net>
64519
64520         Fix buggy test for the fchownat-deref bug.
64521         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
64522         symlink required for the run-test.  Without it, this test would
64523         always declare that fchownat doesn't work, and client code would
64524         unnecessarily use the replacement function with fixed libc.
64525         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
64526         Reported by Greg Schafer.
64527
64528 2007-05-19  Bruno Haible  <bruno@clisp.org>
64529
64530         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
64531         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
64532         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
64533         Needed for IRIX 6.5 and Solaris 2.5.1.
64534
64535 2007-05-19  Bruno Haible  <bruno@clisp.org>
64536
64537         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
64538         (test_function): Skip tests involving -0.0 on platforms where
64539         -0.0 = 0.0.
64540         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
64541         (test_function): Skip tests involving -0.0 on platforms where
64542         -0.0 = 0.0.
64543         * tests/test-snprintf-posix.h (have_minus_zero): New function.
64544         (test_function): Skip tests involving -0.0 on platforms where
64545         -0.0 = 0.0.
64546         * tests/test-sprintf-posix.h (have_minus_zero): New function.
64547         (test_function): Skip tests involving -0.0 on platforms where
64548         -0.0 = 0.0.
64549         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
64550         tests.
64551         * tests/test-printf-posix.h (test_function): Likewise.
64552         * tests/test-printf-posix.output: Remove all -0.0 related results.
64553         Needed for IRIX 6.5.
64554
64555 2007-05-19  Bruno Haible  <bruno@clisp.org>
64556
64557         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
64558         printed as "nan0x7fffffff" instead of "nan".
64559         * tests/test-vasprintf-posix.c (test_function): Likewise.
64560         * tests/test-snprintf-posix.h (test_function): Likewise.
64561         * tests/test-sprintf-posix.h (test_function): Likewise.
64562         * tests/test-fprintf-posix.h (NaN): Remove macro.
64563         (test_function): Remove all NaN related tests.
64564         * tests/test-printf-posix.h (NaN): Remove macro.
64565         (test_function): Remove all NaN related tests.
64566         * tests/test-printf-posix.output: Remove all NaN related results.
64567         Needed for IRIX 6.5.
64568
64569 2007-05-19  Bruno Haible  <bruno@clisp.org>
64570
64571         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
64572         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
64573
64574 2007-05-19  Bruno Haible  <bruno@clisp.org>
64575
64576         * lib/float_.h: New file.
64577         * m4/float_h.m4: New file.
64578         * modules/float: New file.
64579         * modules/isnanl (Dependencies): Add float.
64580         * modules/isnanl-nolibm (Dependencies): Likewise.
64581         * modules/mathl (Dependencies): Likewise.
64582         * modules/printf-frexpl (Dependencies): Likewise.
64583         * modules/signbit (Dependencies): Likewise.
64584         * modules/vasnprintf (Dependencies): Likewise.
64585         * doc/headers/float.texi: Update.
64586
64587 2007-05-19  Jim Meyering  <jim@meyering.net>
64588
64589         * lib/utimens.c (gl_futimens): Rename from futimens,
64590         now that glibc-2.6 declares futimens.
64591         * lib/utimens.h: Likewise.
64592
64593 2007-05-19  Bruno Haible  <bruno@clisp.org>
64594
64595         Avoid test failures on mingw.
64596         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
64597         * tests/test-printf-posix.sh: Likewise.
64598         * tests/test-vfprintf-posix.sh: Likewise.
64599         * tests/test-vprintf-posix.sh: Likewise.
64600
64601 2007-05-19  Bruno Haible  <bruno@clisp.org>
64602
64603         Fix *printf result for NaN, Inf, -0.0 on mingw.
64604         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
64605         * lib/vasnprintf.c: Include math.h and isnan.h.
64606         (is_infinite_or_zero): New function.
64607         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
64608         values in the %f, %F, %e, %E, %g, %G directives.
64609         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
64610         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
64611         gl_PRINTF_INFINITE and test its result. Invoke
64612         gl_PREREQ_VASNPRINTF_INFINITE.
64613         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
64614         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
64615         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
64616         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
64617         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
64618         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
64619         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
64620         * doc/functions/fprintf.texi: Update.
64621         * doc/functions/printf.texi: Update.
64622         * doc/functions/snprintf.texi: Update.
64623         * doc/functions/sprintf.texi: Update.
64624         * doc/functions/vfprintf.texi: Update.
64625         * doc/functions/vprintf.texi: Update.
64626         * doc/functions/vsnprintf.texi: Update.
64627         * doc/functions/vsprintf.texi: Update.
64628
64629 2007-05-19  Bruno Haible  <bruno@clisp.org>
64630
64631         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
64632         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
64633         Instead of multiplying with 10^k, set extra_zeroes to k.
64634         (scale10_round_long_double): Remove function.
64635
64636 2007-05-18  Bruno Haible  <bruno@clisp.org>
64637
64638         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
64639         introduced on 2007-05-06.
64640
64641 2007-05-18  Bruno Haible  <bruno@clisp.org>
64642
64643         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
64644         %g directives.
64645         * tests/test-vasprintf-posix.c (test_function): Likewise.
64646         * tests/test-snprintf-posix.h (test_function): Likewise.
64647         * tests/test-sprintf-posix.h (test_function): Likewise.
64648
64649 2007-05-18  Bruno Haible  <bruno@clisp.org>
64650
64651         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
64652         (strmatch): New function.
64653         (test_function): Test the %f directive on numbers of various exponents.
64654         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
64655         (strmatch): New function.
64656         (test_function): Test the %f directive on numbers of various exponents.
64657         * tests/test-snprintf-posix.h (strmatch): New function.
64658         (test_function): Test the %f directive on numbers of various exponents.
64659         * tests/test-sprintf-posix.h (strmatch): New function.
64660         (test_function): Test the %f directive on numbers of various exponents.
64661         * tests/test-snprintf-posix.c (SIZEOF): New macro.
64662         * tests/test-sprintf-posix.c (SIZEOF): New macro.
64663         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
64664         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
64665
64666 2007-05-18  Bruno Haible  <bruno@clisp.org>
64667
64668         Add support for 'long double' number output.
64669         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
64670         * lib/vasnprintf.c: Include math.h and float+.h.
64671         (mp_limb_t): New type.
64672         (GMP_LIMB_BITS): New macro.
64673         (mp_twolimb_t): New type.
64674         (GMP_TWOLIMB_BITS): New macro.
64675         (mpn_t): New type.
64676         (multiply, divide, convert_to_decimal, decode_long_double,
64677         scale10_round_long_double, scale10_round_decimal_long_double,
64678         floorlog10l): New functions.
64679         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
64680         for the %f, %F, %e, %E, %g, %G directives.
64681         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
64682         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
64683         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
64684         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
64685         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
64686         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
64687         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
64688         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
64689         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
64690         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
64691         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
64692         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
64693         * modules/snprintf-posix (Depends-on): Likewise.
64694         * modules/sprintf-posix (Depends-on): Likewise.
64695         * modules/vasnprintf-posix (Depends-on): Likewise.
64696         * modules/vasprintf-posix (Depends-on): Likewise.
64697         * modules/vfprintf-posix (Depends-on): Likewise.
64698         * modules/vsnprintf-posix (Depends-on): Likewise.
64699         * modules/vsprintf-posix (Depends-on): Likewise.
64700         * modules/vasnprintf (Files): Add lib/float+.h.
64701         * doc/functions/fprintf.texi: Update.
64702         * doc/functions/printf.texi: Update.
64703         * doc/functions/snprintf.texi: Update.
64704         * doc/functions/sprintf.texi: Update.
64705         * doc/functions/vfprintf.texi: Update.
64706         * doc/functions/vprintf.texi: Update.
64707         * doc/functions/vsnprintf.texi: Update.
64708         * doc/functions/vsprintf.texi: Update.
64709
64710 2007-05-18  Bruno Haible  <bruno@clisp.org>
64711
64712         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
64713
64714 2007-05-18  Bruno Haible  <bruno@clisp.org>
64715
64716         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
64717         for printing 64-bit integers. Needed for mingw.
64718
64719 2007-05-18  Bruno Haible  <bruno@clisp.org>
64720
64721         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
64722         gl_FUNC_FREXPL_WORKS.
64723         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
64724
64725 2007-05-18  Bruno Haible  <bruno@clisp.org>
64726
64727         * modules/frexpl-nolibm-tests: New file.
64728
64729         * modules/frexpl-nolibm: New file.
64730         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
64731
64732 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
64733
64734         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
64735         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
64736         GCC 4.2, which otherwise issues a lot of warnings.
64737         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
64738         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
64739         Likewise.
64740         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
64741         * modules/iconv_open (iconv.h): Likewise.
64742         * modules/locale (locale.h): Likewise.
64743         * modules/netinet_in (netinet/in.h): Likewise.
64744         * modules/sys_select (sys_select.h): Likewise.
64745         * modules/sys_socket (sys/socket.h): Likewise.
64746         * modules/sys_stat (sys/stat.h): Likewise.
64747         * modules/sysexits (sysexits.h): Likewise.
64748         * modules/unistd (unistd.h): Likewise.
64749
64750 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64751
64752         * modules/closein-tests (Makefile.am): Distribute
64753         `test-closein.sh'.
64754
64755 2007-05-17  Bruno Haible  <bruno@clisp.org>
64756
64757         * tests/test-printf-posix.output: Renamed from
64758         tests/test-fprintf-posix.out.
64759         * modules/fprintf-posix-tests: Update.
64760         * modules/printf-posix-tests: Update.
64761         * modules/vfprintf-posix-tests: Update.
64762         * modules/vprintf-posix-tests: Update.
64763         * tests/test-fprintf-posix.sh: Update.
64764         * tests/test-printf-posix.sh: Update.
64765         * tests/test-vfprintf-posix.sh: Update.
64766         * tests/test-vprintf-posix.sh: Update.
64767         Reported by Ralf Wildenhues.
64768
64769 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
64770
64771         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
64772         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
64773         GCC 4.2, which otherwise issues a lot of warnings.
64774         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
64775         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
64776         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
64777         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
64778         it should no longer be needed.
64779         * lib/string_.h: Likewise.
64780         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
64781         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
64782         * modules/inttypes (inttypes.h): Likewise.
64783         * modules/math (math.h): Likewise.
64784         * modules/search (search.h): Likewise.
64785         * modules/signal (signal.h): Likewise.
64786         * modules/stdint (stdint.h): Likewise.
64787         * modules/stdio (stdio.h): Likewise.
64788         * modules/stdlib (stdlib.h): Likewise.
64789         * modules/string (string.h): Likewise.
64790         * modules/sys_time (sys/time.h): Likewise.
64791         * modules/time (time.h): Likewise.
64792         * modules/wchar (wchar.h): Likewise.
64793         * modules/wctype (wtype.h): Likewise.
64794
64795 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
64796
64797         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
64798
64799 2007-05-13  Bruno Haible  <bruno@clisp.org>
64800
64801         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
64802         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
64803         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
64804         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
64805         (gl_PREREQ_STRTOK_R): Don't require it here.
64806
64807 2007-05-13  Bruno Haible  <bruno@clisp.org>
64808
64809         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
64810         when used in C++ mode.
64811
64812 2007-05-12  Bruno Haible  <bruno@clisp.org>
64813
64814         * lib/linebuffer.h: Tweak doc.
64815         * lib/linebuffer.c: Likewise.
64816
64817 2007-05-12  James Youngman  <jay@gnu.org>
64818
64819         * lib/linebuffer.c (readlinebuffer_delim): New function,
64820         like readlinebuffer, but use a caller-specified delimiter.
64821         (readlinebuffer): Just call readlinebuffer_delim with '\n'
64822         as the delimiter.
64823         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
64824
64825 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
64826
64827         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
64828         * modules/openat (Files): Remove openat-die.c.
64829         (Depends-on): Add openat-die.
64830         * modules/openat-die: New module.
64831
64832 2007-05-06  Bruno Haible  <bruno@clisp.org>
64833
64834         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
64835         Update with info about Cygwin.
64836         * doc/functions/fprintf.texi: Update.
64837         * doc/functions/printf.texi: Update.
64838         * doc/functions/snprintf.texi: Update.
64839         * doc/functions/sprintf.texi: Update.
64840         * doc/functions/vfprintf.texi: Update.
64841         * doc/functions/vprintf.texi: Update.
64842         * doc/functions/vsnprintf.texi: Update.
64843         * doc/functions/vsprintf.texi: Update.
64844         Reported by Eric Blake.
64845
64846 2007-05-06  Bruno Haible  <bruno@clisp.org>
64847
64848         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
64849         padding ourselves for the floating-point directives.
64850         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
64851         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
64852         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
64853         gl_PRINTF_FLAG_ZERO and test its result. Invoke
64854         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
64855         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
64856         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
64857         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
64858         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
64859         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
64860         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
64861         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
64862         * tests/test-snprintf-posix.h (test_function): Also check the width
64863         and some flags in the %f directive.
64864         * tests/test-sprintf-posix.h (test_function): Likewise.
64865         * tests/test-vasnprintf-posix.c (test_function): Likewise.
64866         * tests/test-vasprintf-posix.c (test_function): Likewise.
64867         * doc/functions/fprintf.texi: Update.
64868         * doc/functions/printf.texi: Update.
64869         * doc/functions/snprintf.texi: Update.
64870         * doc/functions/sprintf.texi: Update.
64871         * doc/functions/vfprintf.texi: Update.
64872         * doc/functions/vprintf.texi: Update.
64873         * doc/functions/vsnprintf.texi: Update.
64874         * doc/functions/vsprintf.texi: Update.
64875
64876 2007-05-06  Bruno Haible  <bruno@clisp.org>
64877
64878         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
64879         pass the ' flag character to sprintf or snprintf.
64880         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
64881         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
64882         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
64883         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
64884         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
64885         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
64886         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
64887         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
64888         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
64889         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
64890         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
64891         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
64892         * tests/test-snprintf-posix.h (test_function): Also check the grouping
64893         flag.
64894         * tests/test-sprintf-posix.h (test_function): Likewise.
64895         * tests/test-vasnprintf-posix.c (test_function): Likewise.
64896         * tests/test-vasprintf-posix.c (test_function): Likewise.
64897         * doc/functions/fprintf.texi: Update.
64898         * doc/functions/printf.texi: Update.
64899         * doc/functions/snprintf.texi: Update.
64900         * doc/functions/sprintf.texi: Update.
64901         * doc/functions/vfprintf.texi: Update.
64902         * doc/functions/vprintf.texi: Update.
64903         * doc/functions/vsnprintf.texi: Update.
64904         * doc/functions/vsprintf.texi: Update.
64905
64906 2007-05-01  Bruno Haible  <bruno@clisp.org>
64907
64908         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
64909
64910 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
64911
64912         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
64913         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
64914
64915 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
64916
64917         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
64918         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
64919         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
64920
64921 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
64922
64923         * lib/argp-help.c (struct hol_entry): New member `ord'.
64924         (HOL_ENTRY_PTRCMP): Use ord for comparison
64925         (hol_sort): Initialize ord.
64926
64927 2007-05-01  Bruno Haible  <bruno@clisp.org>
64928
64929         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
64930         Reported by Eric Blake.
64931         * doc/gnulib.texi (Function Substitutes): Update.
64932
64933 2007-05-01  Bruno Haible  <bruno@clisp.org>
64934
64935         * doc/functions.texi: Remove file, now redundant through
64936         doc/functions/*.texi.
64937
64938 2007-05-01  Bruno Haible  <bruno@clisp.org>
64939
64940         * modules/argp (Depends-on): Add sleep.
64941
64942 2007-05-01  Bruno Haible  <bruno@clisp.org>
64943
64944         * modules/sleep-tests: New file.
64945         * tests/test-sleep.c: New file.
64946
64947         * modules/sleep: New file.
64948         * lib/sleep.c: New file.
64949         * m4/sleep.m4: New file.
64950         * lib/unistd_.h (sleep): New declaration.
64951         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
64952         HAVE_SLEEP.
64953         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
64954         * doc/functions/sleep.texi: Document the sleep module.
64955
64956 2007-05-01  Bruno Haible  <bruno@clisp.org>
64957
64958         * lib/sigprocmask.h: Remove file.
64959         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
64960         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
64961         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
64962         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
64963         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
64964         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
64965         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
64966         HAVE_SIGSET_T as a shell variable.
64967         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
64968         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
64969         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
64970         (Depends-on): Add signal. Remove verify.
64971         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
64972         (Include): Mention <signal.h> instead of sigprocmask.h.
64973         * NEWS: Mention the change.
64974         * lib/fatal-signal.c: Don't include sigprocmask.h.
64975
64976 2007-05-01  Bruno Haible  <bruno@clisp.org>
64977
64978         * modules/signal: New file.
64979         * lib/signal_.h: New file.
64980         * m4/signal_h.m4: New file.
64981
64982 2007-05-01  Bruno Haible  <bruno@clisp.org>
64983
64984         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
64985         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
64986         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
64987         HAVE_WCTYPE_CTMP_BUG into wctype.h.
64988
64989 2007-05-01  Bruno Haible  <bruno@clisp.org>
64990
64991         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
64992         configure time.
64993         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
64994         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
64995         * modules/sys_stat (Makefile.am): Substitute their values into
64996         sys/stat.h.
64997
64998 2007-05-01  Bruno Haible  <bruno@clisp.org>
64999
65000         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
65001         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
65002         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
65003
65004 2007-05-01  Bruno Haible  <bruno@clisp.org>
65005
65006         * doc/header/assert.texi: Undo last change: don't mention the gnulib
65007         'assert' module here.
65008
65009 2007-05-01  Bruno Haible  <bruno@clisp.org>
65010
65011         * doc/functions/*.texi: New files.
65012         * doc/functions/google-ranking.txt: New file.
65013         * doc/gnulib.texi (Function Substitutes): New chapter.
65014         (ctime, inet_ntoa): Remove sections.
65015         * doc/ctime.texi: Remove file.
65016         * doc/inet_ntoa.texi: Remove file.
65017         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
65018         dependencies.
65019         (%.info): New rule, specifying a --reference-limit.
65020
65021 2007-05-01  Bruno Haible  <bruno@clisp.org>
65022
65023         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
65024
65025 2007-05-01  Bruno Haible  <bruno@clisp.org>
65026
65027         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
65028         the portability of 'mkdir' to mingw systems.
65029
65030 2007-05-01  Bruno Haible  <bruno@clisp.org>
65031
65032         * doc/headers/google-ranking.txt: New file.
65033
65034 2007-04-30  Eric Blake  <ebb9@byu.net>
65035
65036         Prefer fseeko to fseek.
65037         * modules/getpass (Depends-on): Add fseeko.
65038         * lib/getpass.c (getpass): Use fseeko, not fseek.
65039
65040 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
65041
65042         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
65043         assumes the sorting is stable, while most qsort implementations
65044         are not.  Use argument addresses to ensure they never compare as
65045         equal.
65046
65047         * tests/test-argp-2.sh (usage-indent test): Fix output
65048         (func_compare): Restore diff options
65049         * tests/test-argp.c: Restore #include "progname.h"
65050
65051 2007-04-29  Bruno Haible  <bruno@clisp.org>
65052
65053         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
65054         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
65055         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
65056         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
65057         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
65058         (configure.ac): Define CHECK_SNPRINTF_POSIX.
65059         (TESTS, check_PROGRAMS): Add test-snprintf.
65060         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
65061         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
65062         (TESTS, check_PROGRAMS): Add test-vsnprintf.
65063         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
65064         assertions that fail on HP-UX, OSF/1, or IRIX.
65065         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
65066
65067 2007-04-29  Bruno Haible  <bruno@clisp.org>
65068
65069         * MODULES.html.sh (posix_functions): Remove 'contents'.
65070
65071 2007-04-29  Karl Berry  <karl@gnu.org>
65072
65073         * config/srclist.txt (gendocs_template_min): new entry.
65074
65075 2007-04-29  Bruno Haible  <bruno@clisp.org>
65076
65077         Work around fpurge bug on BSD systems.
65078         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
65079         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
65080         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
65081         fpurge to rpl_fpurge if the system already has this function.
65082         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
65083         the case where the system already has this function. Correct invariants
65084         on BSD systems.
65085         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
65086         BSD systems.
65087
65088 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
65089
65090         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
65091         proposed by Sven Verdoolaege.
65092
65093         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
65094         options.
65095         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
65096         (usage and help tests): Update
65097
65098 2007-04-29  Bruno Haible  <bruno@clisp.org>
65099
65100         * tests/test-fflush.c (main): Use a file of size 17, not 10.
65101         Print more information in case of failure. Disable a test on BeOS.
65102
65103 2007-04-29  Bruno Haible  <bruno@clisp.org>
65104
65105         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
65106         This helps debugging on systems on which no gdb is available.
65107
65108 2007-04-29  Bruno Haible  <bruno@clisp.org>
65109
65110         * lib/freading.h: Improve comments.
65111         * lib/fwriting.h: Likewise.
65112         * tests/test-freading.c (main): Don't check freading immediately after
65113         repositioning. Needed for glibc.
65114
65115 2007-04-29  Bruno Haible  <bruno@clisp.org>
65116
65117         * lib/freading.c (freading): Trivial simplification.
65118
65119 2007-04-28  Bruno Haible  <bruno@clisp.org>
65120
65121         * tests/test-fwriting.c (main): Also test the interaction between
65122         fflush and fwriting.
65123         * modules/fwriting-tests (Depends-on): Add fflush.
65124
65125         * tests/test-freading.c (main): Also test the interaction between
65126         fflush and freading.
65127         * modules/freading-tests (Depends-on): Add fflush.
65128
65129 2007-04-28  Bruno Haible  <bruno@clisp.org>
65130
65131         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
65132         fseeko and ftello.
65133         Suggested by Eric Blake.
65134
65135 2007-04-28  Jim Meyering  <jim@meyering.net>
65136
65137         Avoid false-negative in gl_STDINT_H's C99 conformance test.
65138         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
65139         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
65140
65141 2007-04-27  Eric Blake  <ebb9@byu.net>
65142
65143         * doc/headers/assert.texi (assert.h): Document assert module use.
65144
65145 2007-04-27  Bruno Haible  <bruno@clisp.org>
65146
65147         * doc/headers/*.texi: New files.
65148         * doc/gnulib.texi (Header File Substitutes): New chapter.
65149         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
65150         dependencies.
65151         (standards.info ,standards.html, standards.dvi): Update dependencies.
65152         (mostlyclean, clean): New targets.
65153
65154 2007-04-27  Bruno Haible  <bruno@clisp.org>
65155
65156         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
65157         * modules/sysexits (Files, Makefile.am): Update.
65158
65159         * lib/sys_socket_.h: Renamed from lib/socket_.h.
65160         * modules/sys_socket (Files, Makefile.am): Update.
65161
65162         * lib/sys_stat_.h: Renamed from lib/stat_.h.
65163         * modules/sys_stat (Files, Makefile.am): Update.
65164
65165 2007-04-27  Eric Blake  <ebb9@byu.net>
65166
65167         * lib/freading.h: Improve comments.
65168         * lib/fwriting.h: Likewise.
65169         * lib/fflush.c: Likewise.
65170
65171         Fix closein for mingw.
65172         * modules/closein-tests: Add tests for closein.
65173         * tests/test-closein.c: New file.
65174         * tests/test-closein.sh: Likewise.
65175         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
65176         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
65177
65178 2007-04-27  Bruno Haible  <bruno@clisp.org>
65179
65180         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
65181         version is < 6.
65182         * lib/math_.h [__DECC]: Likewise.
65183         * lib/stdio_.h [__DECC]: Likewise.
65184         * lib/stdlib_.h [__DECC]: Likewise.
65185         * lib/string_.h [__DECC]: Likewise.
65186         * lib/time_.h [__DECC]: Likewise.
65187         * lib/wchar_.h [__DECC]: Likewise.
65188         * lib/wctype_.h [__DECC]: Likewise.
65189
65190 2007-04-27  Bruno Haible  <bruno@clisp.org>
65191
65192         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
65193
65194 2007-04-27  Bruno Haible  <bruno@clisp.org>
65195
65196         * lib/fflush.c: Add comments.
65197         * modules/fpurge-tests (Depends-on): Add fflush.
65198         * modules/freadable-tests (Depends-on): Likewise.
65199         * modules/fwritable-tests (Depends-on): Likewise.
65200
65201 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
65202
65203         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
65204         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
65205         Report by Bruno Haible <bruno@clisp.org>.
65206
65207 2007-04-26  Eric Blake  <ebb9@byu.net>
65208
65209         Fix fflush on mingw.
65210         * modules/fflush (Depends-on): Add freading.
65211         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
65212         but unread data.
65213
65214 2007-04-26  Eric Blake  <ebb9@byu.net>
65215         and Bruno Haible  <bruno@clisp.org>
65216
65217         Implement freading and fwriting.
65218         * lib/freading.c: New file.
65219         * lib/freading.h: Likewise.
65220         * m4/freading.m4: Likewise.
65221         * modules/freading: Likewise.
65222         * modules/freading-tests: Likewise.
65223         * tests/test-freading.c: Likewise.
65224         * lib/fwriting.c: New file.
65225         * lib/fwriting.h: Likewise.
65226         * m4/fwriting.m4: Likewise.
65227         * modules/fwriting: Likewise.
65228         * modules/fwriting-tests: Likewise.
65229         * tests/test-fwriting.c: Likewise.
65230         * MODULES.html.sh (File stream based Input/Output): Mention them.
65231
65232 2007-04-26  Bruno Haible  <bruno@clisp.org>
65233
65234         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
65235         'long' when we assume it.
65236         Suggested by Eric Blake.
65237
65238 2007-04-26  Bruno Haible  <bruno@clisp.org>
65239
65240         Ensure fseeko, ftello are declared on glibc systems.
65241         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
65242         * modules/fseeko (configure.ac-early): Likewise.
65243         * modules/ftello (configure.ac-early): Likewise.
65244         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
65245         AC_FUNC_FSEEKO for this.
65246         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
65247         (gl_CHECK_FSEEKO): Remove macro.
65248
65249 2007-04-26  Bruno Haible  <bruno@clisp.org>
65250
65251         * tests/test-fflush.c (main): Also check the ftell result after
65252         fflush and fseek/fseeko.
65253         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
65254         file descriptor position cache in the stream.
65255         * lib/fseeko.c (rpl_fseeko): Likewise.
65256
65257 2007-04-26  Bruno Haible  <bruno@clisp.org>
65258
65259         * modules/fflush-tests (Depends-on): Add fseeko.
65260
65261 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
65262             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65263
65264         * lib/argz_.h: ensure error_t definition is obtained in same
65265         mechanism system argz.h would have.
65266         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
65267         argz facilities are known bad.  Err on the side of caution if
65268         cross-compiling.
65269
65270 2007-04-25  Eric Blake  <ebb9@byu.net>
65271
65272         * lib/fpurge.c (includes): Use stdlib.h for free.
65273         * tests/test-fflush.c (main): Also test fflush-fseeko.
65274
65275 2007-04-25  Bruno Haible  <bruno@clisp.org>
65276
65277         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
65278         * lib/fseeko.c: New file.
65279         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
65280         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
65281         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
65282         gl_FUNC_FSEEKO.
65283         (gl_FUNC_FSEEKO): Invoke it.
65284         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
65285         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
65286         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
65287
65288 2007-04-25  Bruno Haible  <bruno@clisp.org>
65289
65290         * modules/fflush (Depends-on): Add ftello.
65291
65292 2007-04-25  Bruno Haible  <bruno@clisp.org>
65293
65294         * modules/ftello-tests: New file.
65295         * tests/test-ftello.c: New file.
65296
65297         * modules/ftello: New file.
65298         * m4/ftello.m4: New file.
65299         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
65300         HAVE_FTELLO.
65301         * lib/stdio_.h (ftello): New declaration.
65302         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
65303         HAVE_FTELLO.
65304
65305 2007-04-25  Bruno Haible  <bruno@clisp.org>
65306
65307         * modules/fseeko-tests: New file.
65308         * tests/test-fseeko.c: New file.
65309
65310         * modules/fseeko: New file.
65311         * m4/fseeko.m4: New file.
65312         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
65313         HAVE_FSEEKO.
65314         * lib/stdio_.h (fseeko): New declaration.
65315         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
65316         HAVE_FSEEKO.
65317
65318 2007-04-25  Bruno Haible  <bruno@clisp.org>
65319
65320         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
65321
65322 2007-04-25  Bruno Haible  <bruno@clisp.org>
65323
65324         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
65325         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
65326         * tests/test-unistd.c: Likewise.
65327         * tests/test-fcntl.c: Likewise.
65328
65329 2007-04-23  Eric Blake  <ebb9@byu.net>
65330
65331         * lib/fflush.c: Fix missing include.
65332         Reported by Bruno Haible.
65333
65334 2007-04-23  Bruno Haible  <bruno@clisp.org>
65335
65336         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
65337         Reported by Eric Blake.
65338
65339 2007-04-23  Bruno Haible  <bruno@clisp.org>
65340
65341         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
65342
65343 2007-04-23  Bruno Haible  <bruno@clisp.org>
65344
65345         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
65346
65347 2007-04-23  Bruno Haible  <bruno@clisp.org>
65348
65349         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
65350         Needed on HP-UX 11.
65351
65352 2007-04-16  Eric Blake  <ebb9@byu.net>
65353
65354         Make fflush rely on fpurge.
65355         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
65356         open coding all variants.
65357         * modules/fflush (Depends-on): Add fpurge and unistd.
65358         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
65359         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
65360
65361         Fix --with-tests compilation on cygwin.
65362         * modules/argmatch-tests (Makefile.am): List gnulib library first
65363         in LDADD.
65364         * modules/argp-tests (Makefile.am): Likewise.
65365         * modules/array-list-tests (Makefile.am): Likewise.
65366         * modules/array-oset-tests (Makefile.am): Likewise.
65367         * modules/avltree-list-tests (Makefile.am): Likewise.
65368         * modules/avltree-oset-tests (Makefile.am): Likewise.
65369         * modules/avltreehash-list-tests (Makefile.am): Likewise.
65370         * modules/carray-list-tests (Makefile.am): Likewise.
65371         * modules/dirname-tests (Makefile.am): Likewise.
65372         * modules/frexp-tests (Makefile.am): Likewise.
65373         * modules/isnanl-tests (Makefile.am): Likewise.
65374         * modules/linked-list-tests (Makefile.am): Likewise.
65375         * modules/linkedhash-list-tests (Makefile.am): Likewise.
65376         * modules/lock-tests (Makefile.am): Likewise.
65377         * modules/rbtree-list-tests (Makefile.am): Likewise.
65378         * modules/rbtree-oset-tests (Makefile.am): Likewise.
65379         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
65380         * modules/tls-tests (Makefile.am): Likewise.
65381         * modules/tsearch-tests (Makefile.am): Likewise.
65382         * modules/xvasprintf-tests (Makefile.am): Likewise.
65383
65384         Fix fpurge for cygwin.
65385         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
65386         value.
65387         * modules/fpurge-tests (Depends-on): Clean up trash.
65388
65389 2007-04-16  Simon Josefsson  <simon@josefsson.org>
65390
65391         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
65392
65393         * m4/autobuild.m4: Re-indent.
65394
65395 2007-04-13  Bruno Haible  <bruno@clisp.org>
65396
65397         * modules/fpurge-tests: New file.
65398         * tests/test-fpurge.c: New file.
65399
65400         * modules/fpurge: New file.
65401         * lib/fpurge.h: New file.
65402         * lib/fpurge.c: New file.
65403         * m4/fpurge.m4: New file.
65404
65405 2007-04-13  Bruno Haible  <bruno@clisp.org>
65406
65407         * modules/fbufmode-tests: New file.
65408         * tests/test-fbufmode.c: New file.
65409
65410         * modules/fbufmode: New file.
65411         * lib/fbufmode.h: New file.
65412         * lib/fbufmode.c: New file.
65413         * m4/fbufmode.m4: New file.
65414
65415 2007-04-13  Bruno Haible  <bruno@clisp.org>
65416
65417         * modules/fwritable-tests: New file.
65418         * tests/test-fwritable.c: New file.
65419
65420         * modules/fwritable: New file.
65421         * lib/fwritable.h: New file.
65422         * lib/fwritable.c: New file.
65423         * m4/fwritable.m4: New file.
65424
65425 2007-04-13  Bruno Haible  <bruno@clisp.org>
65426
65427         * modules/freadable-tests: New file.
65428         * tests/test-freadable.c: New file.
65429
65430         * modules/freadable: New file.
65431         * lib/freadable.h: New file.
65432         * lib/freadable.c: New file.
65433         * m4/freadable.m4: New file.
65434
65435 2007-04-13  Bruno Haible  <bruno@clisp.org>
65436
65437         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
65438         MOSTLYCLEANFILES.
65439
65440 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
65441
65442         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
65443         gzip bootstrap.conf to avoid dragging in i18n machinery.
65444         (gnulib_tool_option): Use it.
65445
65446 2007-04-13  Bruno Haible  <bruno@clisp.org>
65447
65448         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
65449         %F directives.
65450         * tests/test-vasprintf-posix.c (test_function): Likewise.
65451         * tests/test-snprintf-posix.h (test_function): Likewise.
65452         * tests/test-sprintf-posix.h (test_function): Likewise.
65453         * tests/test-fprintf-posix.h (test_function): Likewise.
65454         * tests/test-printf-posix.h (test_function): Likewise.
65455         * tests/test-fprintf-posix.out: Likewise.
65456
65457 2007-04-13  Bruno Haible  <bruno@clisp.org>
65458
65459         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
65460         * modules/tls-tests (configure.ac): Likewise.
65461         Reported by Arto C. Nirkko <anirkko@insel.ch>.
65462
65463 2007-04-13  Bruno Haible  <bruno@clisp.org>
65464
65465         * lib/tls.c (glthread_tls_get): Fix return type.
65466         Patch by Arto C. Nirkko <anirkko@insel.ch>.
65467
65468 2007-04-12  Eric Blake  <ebb9@byu.net>
65469
65470         * modules/gettime (Depends-on): Remove gettime.
65471         Reported by Dmitry V. Levin.
65472
65473 2007-04-12  Bruno Haible  <bruno@clisp.org>
65474
65475         * modules/fflush (Include): Mention <stdio.h>.
65476         * modules/strtoimax (Include): Mention <inttypes.h>.
65477         * modules/strtoumax (Include): Likewise.
65478
65479 2007-04-12  Eric Blake  <ebb9@byu.net>
65480
65481         * .cvsignore: New file.
65482         * .gitignore: Likewise.
65483
65484 2007-04-12  Bruno Haible  <bruno@clisp.org>
65485
65486         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
65487         not before, since $(LDADD) often contains libgnu.a.
65488         * modules/striconv-tests (test_striconv_LDADD): Likewise.
65489         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
65490         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
65491         Needed on Cygwin.
65492
65493 2007-04-12  Eric Blake  <ebb9@byu.net>
65494
65495         Work around glibc's failure to flush stdin on fclose.
65496         * lib/closein.c (close_stdin): Flush stdin before closing.
65497
65498         Work around glibc's failure to reset seekable stdin on exit.
65499         * modules/closein: New module.
65500         * lib/closein.c: New file.
65501         * lib/closein.h: Likewise.
65502         * m4/closein.m4: Likewise.
65503         * MODULES.html.sh (File stream based Input/Output): Document it.
65504
65505 2007-04-12  Simon Josefsson  <simon@josefsson.org>
65506
65507         * gnulib-tool: Rename generated 'autobuild' script to
65508         'do-autobuild' in --create-megatestdir output.
65509
65510         * doc/gnulib.texi (Build robot for gnulib): Fix.
65511
65512 2007-04-12  Simon Josefsson  <simon@josefsson.org>
65513
65514         * modules/sysexits (Depends-on): Add absolute-header.
65515
65516 2007-04-12  Eric Blake  <ebb9@byu.net>
65517
65518         No need to preserve errno on success.
65519         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
65520         Reported by Bruno Haible.
65521
65522 2007-04-12  Simon Josefsson  <simon@josefsson.org>
65523
65524         * MODULES.html.sh (Support for maintaining and releasing
65525         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
65526
65527 2007-04-12  Simon Josefsson  <simon@josefsson.org>
65528
65529         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
65530
65531 2007-04-12  Simon Josefsson  <simon@josefsson.org>
65532
65533         * modules/autobuild: New module.
65534
65535         * m4/autobuild.m4: New file.
65536
65537 2007-04-11  Bruno Haible  <bruno@clisp.org>
65538
65539         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
65540         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
65541         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
65542         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
65543         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
65544         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
65545         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
65546         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
65547         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
65548         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
65549         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
65550         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
65551         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
65552         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
65553         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
65554         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
65555         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
65556         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
65557         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
65558         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
65559         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
65560         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
65561         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
65562         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
65563         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
65564         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
65565         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
65566         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
65567         Reported by Eric Blake.
65568
65569 2007-04-11  Bruno Haible  <bruno@clisp.org>
65570
65571         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
65572
65573 2007-04-10  Bruno Haible  <bruno@clisp.org>
65574
65575         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
65576         for NaN and Infinity. Needed on FreeBSD 6.1.
65577         * tests/test-vasnprintf-posix.c (test_function): Undo last change
65578         regarding results for "%010a" of Infinity and NaN.
65579         * tests/test-vasprintf-posix.c (test_function): Likewise.
65580         * tests/test-snprintf-posix.h (test_function): Likewise.
65581         * tests/test-sprintf-posix.h (test_function): Likewise.
65582         * tests/test-fprintf-posix.h (test_function): Likewise.
65583         * tests/test-printf-posix.h (test_function): Likewise.
65584         * tests/test-fprintf-posix.out: Likewise.
65585
65586 2007-04-10  Bruno Haible  <bruno@clisp.org>
65587
65588         * modules/locale-tests: New file.
65589         * tests/test-locale.c: New file.
65590
65591         * modules/locale: New file.
65592         * lib/locale_.h: New file.
65593         * m4/locale_h.m4: New file.
65594
65595 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
65596             Bruno Haible  <bruno@clisp.org>
65597
65598         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
65599         be determined, test for availability of the copysignf, copysign,
65600         copysignl functions.
65601         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
65602         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
65603         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
65604
65605 2007-04-09  Eric Blake  <ebb9@byu.net>
65606
65607         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
65608         * modules/stdio (Makefile.am): Support fflush.
65609         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
65610         * modules/fflush: New file.
65611         * lib/fflush.c: Likewise.
65612         * m4/fflush.m4: Likewise.
65613         * modules/fflush-tests: New test.
65614         * tests/test-fflush.c: Likewise.
65615         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
65616
65617 2007-04-06  Bruno Haible  <bruno@clisp.org>
65618
65619         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
65620         (VASNPRINTF): Use signbit for faster determination whether to print a
65621         minus sign.
65622         * modules/vasnprintf (Files): Remove lib/float+.h.
65623         * modules/fprintf-posix (Depends-on): Add signbit.
65624         * modules/snprintf-posix (Depends-on): Likewise.
65625         * modules/sprintf-posix (Depends-on): Likewise.
65626         * modules/vasnprintf-posix (Depends-on): Likewise.
65627         * modules/vasprintf-posix (Depends-on): Likewise.
65628         * modules/vfprintf-posix (Depends-on): Likewise.
65629         * modules/vsnprintf-posix (Depends-on): Likewise.
65630         * modules/vsprintf-posix (Depends-on): Likewise.
65631
65632 2007-04-06  Bruno Haible  <bruno@clisp.org>
65633
65634         * tests/test-frexp.c (main): Test also the sign bit of zero results.
65635         * tests/test-frexpl.c (main): Likewise.
65636         * tests/test-ldexpl.c (main): Likewise.
65637         * modules/frexp-tests (Depends-on): Add signbit.
65638         * modules/frexpl-tests (Depdends-on): Likewise.
65639         * modules/ldexpl-tests (Depdends-on): Likewise.
65640
65641 2007-04-06  Bruno Haible  <bruno@clisp.org>
65642
65643         * modules/signbit-tests: New file.
65644         * tests/test-signbit.c: New file.
65645
65646         * modules/signbit: New file.
65647         * lib/signbitf.c: New file.
65648         * lib/signbitd.c: New file.
65649         * lib/signbitl.c: New file.
65650         * m4/signbit.m4: New file.
65651         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
65652         (signbit): New macro.
65653         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
65654         REPLACE_SIGNBIT.
65655         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
65656         REPLACE_FREXPL into math.h.
65657
65658 2007-04-06  Bruno Haible  <bruno@clisp.org>
65659
65660         * modules/isnanf-nolibm-tests: New file.
65661         * tests/test-isnanf.c: New file.
65662
65663         * modules/isnanf-nolibm: New file.
65664         * lib/isnanf.h: New file.
65665         * lib/isnanf.c: New file.
65666         * lib/isnan.c: Consider the USE_FLOAT macro.
65667         * m4/isnanf.m4: New file.
65668
65669 2007-04-06  Bruno Haible  <bruno@clisp.org>
65670
65671         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
65672         (Link): New section.
65673
65674         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
65675
65676 2007-04-06  Bruno Haible  <bruno@clisp.org>
65677
65678         Assume the 'long double' type.
65679         * m4/longdouble.m4: Remove file.
65680         * config/srclist.txt: Don't mention longdouble.m4.
65681         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
65682         * lib/float+.h: Likewise.
65683         * lib/frexp.c: Likewise.
65684         * lib/printf-args.h: Likewise.
65685         * lib/printf-args.c: Likewise.
65686         * lib/printf-frexp.c: Likewise.
65687         * lib/printf-parse.c: Likewise.
65688         * lib/vasnprintf.c: Likewise.
65689         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
65690         * m4/intl.m4: Likewise.
65691         * m4/isnanl.m4: Likewise.
65692         * m4/printf.m4: Likewise.
65693         * m4/printf-frexpl.m4: Likewise.
65694         * m4/vasnprintf.m4: Likewise.
65695         * modules/allocsa (Files): Remove m4/longdouble.m4.
65696         * modules/gettext (Files): Likewise.
65697         * modules/relocatable-prog-wrapper (Files): Likewise.
65698         * modules/vasnprintf (Files): Likewise.
65699         * modules/isnanl (Files): Likewise.
65700         (Include): Simplify.
65701         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
65702         (Include): Simplify.
65703         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
65704         (Include): Simplify.
65705         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
65706         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
65707         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
65708         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
65709         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
65710         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
65711         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
65712         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
65713         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
65714         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
65715         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
65716         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
65717         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
65718         * tests/test-isnanl.c: Likewise.
65719         * tests/test-snprintf-posix.h: Likewise.
65720         * tests/test-sprintf-posix.h: Likewise.
65721         * tests/test-vasnprintf-posix.c: Likewise.
65722         * tests/test-vasnprintf-posix2.c: Likewise.
65723         * tests/test-vasprintf-posix.c: Likewise.
65724
65725 2007-04-06  Bruno Haible  <bruno@clisp.org>
65726
65727         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
65728         * lib/math_.h [__DECC]: Include the overridden include file through
65729         #include_next, outside the double-inclusion guard.
65730         * lib/stdio_.h [__DECC]: Likewise.
65731         * lib/stdlib_.h [__DECC]: Likewise.
65732         * lib/string_.h [__DECC]: Likewise.
65733         * lib/time_.h [__DECC]: Likewise.
65734         * lib/wchar_.h [__DECC]: Likewise.
65735         * lib/wctype_.h [__DECC]: Likewise.
65736         * lib/inttypes_.h [__DECC]: Likewise.
65737         Reported by Albert Chin <china@thewrittenword.com> in
65738         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
65739
65740 2007-04-04  Eric Blake  <ebb9@byu.net>
65741
65742         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
65743         1.5.x.
65744
65745 2007-04-04  Bruno Haible  <bruno@clisp.org>
65746
65747         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
65748         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
65749
65750 2007-04-04  Bruno Haible  <bruno@clisp.org>
65751
65752         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
65753         results for "%010a" of Infinity and NaN.
65754         * tests/test-vasprintf-posix.c (test_function): Likewise.
65755         * tests/test-snprintf-posix.h (test_function): Likewise.
65756         * tests/test-sprintf-posix.h (test_function): Likewise.
65757         * tests/test-fprintf-posix.h (test_function): Remove these tests.
65758         * tests/test-printf-posix.h (test_function): Likewise.
65759         * tests/test-fprintf-posix.out: Update.
65760         Needed for FreeBSD 6.1.
65761
65762 2007-04-04  Bruno Haible  <bruno@clisp.org>
65763
65764         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
65765         directly used by the gnulib modules nor by gnulib-tool.
65766
65767 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
65768
65769         * DEPENDENCIES: Give overall description of version dependency
65770         desirability.  Use more-typical names for apps.
65771         Add shell, coreutils, diffutils, grep, tar, gzip.
65772
65773 2007-04-04  Simon Josefsson  <simon@josefsson.org>
65774
65775         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
65776
65777 2007-04-04  Karl Berry  <karl@gnu.org>
65778
65779         * MODULES.html.sh (func_module): missing '.
65780
65781 2007-04-03  Bruno Haible  <bruno@clisp.org>
65782
65783         * modules/argmatch-tests (Makefile.am): New variable
65784         test_argmatch_LDADD.
65785         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
65786         * modules/array-list-tests (Makefile.am): New variable
65787         test_array_list_LDADD.
65788         * modules/array-oset-tests (Makefile.am): New variable
65789         test_array_oset_LDADD.
65790         * modules/avltree-list-tests (Makefile.am): New variable
65791         test_avltree_list_LDADD.
65792         * modules/avltree-oset-tests (Makefile.am): New variable
65793         test_avltree_oset_LDADD.
65794         * modules/avltreehash-list-tests (Makefile.am): New variable
65795         test_avltreehash_list_LDADD.
65796         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
65797         test_canonicalize_lgpl_LDADD.
65798         * modules/carray-list-tests (Makefile.am): New variable
65799         test_carray_list_LDADD.
65800         * modules/dirname-tests (Makefile.am): New variable
65801         test_dirname_LDADD.
65802         * modules/linked-list-tests (Makefile.am): New variable
65803         test_linked_list_LDADD.
65804         * modules/linkedhash-list-tests (Makefile.am): New variable
65805         test_linkedhash_list_LDADD.
65806         * modules/rbtree-list-tests (Makefile.am): New variable
65807         test_rbtree_list_LDADD.
65808         * modules/rbtree-oset-tests (Makefile.am): New variable
65809         test_rbtree_oset_LDADD.
65810         * modules/rbtreehash-list-tests (Makefile.am): New variable
65811         test_rbtreehash_list_LDADD.
65812         * modules/xvasprintf-tests (Makefile.am): New variable
65813         test_xvasprintf_LDADD.
65814         Reported by Eric Blake.
65815
65816 2007-04-03  Eric Blake  <ebb9@byu.net>
65817
65818         * DEPENDENCIES: Weaken m4 requirements.
65819
65820 2007-04-03  Bruno Haible  <bruno@clisp.org>
65821
65822         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
65823         * modules/isnanl-tests (configure.ac): Likewise.
65824
65825 2007-04-03  Ben Pfaff  <blp@gnu.org>
65826
65827         * modules/iconv_open: Add $(srcdir)/ to source directory
65828         references in Makefile fragments that call gperf, to fix VPATH
65829         builds.
65830
65831 2007-04-03  Bruno Haible  <bruno@clisp.org>
65832
65833         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
65834         * lib/ldexpl.c: Undo last change.
65835
65836 2007-04-03  Bruno Haible  <bruno@clisp.org>
65837
65838         * modules/printf-frexpl (Depends-on): Undo last change.
65839         (Files): Add m4/ldexpl.m4.
65840
65841 2007-04-03  Bruno Haible  <bruno@clisp.org>
65842
65843         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
65844         * modules/isnanl (Link): New section.
65845
65846         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
65847         * modules/frexp (Link): New section.
65848
65849         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
65850         * modules/frexpl (Link): New section.
65851
65852         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
65853         * modules/ldexpl (Link): New section.
65854
65855 2007-04-03  Bruno Haible  <bruno@clisp.org>
65856
65857         * modules/TEMPLATE-EXTENDED: New file.
65858         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
65859
65860 2007-04-03  Bruno Haible  <bruno@clisp.org>
65861
65862         * DEPENDENCIES: New file.
65863         Suggested by Simon Josefsson.
65864
65865 2007-04-03  Bruno Haible  <bruno@clisp.org>
65866
65867         * doc/gnulib.texi: Escape @.
65868
65869 2007-04-03  James Youngman  <jay@gnu.org>
65870         and Paul Eggert  <eggert@cs.ucla.edu>
65871
65872         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
65873         birthtime on all systems that have birthtime, not just those which
65874         use st_birthtimensec rather than st_birthtim.  Putting zero in
65875         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
65876         that the birth time is not available for files on an NFS mount.
65877
65878 2007-04-03  Simon Josefsson  <simon@josefsson.org>
65879
65880         * modules/memxor: Move back from crypto/, suggested by Bruno.
65881         * modules/crypto/hmac-sha1: Fix memxor dependency.
65882
65883         * modules/crypto/gc: Moved from ../.
65884
65885 2007-04-02  Eric Blake  <ebb9@byu.net>
65886
65887         * lib/ldexpl.c (includes): Avoid libm.
65888
65889         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
65890
65891 2007-04-02  Bruno Haible  <bruno@clisp.org>
65892
65893         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
65894         on IRIX.
65895
65896 2007-04-02  Bruno Haible  <bruno@clisp.org>
65897
65898         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
65899         x86 or x86_64 platforms running MacOS X.
65900         Reported by Ryan Schmidt <@ryandesign.com>.
65901
65902 2007-04-02  Bruno Haible  <bruno@clisp.org>
65903
65904         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
65905         i386.
65906
65907 2007-04-01  Simon Josefsson  <simon@josefsson.org>
65908
65909         * modules/crypto/arcfour: Moved from ../.
65910         * modules/crypto/arcfour-tests: Moved from ../.
65911         * modules/crypto/arctwo: Moved from ../.
65912         * modules/crypto/arctwo-tests: Moved from ../.
65913         * modules/crypto/des: Moved from ../.
65914         * modules/crypto/des-tests: Moved from ../.
65915         * modules/crypto/gc-arcfour: Moved from ../.
65916         * modules/crypto/gc-arcfour-tests: Moved from ../.
65917         * modules/crypto/gc-arctwo: Moved from ../.
65918         * modules/crypto/gc-arctwo-tests: Moved from ../.
65919         * modules/crypto/gc-des: Moved from ../.
65920         * modules/crypto/gc-des-tests: Moved from ../.
65921         * modules/crypto/gc-hmac-md5: Moved from ../.
65922         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
65923         * modules/crypto/gc-hmac-sha1: Moved from ../.
65924         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
65925         * modules/crypto/gc-md2: Moved from ../.
65926         * modules/crypto/gc-md2-tests: Moved from ../.
65927         * modules/crypto/gc-md4: Moved from ../.
65928         * modules/crypto/gc-md4-tests: Moved from ../.
65929         * modules/crypto/gc-md5: Moved from ../.
65930         * modules/crypto/gc-md5-tests: Moved from ../.
65931         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
65932         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
65933         * modules/crypto/gc-random: Moved from ../.
65934         * modules/crypto/gc-rijndael: Moved from ../.
65935         * modules/crypto/gc-rijndael-tests: Moved from ../.
65936         * modules/crypto/gc-sha1: Moved from ../.
65937         * modules/crypto/gc-sha1-tests: Moved from ../.
65938         * modules/crypto/gc-tests: Moved from ../.
65939         * modules/crypto/hmac-md5: Moved from ../.
65940         * modules/crypto/hmac-md5-tests: Moved from ../.
65941         * modules/crypto/hmac-sha1: Moved from ../.
65942         * modules/crypto/hmac-sha1-tests: Moved from ../.
65943         * modules/crypto/md2: Moved from ../.
65944         * modules/crypto/md2-tests: Moved from ../.
65945         * modules/crypto/md4: Moved from ../.
65946         * modules/crypto/md4-tests: Moved from ../.
65947         * modules/crypto/md5: Moved from ../.
65948         * modules/crypto/md5-tests: Moved from ../.
65949         * modules/crypto/memxor: Moved from ../.
65950         * modules/crypto/rijndael: Moved from ../.
65951         * modules/crypto/rijndael-tests: Moved from ../.
65952         * modules/crypto/sha1: Moved from ../.
65953
65954 2007-03-30  James Youngman  <jay@gnu.org>
65955
65956         * tests/test-stat-time.c (prepare_test): use chmod() rather than
65957         rename() to change the ctime of a file (because ctime is unaffected
65958         by rename on jfs2 on AIX 5.1).
65959         (main): Start by doing cleanup, in case a previous run failed leaving
65960         test files behind.
65961
65962 2007-03-31  Bruno Haible  <bruno@clisp.org>
65963
65964         Support old proprietary implementations of iconv.
65965         * modules/iconv_open: New file.
65966         * lib/iconv_.h: New file.
65967         * m4/iconv_h.m4: New file.
65968         * lib/iconv_open.c: New file.
65969         * lib/iconv_open-aix.gperf: New file.
65970         * lib/iconv_open-hpux.gperf: New file.
65971         * lib/iconv_open-irix.gperf: New file.
65972         * lib/iconv_open-osf.gperf: New file.
65973         * m4/iconv_open.m4: New file.
65974         * modules/linebreak (Depends-on): Add iconv_open.
65975         * modules/striconv (Depends-on): Likewise.
65976         * modules/striconveh (Depends-on): Likewise.
65977         * modules/unicodeio (Depends-on): Likewise.
65978         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
65979         (iconv_t)(-1).
65980         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
65981         conversion if cd is (iconv_t)(-1).
65982         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
65983         is not possible.
65984
65985 2007-03-31  Bruno Haible  <bruno@clisp.org>
65986
65987         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
65988         work on Solaris either. Protect also second use of "autodetect_jp".
65989
65990 2007-03-31  Bruno Haible  <bruno@clisp.org>
65991
65992         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
65993         the function is not present.
65994
65995 2007-03-31  Bruno Haible  <bruno@clisp.org>
65996
65997         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
65998         the function is not present.
65999
66000 2007-03-31  Bruno Haible  <bruno@clisp.org>
66001
66002         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
66003         a bug in HP-UX iconv_open().
66004
66005 2007-03-31  Bruno Haible  <bruno@clisp.org>
66006
66007         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
66008         (Mathematics <math.h>): New section, add fpieee.
66009         (Input/output <stdio.h>): Add fseterr.
66010         (Mathematics <math.h>): New section, add printf-frexp.
66011         (Container data structures): Add sublist.
66012         (Core language properties): Add fpucw, inline.
66013         (Functions for greatest-width integer types <inttypes.h>): Add
66014         imaxabs, imaxdiv, inttypes.
66015         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
66016         isnanl-nolibm, ldexp.
66017         (Mathematics <math.h>): New section, add printf-frexpl.
66018         (Support for systems lacking POSIX:2001): Add fprintf-posix,
66019         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
66020         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
66021         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
66022         (Unicode string functions): Add unistr/u*-mbtoucr.
66023         (Java): Add javacomp-script, javaexec-script.
66024         (C#): Add csharpcomp-script, csharpexec-script.
66025         (Support for building libraries and executables): Add havelib,
66026         relocatable-*.
66027         (Support for maintaining and releasing projects): Renamed from
66028         'Support for maintaining and release projects'. Add announce-gen.
66029
66030 2007-03-31  Bruno Haible  <bruno@clisp.org>
66031
66032         * README: Talk primarily about git.
66033         (git and CVS): Renamed from CVS.
66034         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
66035         gnulib is available through git.
66036         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
66037
66038 2007-03-30  Bruno Haible  <bruno@clisp.org>
66039
66040         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
66041         * lib/poll_.h: Likewise.
66042         * lib/stat_.h: Likewise.
66043         * lib/sys_time_.h: Likewise.
66044         * lib/sysexit_.h: Likewise.
66045         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
66046         * lib/stdbool_.h: Likewise.
66047         * lib/byteswap_.h: Add double-inclusion guard.
66048
66049 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
66050
66051         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
66052
66053 2007-03-30  Karl Berry  <karl@gnu.org>
66054
66055         * config/srclist-update: double space after USA in the license
66056         substitution, since that's how it's usually (?) written.
66057
66058 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
66059
66060         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
66061         reported by Bruno Haible.
66062
66063 2007-03-29  Bruno Haible  <bruno@clisp.org>
66064
66065         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
66066         a bug in AIX iconv().
66067
66068 2007-03-29  Bruno Haible  <bruno@clisp.org>
66069
66070         * modules/ldexpl-tests: New file.
66071         * tests/test-ldexpl.c: New file.
66072
66073 2007-03-29  Bruno Haible  <bruno@clisp.org>
66074
66075         * lib/ldexpl.c: Include fpucw.h.
66076         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
66077         multiplication.
66078         * modules/ldexpl (Depends-on): Add fpucw.
66079
66080 2007-03-29  Bruno Haible  <bruno@clisp.org>
66081
66082         * modules/ldexpl: New file.
66083         * m4/ldexpl.m4: New file.
66084         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
66085         set.
66086         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
66087         REPLACE_LDEXPL.
66088         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
66089         REPLACE_LDEXPL.
66090         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
66091         gl_FUNC_LDEXPL_WORKS.
66092         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
66093         * modules/mathl (Files): Remove lib/ldexpl.c.
66094         (Depends-on): Add ldexpl.
66095
66096 2007-03-29  Bruno Haible  <bruno@clisp.org>
66097
66098         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
66099
66100 2007-03-29  Bruno Haible  <bruno@clisp.org>
66101
66102         * tests/test-striconveh.c (main): Don't assume that a direct conversion
66103         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
66104         and possibly also HP-UX.
66105         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
66106         work on AIX, IRIX, HP-UX, OSF/1.
66107         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
66108         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
66109         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
66110         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
66111         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
66112         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
66113
66114 2007-03-29  Bruno Haible  <bruno@clisp.org>
66115
66116         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
66117
66118 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
66119
66120         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
66121         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
66122
66123 2007-03-29  Eric Blake  <ebb9@byu.net>
66124
66125         * lib/acl-internal.h: Remove redundant include.
66126         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
66127         Cygwin when a file is locked.
66128
66129 2007-03-29  Bruno Haible  <bruno@clisp.org>
66130
66131         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
66132         file.
66133         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
66134
66135 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
66136
66137         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
66138         try to remove a parent directory if the child couldn't be removed
66139         (except for the first rmdir, which could fail because the child
66140         doesn't exist).  Problem reported by Jeff Blaine in
66141         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
66142
66143 2007-03-28  Bruno Haible  <bruno@clisp.org>
66144
66145         * lib/striconveh.c (utf8conv_carefully): New function.
66146         (mem_cd_iconveh_internal): Invoke it.
66147
66148 2007-03-28  Bruno Haible  <bruno@clisp.org>
66149
66150         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
66151         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
66152         input.
66153         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
66154         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
66155         unistr/u8-uctomb.
66156
66157 2007-03-28  Bruno Haible  <bruno@clisp.org>
66158
66159         * modules/unistr/u8-mbtoucr: New file.
66160         * lib/unistr/u8-mbtoucr.c: New file.
66161         * modules/unistr/u16-mbtoucr: New file.
66162         * lib/unistr/u16-mbtoucr.c: New file.
66163         * modules/unistr/u16-mbtoucr: New file.
66164         * lib/unistr/u16-mbtoucr.c: New file.
66165         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
66166
66167 2007-03-27  Simon Josefsson  <simon@josefsson.org>
66168             Bruno Haible  <bruno@clisp.org>
66169
66170         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
66171         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
66172         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
66173
66174         * m4/stdio_h.m4: Add stubs for vasprintf too.
66175
66176         * modules/stdio: Support vasprintf in sed command.
66177
66178         * modules/vasprintf: Depend on stdio for prototypes.  Remove
66179         vasprintf.h.  Add stdio module indicator.
66180
66181         * lib/stdio_.h: Declare asprintf and vasprintf, based on
66182         vasprintf.h.
66183
66184         * lib/vasprintf.h: File removed.
66185
66186         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
66187         * lib/vasprintf.c: Ditto.
66188         * lib/xvasprintf.c: Ditto.
66189         * tests/test-vasprintf-posix.c: Ditto.
66190         * tests/test-vasprintf.c: Ditto.
66191
66192 2007-03-27  Bruno Haible  <bruno@clisp.org>
66193
66194         Make vasnprintf multithread-safe.
66195         * lib/vasnprintf.c (decimal_point_char): New function.
66196         (VASNPRINTF): Use it.
66197         Suggested by Simon Josefsson.
66198
66199 2007-03-27  Eric Blake  <ebb9@byu.net>
66200
66201         Support sub-second birthtime on cygwin.
66202         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
66203         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
66204         (get_stat_birthtime): Also work with st_birthtim.
66205
66206 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
66207
66208         * lib/stat-time.h (USE_BIRTHTIME): Remove.
66209         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
66210         (get_stat_birthtime_ns): Do not try to use "spare" fields.
66211         (get_stat_birthtime_ns): Simplify compile-time tests.
66212         (get_stat_birthtime): Change the API to look like
66213         get_stat_mtime etc., except return a negative tv_nsec on error.
66214         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
66215         Don't check for "spare" fields.
66216         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
66217         or for struct stat.st_birthtime, as these tests aren't used.
66218         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
66219
66220 2007-03-27  Bruno Haible  <bruno@clisp.org>
66221
66222         * lib/stat-time.h: Include <sys/stat.h>.
66223
66224 2007-03-27  James Youngman  <jay@gnu.org>
66225
66226         * lib/stat-time.h (get_stat_birthtime): New function for
66227           retrieving st_birthtime as provided by UFS2 (hence *BSD).
66228         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
66229           and its variants.
66230         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
66231         * modules/stat-time-test: New file.
66232         * tests/test-stat-time.c: New test, devised by Bruno Haible.
66233
66234 2007-03-26  Bruno Haible  <bruno@clisp.org>
66235
66236         Better support of signalling NaNs.
66237         * lib/atanl.c: Include isnanl.h.
66238         (atanl): Perform test for NaN at the beginning of the function and
66239         through a call to isnanl.
66240         * lib/cosl.c: Include isnanl.h.
66241         (cosl): Perform test for NaN at the beginning of the function and
66242         through a call to isnanl.
66243         * lib/ldexpl.c: Include isnanl.h.
66244         (ldexpl): Perform test for NaN through a call to isnanl.
66245         * lib/logl.c: Include isnanl.h.
66246         (logl): Perform test for NaN at the beginning of the function and
66247         through a call to isnanl.
66248         * lib/sinl.c: Include isnanl.h.
66249         (sinl): Perform test for NaN at the beginning of the function and
66250         through a call to isnanl.
66251         * lib/sqrtl.c: Include isnanl.h.
66252         (sqrtl): Perform test for NaN at the beginning of the function and
66253         through a call to isnanl.
66254         * lib/tanl.c: Include isnanl.h.
66255         (tanl): Perform test for NaN at the beginning of the function and
66256         through a call to isnanl.
66257         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
66258         * modules/mathl (Depends-on): Add isnanl.
66259
66260 2007-03-26  Eric Blake  <ebb9@byu.net>
66261
66262         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
66263         regression in logic sense of previous patch.
66264
66265 2007-03-26  Bruno Haible  <bruno@clisp.org>
66266
66267         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
66268         unportable shell command "if ! ...".
66269         Reported by Ralf Wildenhues.
66270
66271 2007-03-25  Bruno Haible  <bruno@clisp.org>
66272
66273         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
66274         <sysexits.h> file, and only add EX_CONFIG.
66275         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
66276         absolute file name and whether it is sufficient. Substitute also
66277         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
66278         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
66279         ABSOLUTE_SYSEXITS_H into sysexits.h.
66280
66281 2007-03-25  Bruno Haible  <bruno@clisp.org>
66282
66283         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
66284         hints is NULL.
66285
66286 2007-03-25  Bruno Haible  <bruno@clisp.org>
66287
66288         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
66289         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
66290
66291 2007-03-25  Bruno Haible  <bruno@clisp.org>
66292
66293         * lib/vasnprintf.c: Include langinfo.h.
66294         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
66295         multithread-safe.
66296         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
66297         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
66298         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
66299         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
66300         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
66301         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
66302         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
66303         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
66304         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
66305         Reported by Simon Josefsson.
66306
66307 2007-03-25  Bruno Haible  <bruno@clisp.org>
66308
66309         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
66310         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
66311         * modules/vasnprintf (Depends-on): Add stdint.
66312
66313 2007-03-25  Bruno Haible  <bruno@clisp.org>
66314
66315         * modules/fpieee: New file.
66316         * m4/fpieee.m4: New file.
66317         * modules/isnan-nolibm (Depends-on): Add fpieee.
66318         * modules/isnanl-nolibm (Depends-on): Add fpieee.
66319         * modules/isnanl (Depends-on): Add fpieee.
66320
66321 2007-03-25  Bruno Haible  <bruno@clisp.org>
66322
66323         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
66324
66325 2007-03-25  Bruno Haible  <bruno@clisp.org>
66326
66327         Avoid test failures on IRIX 6.5.
66328         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
66329         (main): Use it.
66330         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
66331         macros.
66332         (main): Use them.
66333
66334 2007-03-25  Bruno Haible  <bruno@clisp.org>
66335
66336         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
66337         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
66338         exists but doesn't work.
66339         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
66340         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
66341         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
66342         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
66343         math.h.
66344
66345 2007-03-25  Bruno Haible  <bruno@clisp.org>
66346
66347         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
66348         returns inf. Needed on IRIX 6.5.
66349
66350 2007-03-25  Bruno Haible  <bruno@clisp.org>
66351
66352         * tests/test-frexpl.c: Include isnanl-nolibm.h.
66353         (main): Use isnanl instead of x != x idiom.
66354         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
66355
66356         * tests/test-frexp.c: Include isnan.h.
66357         (main): Use isnan instead of x != x idiom.
66358         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
66359
66360 2007-03-25  Bruno Haible  <bruno@clisp.org>
66361
66362         * tests/test-frexp.c (NaN): New function/macro.
66363         (main): Use it instead of 0.0 / 0.0.
66364         * tests/test-isnan.c (NaN): New function/macro.
66365         (main): Use it instead of 0.0 / 0.0.
66366         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
66367         (test_function): Use it instead of 0.0 / 0.0.
66368         * tests/test-vasprintf-posix.c (NaN): New function/macro.
66369         (test_function): Use it instead of 0.0 / 0.0.
66370         * tests/test-snprintf-posix.h (NaN): New function/macro.
66371         (test_function): Use it instead of 0.0 / 0.0.
66372         * tests/test-sprintf-posix.h (NaN): New function/macro.
66373         (test_function): Use it instead of 0.0 / 0.0.
66374         * tests/test-fprintf-posix.h (NaN): New function/macro.
66375         (test_function): Use it instead of 0.0 / 0.0.
66376         * tests/test-printf-posix.h (NaN): New function/macro.
66377         (test_function): Use it instead of 0.0 / 0.0.
66378
66379         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
66380
66381 2007-03-25  Bruno Haible  <bruno@clisp.org>
66382
66383         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
66384
66385 2007-03-25  Bruno Haible  <bruno@clisp.org>
66386
66387         * lib/regexec.c (merge_state_with_log): Make static.
66388
66389 2007-03-25  Bruno Haible  <bruno@clisp.org>
66390
66391         * lib/trigl.c (kernel_rem_pio2): Make static.
66392
66393 2007-03-25  Bruno Haible  <bruno@clisp.org>
66394
66395         * lib/sincosl.c (sincosl_table): Make static.
66396
66397 2007-03-25  Bruno Haible  <bruno@clisp.org>
66398
66399         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
66400         if the compiler does not support C99.
66401
66402 2007-03-25  Bruno Haible  <bruno@clisp.org>
66403
66404         * modules/time (Makefile.am): Ensure all rule action lines start with a
66405         tab.
66406
66407 2007-03-24  Bruno Haible  <bruno@clisp.org>
66408
66409         * modules/tsearch-tests: New file.
66410         * tests/test-tsearch.sh: New file.
66411         * tests/test-tsearch.c: New file, mostly copied from glibc.
66412
66413         * modules/search-tests: New file.
66414         * tests/test-search.c: New file.
66415
66416         * modules/search: New file.
66417         * lib/search_.h: New file, incorporating lib/tsearch.h.
66418         * m4/search_h.m4: New file.
66419         * lib/tsearch.h: Remove file.
66420         * lib/tsearch.c: Include search.h instead of tsearch.h.
66421         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
66422         HAVE_TSEARCH.
66423         * modules/tsearch (Files): Remove lib/tsearch.h.
66424         (Depends-on): Add search.
66425         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
66426         (Include): Change tsearch.h into search.h.
66427
66428 2007-03-24  Bruno Haible  <bruno@clisp.org>
66429
66430         * modules/fpucw: New file.
66431         * lib/fpucw.h: New file.
66432         * lib/frexp.c: Include fpucw.h.
66433         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
66434         (FUNC): Use them.
66435         * lib/printf-frexp.c: Include fpucw.h.
66436         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
66437         (FUNC): Use them.
66438         * lib/vasnprintf.c: Include fpucw.h.
66439         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
66440         'long double' calculations.
66441         * tests/test-frexpl.c: Include fpucw.h.
66442         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
66443         * tests/test-printf-frexpl.c: Include fpucw.h.
66444         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
66445         * modules/frexpl (Depends-on): Add fpucw.
66446         * modules/printf-frexpl (Depends-on): Likewise.
66447         * modules/fprintf-posix (Depends-on): Likewise.
66448         * modules/snprintf-posix (Depends-on): Likewise.
66449         * modules/sprintf-posix (Depends-on): Likewise.
66450         * modules/vasnprintf-posix (Depends-on): Likewise.
66451         * modules/vasprintf-posix (Depends-on): Likewise.
66452         * modules/vfprintf-posix (Depends-on): Likewise.
66453         * modules/vsnprintf-posix (Depends-on): Likewise.
66454         * modules/vsprintf-posix (Depends-on): Likewise.
66455         * modules/frexpl-tests (Depends-on): Likewise.
66456         * modules/printf-frexpl-tests (Depends-on): Likewise.
66457
66458 2007-03-24  Bruno Haible  <bruno@clisp.org>
66459
66460         * lib/float+.h: New file.
66461         * lib/isnan.c: Include float+.h.
66462         (SIZE): New macro.
66463         (FUNC): Compare only SIZE bytes of the value.
66464         * lib/vasnprintf.c: Include float+.h.
66465         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
66466         SIZEOF_LDBL or SIZEOF_DBL bytes.
66467         * modules/isnan-nolibm (Files): Add lib/float+.h.
66468         * modules/isnanl-nolibm (Files): Add lib/float+.h.
66469         * modules/isnanl (Files): Add lib/float+.h.
66470         * modules/vasnprintf (Files): Add lib/float+.h.
66471
66472 2007-03-24  Bruno Haible  <bruno@clisp.org>
66473
66474         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
66475         include isnanl-nolibm.h.
66476
66477 2007-03-24  Bruno Haible  <bruno@clisp.org>
66478
66479         * tests/test-read-file.c (main): Don't produce spurious output for
66480         expected situations. Make the test fail if it encountered unexpected
66481         results.
66482
66483 2007-03-24  Bruno Haible  <bruno@clisp.org>
66484
66485         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
66486         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
66487
66488 2007-03-24  Bruno Haible  <bruno@clisp.org>
66489
66490         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
66491
66492 2007-03-24  Bruno Haible  <bruno@clisp.org>
66493
66494         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
66495         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
66496
66497         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
66498         * modules/utf8-ucs4: Turn into a symbolic link to module
66499         unistr/u8-mbtouc.
66500
66501         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
66502         utf8-ucs4-unsafe.
66503         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
66504         unistr/u8-mbtouc-unsafe.
66505
66506         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
66507         * modules/utf16-ucs4: Turn into a symbolic link to module
66508         unistr/u16-mbtouc.
66509
66510         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
66511         utf16-ucs4-unsafe.
66512         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
66513         unistr/u16-mbtouc-unsafe.
66514
66515         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
66516         * modules/ucs4-utf8: Turn into a symbolic link to module
66517         unistr/u8-ubtomb.
66518
66519         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
66520         * modules/ucs4-utf16: Turn into a symbolic link to module
66521         unistr/u16-ubtomb.
66522
66523 2007-03-24  Bruno Haible  <bruno@clisp.org>
66524
66525         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
66526         Enable the function only if HAVE_INLINE.
66527         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
66528         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
66529         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
66530         Enable the function only if HAVE_INLINE.
66531         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
66532         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
66533         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
66534         Enable the function only if HAVE_INLINE.
66535         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
66536         Enable the function only if HAVE_INLINE.
66537         * modules/utf8-ucs4: Update.
66538         * modules/utf8-ucs4-unsafe: Update.
66539         * modules/utf16-ucs4: Update.
66540         * modules/utf16-ucs4-unsafe: Update.
66541         * modules/ucs4-utf8: Update.
66542         * modules/ucs4-utf16: Update.
66543
66544 2007-03-24  Bruno Haible  <bruno@clisp.org>
66545
66546         * lib/utf8-ucs4.h: Remove file.
66547         * lib/utf8-ucs4-unsafe.h: Remove file.
66548         * lib/utf16-ucs4.h: Remove file.
66549         * lib/utf16-ucs4-unsafe.h: Remove file.
66550         * lib/ucs4-utf8.h: Remove file.
66551         * lib/ucs4-utf16.h: Remove file.
66552         * lib/unistr.h: Include their previous contents.
66553         * m4/utf-ucs4.m4: Remove file.
66554         * m4/ucs4-utf.m4: Remove file.
66555         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
66556         (Depends-on): Add unistr/base.
66557         (configure.ac): Remove gl_UTF_UCS4.
66558         (Makefile.am): Update.
66559         (Include): Change to unistr.h.
66560         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
66561         (Depends-on): Add unistr/base.
66562         (configure.ac): Remove gl_UTF_UCS4.
66563         (Makefile.am): Update.
66564         (Include): Change to unistr.h.
66565         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
66566         (Depends-on): Add unistr/base.
66567         (configure.ac): Remove gl_UTF_UCS4.
66568         (Makefile.am): Update.
66569         (Include): Change to unistr.h.
66570         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
66571         (Depends-on): Add unistr/base.
66572         (configure.ac): Remove gl_UTF_UCS4.
66573         (Makefile.am): Update.
66574         (Include): Change to unistr.h.
66575         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
66576         (Depends-on): Add unistr/base.
66577         (configure.ac): Remove gl_UCS4_UTF.
66578         (Makefile.am): Update.
66579         (Include): Change to unistr.h.
66580         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
66581         (Depends-on): Add unistr/base.
66582         (configure.ac): Remove gl_UCS4_UTF.
66583         (Makefile.am): Update.
66584         (Include): Change to unistr.h.
66585         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
66586         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
66587         utf8-ucs4-unsafe.h.
66588         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
66589         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
66590         utf16-ucs4-unsafe.h.
66591         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
66592         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
66593         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
66594         * lib/unistr/u8-strchr.c: Likewise.
66595         * lib/unistr/u8-strrchr.c: Likewise.
66596         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
66597         * lib/unistr/u16-strchr.c: Likewise.
66598         * lib/unistr/u16-strrchr.c: Likewise.
66599         * lib/striconveh.c: Update.
66600         * lib/linebreak.c: Update.
66601
66602 2007-03-24  Bruno Haible  <bruno@clisp.org>
66603
66604         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
66605         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
66606
66607 2007-03-22  Bruno Haible  <bruno@clisp.org>
66608
66609         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
66610
66611 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
66612
66613         * MODULES.html.sh (File system functions): New module write-any-file.
66614         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
66615         * m4/write-any-file.m4: New files.
66616
66617 2007-03-23  Eric Blake  <ebb9@byu.net>
66618
66619         * gnulib-tool: Rearrange space-tab sequences, since some editors
66620         like to eat them.
66621
66622 2007-03-23  Eric Blake  <ebb9@byu.net>
66623
66624         * lib/version-etc.c (version_etc_va): Update license wording to
66625         be more concise.  Recommended by Richard Stallman.
66626
66627 2007-03-22  Bruno Haible  <bruno@clisp.org>
66628
66629         * lib/poll.c (MSG_PEEK): New fallback definition.
66630
66631 2007-03-22  Bruno Haible  <bruno@clisp.org>
66632
66633         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
66634         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
66635         (main): Update.
66636         Fixes a compilation error on BeOS.
66637
66638 2007-03-22  Bruno Haible  <bruno@clisp.org>
66639
66640         * modules/frexpl-tests: New file.
66641         * tests/test-frexpl.c: New file.
66642
66643         * modules/frexpl: New file.
66644         * m4/frexpl.m4: New file.
66645         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
66646         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
66647         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
66648         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
66649         (Depends-on): Add frexpl. Remove isnanl-nolibm.
66650         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
66651
66652 2007-03-22  Bruno Haible  <bruno@clisp.org>
66653
66654         * lib/frexpl.c: Share code with lib/frexp.c.
66655         * modules/mathl (Files): Add lib/frexp.c.
66656         (Depends-on): Add isnanl-nolibm.
66657
66658 2007-03-22  Bruno Haible  <bruno@clisp.org>
66659
66660         * modules/printf-frexp (Files): Add m4/frexp.m4.
66661         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
66662         only if the found frexp function actually works.
66663
66664 2007-03-22  Bruno Haible  <bruno@clisp.org>
66665
66666         * lib/frexp.c: Remove older implementation that uses divisions.
66667
66668 2007-03-21  Bruno Haible  <bruno@clisp.org>
66669
66670         * modules/frexp-tests: New file.
66671         * tests/test-frexp.c: New file.
66672
66673         * modules/frexp: New file.
66674         * lib/frexp.c: New file.
66675         * m4/frexp.m4: New file.
66676         * lib/math_.h (frexp): New declaration.
66677         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
66678         REPLACE_FREXP.
66679         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
66680
66681 2007-03-21  Bruno Haible  <bruno@clisp.org>
66682
66683         * modules/isnanl-tests: New file.
66684         * tests/test-isnanl.c: New file.
66685
66686         * modules/isnanl: New file.
66687         * lib/isnanl.h: New file.
66688         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
66689         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
66690         gl_FUNC_ISNANL_WORKS.
66691         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
66692         New macros.
66693
66694 2007-03-21  Bruno Haible  <bruno@clisp.org>
66695
66696         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
66697         lib/isnanl.h.
66698         (Include): Update.
66699         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
66700         * lib/vasnprintf.c: Update.
66701         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
66702         tests/test-isnanl.h, remove tests/test-isnanl.c.
66703         (Makefile.am): Update.
66704         * tests/test-isnanl-nolibm.c: New file.
66705         * tests/test-isnanl.h: New file.
66706         * tests/test-isnanl.c: Remove file.
66707
66708 2007-03-21  Jim Meyering  <jim@meyering.net>
66709
66710         When trying to open ".", treat ESTALE like EACCES.
66711         * lib/savewd.c (savewd_save): Resort to forking not just upon
66712         failure with EACCES, but also when errno is ESTALE.
66713
66714 2007-03-20  Bruno Haible  <bruno@clisp.org>
66715
66716         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
66717         Needed on AIX 5.1. Reported by Matthew Woehlke.
66718
66719 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
66720
66721         Suggestions by Bruno Haible:
66722         * lib/acl-internal.h: Include "gettext.h" rather than rolling
66723         our own.
66724         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
66725         * modules/acl (Depends-on): Add gettext.
66726
66727 2007-03-19  Bruno Haible  <bruno@clisp.org>
66728
66729         * modules/iconvme: Remove file.
66730         * lib/iconvme.h: Remove file.
66731         * lib/iconvme.c: Remove file.
66732         * m4/iconvme.m4: Remove file.
66733
66734 2007-03-19  Bruno Haible  <bruno@clisp.org>
66735
66736         * doc/relocatable-maint.texi: Break long shell script line.
66737         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
66738
66739 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
66740
66741         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
66742         handle file_has_acl.
66743         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
66744         * lib/acl.c: Move header inclusions and related macro defns into
66745         lib/acl-internal.h.
66746         (S_ISLNK): Remove defn, since that's now done for us.
66747         (file_has_acl): Move to lib/file-has-acl.c.
66748         Call acl_trivial if available.  This is the crucial part of the fix.
66749         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
66750         shared within the library.  Rewrite a bit, partly to make it compatible
66751         with the GNU coding style.
66752         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
66753         Remove unnecessary double-quotes.
66754         Don't test for acl_to_text; the build will catch that.
66755         Replace acl_entries if it doesn't exist and it is needed.
66756         Check for -lsec and acl_trivial (as used on Solaris 10).
66757         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
66758         lib/file-has-acl.c.
66759         (Depends-on): Add sys_stat, for S_ISLNK.
66760
66761 2007-03-19  Ben Pfaff  <blp@gnu.org>
66762
66763         * doc/gnulib.texi: Fix typos.
66764         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
66765
66766 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
66767
66768         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
66769         If size is zero here, buf must be zero.
66770
66771 2007-03-19  Simon Josefsson  <simon@josefsson.org>
66772
66773         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
66774         <bruno@clisp.org>.
66775
66776 2007-03-18  Bruno Haible  <bruno@clisp.org>
66777
66778         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
66779         Suggested by Eric Blake.
66780
66781 2007-03-18  Ben Pfaff  <blp@gnu.org>
66782
66783         * doc/relocatable.texi: Recommend using as prefix a directory
66784         that does not exist and will never be created.  Based on
66785         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
66786         and others.
66787
66788 2007-03-17  Bruno Haible  <bruno@clisp.org>
66789
66790         * lib/fchownat.c: Include lchown.h.
66791
66792 2007-03-17  Bruno Haible  <bruno@clisp.org>
66793
66794         Fix endless loop when the given allocated size was > INT_MAX.
66795         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
66796         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
66797         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
66798         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
66799         * lib/sprintf.c (sprintf): Likewise.
66800
66801 2007-03-17  Bruno Haible  <bruno@clisp.org>
66802
66803         * tests/test-argp-2.sh (func_compare): Output a context diff.
66804
66805 2007-03-17  Bruno Haible  <bruno@clisp.org>
66806
66807         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
66808         locale's decimal-point character.
66809
66810 2007-03-17  Bruno Haible  <bruno@clisp.org>
66811
66812         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
66813         before comparing it. Needed because on some platforms (e.g. x86) a
66814         'long double' occupies less bytes than sizeof (long double).
66815
66816 2007-03-17  Bruno Haible  <bruno@clisp.org>
66817
66818         * tests/test-crc.c (main): Make printf statements 64-bit clean.
66819         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
66820         * tests/test-getaddrinfo.c (simple): Likewise.
66821         * tests/test-read-file.c (main): Likewise.
66822
66823 2007-03-17  Bruno Haible  <bruno@clisp.org>
66824
66825         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
66826
66827 2007-03-17  Bruno Haible  <bruno@clisp.org>
66828
66829         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
66830         unused variable.
66831
66832 2007-03-17  Bruno Haible  <bruno@clisp.org>
66833
66834         * tests/test-c-strcasecmp.c: Include c-strcase.h.
66835         * tests/test-c-strncasecmp.c: Likewise.
66836
66837 2007-03-17  Bruno Haible  <bruno@clisp.org>
66838
66839         * modules/stdlib (Depends-on): Add unistd.
66840         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
66841         Needed for MacOS X 10.3.
66842
66843 2007-03-17  Bruno Haible  <bruno@clisp.org>
66844
66845         * lib/unistr/u-strdup.h: Include <stdlib.h>.
66846
66847 2007-03-17  Bruno Haible  <bruno@clisp.org>
66848
66849         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
66850
66851 2007-03-17  Bruno Haible  <bruno@clisp.org>
66852
66853         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
66854         to reflect files copied from gnulib (with or without modifications).
66855         Suggested by Jim Meyering.
66856
66857 2007-03-17  Eric Blake  <ebb9@byu.net>
66858
66859         * NEWS: Document stdlib change from 2007-02-18.
66860
66861 2007-03-17  Jim Meyering  <jim@meyering.net>
66862
66863         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
66864         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
66865         someone uses a name containing shell meta-characters.
66866         Reported by Alfred M. Szmidt.
66867
66868         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
66869
66870 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
66871
66872         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
66873         and copy gettext configuration files only if configure.ac contains
66874         a use of AM_GNU_GETTEXT_VERSION.
66875
66876 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
66877
66878         * build-aux/bootstrap (gnulib_name): New variable.
66879         (gnulib_tool_options): Use it.
66880
66881 2007-03-13  Simon Josefsson  <simon@josefsson.org>
66882
66883         * tests/test-des.c: Use new namespace.
66884
66885 2007-03-15  Bruno Haible  <bruno@clisp.org>
66886
66887         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
66888         Reported by James Youngman <jay@gnu.org>.
66889
66890 2007-03-15  Bruno Haible  <bruno@clisp.org>
66891
66892         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
66893         declared prototype. Needed with cc on OSF/1 5.1.
66894
66895 2007-03-15  Bruno Haible  <bruno@clisp.org>
66896
66897         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
66898         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
66899         (struct gl_list_implementation): Add dispose_fn argument to the
66900         'create_empty', 'create' methods.
66901         (struct gl_list_impl_base): Add field 'dispose_fn'.
66902         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
66903         argument.
66904         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
66905         dispose_fn argument.
66906         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
66907         dispose_fn on the dropped values.
66908         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
66909         dispose_fn argument.
66910         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
66911         dropped values.
66912         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
66913         (gl_tree_remove_node): Call dispose_fn on the dropped value.
66914         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
66915         (gl_tree_remove_node): Call dispose_fn on the dropped value.
66916         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
66917         argument.
66918         (gl_tree_list_free): Call dispose_fn on the dropped values.
66919         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
66920         the dropped values.
66921         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
66922         Add dispose_fn argument.
66923         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
66924         Call dispose_fn on the dropped values.
66925         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
66926         Add dispose_fn argument.
66927         (gl_sublist_create): Initialize the 'dispose_fn' field.
66928         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
66929         * tests/test-array_list.c (main): Update.
66930         * tests/test-carray_list.c (main): Update.
66931         * tests/test-avltree_list.c (main): Update.
66932         * tests/test-rbtree_list.c (main): Update.
66933         * tests/test-avltreehash_list.c (main): Update.
66934         * tests/test-rbtreehash_list.c (main): Update.
66935         * tests/test-linked_list.c (main): Update.
66936         * tests/test-linkedhash_list.c (main): Update.
66937         * tests/test-array_oset.c (main): Update.
66938
66939 2007-03-15  Bruno Haible  <bruno@clisp.org>
66940
66941         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
66942         (gl_oset_create_empty): Add dispose_fn argument.
66943         (struct gl_oset_implementation): Add dispose_fn argument to
66944         'create_empty' method.
66945         (struct gl_oset_impl_base): Add dispose_fn field.
66946         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
66947         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
66948         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
66949         values.
66950         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
66951         (gl_tree_oset_free): Call dispose_fn on the dropped values.
66952         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
66953         dropped value.
66954         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
66955         dropped value.
66956         * tests/test-array_oset.c (main): Update.
66957         * tests/test-avltree_oset.c (main): Update.
66958         * tests/test-rbtree_oset.c (main): Update.
66959         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
66960
66961 2007-03-13  Bruno Haible  <bruno@clisp.org>
66962
66963         * tests/test-stdbool.c (i): Update after last patch.
66964
66965 2007-03-12  Bruno Haible  <bruno@clisp.org>
66966
66967         * lib/quotearg.c: Include <wctype.h> early, before the definition of
66968         the iswprint macro. Needed on Solaris 2.5.1.
66969
66970 2007-03-12  Bruno Haible  <bruno@clisp.org>
66971
66972         * tests/test-printf-frexp.c (main): Declare x as volatile.
66973
66974 2007-03-12  Simon Josefsson  <simon@josefsson.org>
66975
66976         * doc/gnulib.texi (Build robot for gnulib): New section.
66977
66978 2007-03-12  Jim Meyering  <jim@meyering.net>
66979
66980         * build-aux/bootstrap: New file.
66981         * build-aux/bootstrap.conf: New file, from coreutils.
66982
66983 2007-03-11  Bruno Haible  <bruno@clisp.org>
66984
66985         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
66986
66987 2007-03-12  Simon Josefsson  <simon@josefsson.org>
66988
66989         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
66990         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
66991         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
66992
66993 2007-03-11  Bruno Haible  <bruno@clisp.org>
66994
66995         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
66996         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
66997
66998 2007-03-11  Bruno Haible  <bruno@clisp.org>
66999
67000         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
67001         formula. Needed for SunPRO C 5.0.
67002
67003 2007-03-11  Bruno Haible  <bruno@clisp.org>
67004
67005         * modules/long-options (Depends-on): Add getopt.
67006
67007 2007-03-11  Bruno Haible  <bruno@clisp.org>
67008
67009         * modules/modechange (Depends-on): Add stdbool.
67010
67011 2007-03-11  Bruno Haible  <bruno@clisp.org>
67012
67013         * modules/i-ring (Depends-on): Add stdbool.
67014
67015 2007-03-11  Bruno Haible  <bruno@clisp.org>
67016
67017         * modules/gc-des (Depends-on): Add stdbool.
67018
67019 2007-03-11  Bruno Haible  <bruno@clisp.org>
67020
67021         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
67022
67023 2007-03-11  Bruno Haible  <bruno@clisp.org>
67024
67025         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
67026
67027 2007-03-11  Bruno Haible  <bruno@clisp.org>
67028
67029         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
67030
67031 2007-03-11  Bruno Haible  <bruno@clisp.org>
67032
67033         * lib/vasnprintf.c (sprintf): Undefine.
67034
67035 2007-03-11  Bruno Haible  <bruno@clisp.org>
67036
67037         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
67038         initializers in SunPRO C and Compaq C compilers.
67039
67040 2007-03-11  Bruno Haible  <bruno@clisp.org>
67041
67042         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
67043         decrementing code ANSI C compliant.
67044
67045 2007-03-11  Bruno Haible  <bruno@clisp.org>
67046
67047         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
67048         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
67049
67050 2007-03-11  Bruno Haible  <bruno@clisp.org>
67051
67052         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
67053         <stdbool.h> substitute doesn't pass.
67054
67055 2007-03-11  Bruno Haible  <bruno@clisp.org>
67056
67057         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
67058
67059 2007-03-11  Bruno Haible  <bruno@clisp.org>
67060
67061         * gnulib-tool (func_create_megatestdir): Create also an autobuild
67062         script, for submission to autobuild.josefsson.org.
67063
67064 2007-03-10  Bruno Haible  <bruno@clisp.org>
67065
67066         * modules/canonicalize-lgpl-tests: New file.
67067         * tests/test-canonicalize-lgpl.sh: New file.
67068         * tests/test-canonicalize-lgpl.c: New file.
67069
67070         * modules/c-strcase-tests: New file.
67071         * tests/test-c-strcase.sh: New file.
67072         * tests/test-c-strcasecmp.c: New file.
67073         * tests/test-c-strncasecmp.c: New file.
67074
67075         * modules/atexit-tests: New file.
67076         * tests/test-atexit.sh: New file.
67077         * tests/test-atexit.c: New file.
67078
67079 2007-03-10  Bruno Haible  <bruno@clisp.org>
67080
67081         * tests/test-binary-io.sh: Use temporary filenames that are not so
67082         likely to clash with those of other tests (in a parallel make).
67083         * tests/test-binary-io.c: Likewise.
67084
67085 2007-03-10  Bruno Haible  <bruno@clisp.org>
67086
67087         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
67088         fallback; use #error instead.
67089         Suggested by Simon Josefsson.
67090
67091 2007-03-10  Bruno Haible  <bruno@clisp.org>
67092
67093         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
67094         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
67095         first and the last.
67096
67097 2007-03-10  Bruno Haible  <bruno@clisp.org>
67098
67099         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
67100
67101 2007-03-10  Bruno Haible  <bruno@clisp.org>
67102
67103         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
67104         "make distcheck".
67105         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
67106         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
67107         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
67108
67109 2007-03-10  Bruno Haible  <bruno@clisp.org>
67110
67111         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
67112         variable.
67113         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
67114         variable.
67115
67116 2007-03-09  Eric Blake  <ebb9@byu.net>
67117         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
67118
67119         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
67120         types are not being provided by gnulib.
67121         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
67122         types are supported.
67123
67124 2007-03-10  Bruno Haible  <bruno@clisp.org>
67125
67126         * lib/stdio_.h (__attribute__): New macro.
67127         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
67128         vsprintf): Specify __attribute__ __format__ for GCC.
67129         Suggested by Eric Blake.
67130
67131 2007-03-09  Bruno Haible  <bruno@clisp.org>
67132
67133         * modules/printf-posix-tests: New file.
67134         * tests/test-printf-posix.sh: New file.
67135         * tests/test-printf-posix.c: New file.
67136
67137         * modules/printf-posix: New file.
67138         * lib/printf.c: New file.
67139         * m4/printf-posix-rpl.m4: New file.
67140         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
67141         REPLACE_PRINTF.
67142         * lib/stdio_.h (printf): New declaration.
67143         (format, __format__, ____printf____, ____scanf____, ____strftime____,
67144         ____strfmon____): New macros.
67145         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
67146         REPLACE_PRINTF.
67147
67148 2007-03-09  Bruno Haible  <bruno@clisp.org>
67149
67150         * tests/test-vasnprintf-posix2.sh: New file.
67151         * tests/test-vasnprintf-posix2.c: New file.
67152         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
67153         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
67154         (Makefile.am): Activate test-vasnprintf-posix2.sh.
67155
67156         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
67157         a locale dependent decimal point, rather than always '.'.
67158
67159 2007-03-09  Eric Blake  <ebb9@byu.net>
67160
67161         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
67162         spite of platforms like Tandem/NSK that define it to -1.
67163
67164 2007-03-08  Bruno Haible  <bruno@clisp.org>
67165
67166         * modules/vprintf-posix-tests: New file.
67167         * tests/test-vprintf-posix.sh: New file.
67168         * tests/test-vprintf-posix.c: New file.
67169         * tests/test-printf-posix.h: New file.
67170
67171         * modules/vprintf-posix: New file.
67172         * lib/vprintf.c: New file.
67173         * m4/vprintf-posix.m4: New file.
67174         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
67175         REPLACE_VPRINTF.
67176         * lib/stdio_.h (vprintf): New declaration.
67177         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
67178         REPLACE_VPRINTF.
67179
67180 2007-03-08  Bruno Haible  <bruno@clisp.org>
67181
67182         * modules/fprintf-posix-tests: New file.
67183         * tests/test-fprintf-posix.sh: New file.
67184         * tests/test-fprintf-posix.c: New file.
67185
67186         * modules/fprintf-posix: New file.
67187         * lib/fprintf.c: New file.
67188         * m4/fprintf-posix.m4: New file.
67189         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
67190         REPLACE_FPRINTF.
67191         * lib/stdio_.h (fprintf): New declaration.
67192         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
67193         REPLACE_FPRINTF.
67194
67195 2007-03-08  Bruno Haible  <bruno@clisp.org>
67196
67197         * modules/vfprintf-posix-tests: New file.
67198         * tests/test-vfprintf-posix.sh: New file.
67199         * tests/test-vfprintf-posix.c: New file.
67200         * tests/test-fprintf-posix.h: New file.
67201         * tests/test-fprintf-posix.out: New file.
67202
67203         * modules/vfprintf-posix: New file.
67204         * lib/vfprintf.c: New file.
67205         * m4/vfprintf-posix.m4: New file.
67206         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
67207         REPLACE_VFPRINTF.
67208         * lib/stdio_.h (vfprintf): New declaration.
67209         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
67210         REPLACE_VFPRINTF.
67211
67212 2007-03-08  Bruno Haible  <bruno@clisp.org>
67213
67214         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
67215
67216 2007-03-08  Bruno Haible  <bruno@clisp.org>
67217
67218         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
67219         instead of 'expr' invocations.
67220         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
67221         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
67222         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
67223         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
67224         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
67225         Suggested by Paul Eggert.
67226
67227 2007-03-08  Bruno Haible  <bruno@clisp.org>
67228
67229         * modules/fseterr-tests: New file.
67230         * tests/test-fseterr.c: New file.
67231
67232         * modules/fseterr: New file.
67233         * lib/fseterr.h: New file.
67234         * lib/fseterr.c: New file.
67235
67236 2007-03-08  Bruno Haible  <bruno@clisp.org>
67237
67238         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
67239         * lib/getopt_.h: Likewise.
67240         * lib/mbswidth.h: Likewise.
67241         * lib/setenv.h: Likewise.
67242         * lib/vasnprintf.h: Likewise.
67243         * lib/vasprintf.h: Likewise.
67244         * lib/verror.h: Likewise.
67245         * lib/xsetenv.h: Likewise.
67246         * lib/xvasprintf.h: Likewise.
67247
67248 2007-03-08  Jim Meyering  <jim@meyering.net>
67249
67250         * users.txt: Add parted.
67251
67252         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
67253
67254 2007-03-07  Bruno Haible  <bruno@clisp.org>
67255
67256         * m4/printf.m4: Make the shell script snippets copy&pastable.
67257
67258 2007-03-02  Bruno Haible  <bruno@clisp.org>
67259
67260         * lib/netinet_in_.h: New file.
67261         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
67262         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
67263         * modules/netinet_in (Files): Add lib/netinet_in_.h.
67264         (Depends-on): Add absolute-header.
67265         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
67266         into netinet/in.h.
67267
67268 2007-03-03  Bruno Haible  <bruno@clisp.org>
67269
67270         * lib/sys_select_.h: New file.
67271         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
67272         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
67273         * modules/sys_select (Files): Add lib/sys_select_.h.
67274         (Depends-on): Add absolute-header.
67275         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
67276         into sys/select.h.
67277
67278 2007-03-02  Bruno Haible  <bruno@clisp.org>
67279
67280         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
67281         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
67282         values.
67283         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
67284         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
67285         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
67286         * modules/sys_socket (Depends-on): Add absolute-header.
67287         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
67288         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
67289         (Include): Remove requirement of inclusion of <sys/types.h>.
67290
67291 2007-03-02  Bruno Haible  <bruno@clisp.org>
67292
67293         * lib/byteswap_.h (bswap_32): Fix formula.
67294
67295 2007-03-06  Bruno Haible  <bruno@clisp.org>
67296
67297         * modules/sprintf-posix-tests: New file.
67298         * tests/test-sprintf-posix.c: New file.
67299
67300         * modules/sprintf-posix: New file.
67301         * lib/sprintf.c: New file.
67302         * m4/sprintf-posix.m4: New file.
67303         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
67304         REPLACE_SPRINTF.
67305         * lib/stdio_.h (sprintf): New declaration.
67306         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
67307         REPLACE_SPRINTF.
67308
67309 2007-03-06  Bruno Haible  <bruno@clisp.org>
67310
67311         * modules/vsprintf-posix-tests: New file.
67312         * tests/test-vsprintf-posix.c: New file.
67313         * tests/test-sprintf-posix.h: New file.
67314
67315         * modules/vsprintf-posix: New file.
67316         * lib/vsprintf.c: New file.
67317         * m4/vsprintf-posix.m4: New file.
67318         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
67319         REPLACE_VSPRINTF.
67320         * lib/stdio_.h (vsprintf): New declaration.
67321         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
67322         REPLACE_VSPRINTF.
67323
67324 2007-03-06  Bruno Haible  <bruno@clisp.org>
67325
67326         * modules/vsnprintf (Depend-on): Remove minmax.
67327
67328 2007-03-06  Bruno Haible  <bruno@clisp.org>
67329
67330         * modules/snprintf-posix-tests: New file.
67331         * tests/test-snprintf-posix.c: New file.
67332
67333         * modules/snprintf-posix: New file.
67334         * m4/snprintf-posix.m4: New file.
67335         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
67336         gl_FUNC_SNPRINTF.
67337         (gl_FUNC_SNPRINTF): Invoke it.
67338         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
67339         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
67340         is set.
67341         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
67342
67343 2007-03-06  Bruno Haible  <bruno@clisp.org>
67344
67345         * modules/vsnprintf-posix-tests: New file.
67346         * tests/test-vsnprintf-posix.c: New file.
67347         * tests/test-snprintf-posix.h: New file.
67348
67349         * modules/vsnprintf-posix: New file.
67350         * m4/vsnprintf-posix.m4: New file.
67351         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
67352         gl_FUNC_VSNPRINTF.
67353         (gl_FUNC_VSNPRINTF): Invoke it.
67354         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
67355         * lib/stdio_.h (vsnprintf): Define as a replacement if
67356         REPLACE_VSNPRINTF is set.
67357         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
67358
67359 2007-03-06  Bruno Haible  <bruno@clisp.org>
67360
67361         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
67362         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
67363
67364 2007-03-06  Bruno Haible  <bruno@clisp.org>
67365
67366         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
67367         (asinl): Declare also if HAVE_DECL_ASINL is set.
67368         (atanl): Declare also if HAVE_DECL_ATANL is set.
67369         (ceill): Declare also if HAVE_DECL_CEILL is set.
67370         (cosl): Declare also if HAVE_DECL_COSL is set.
67371         (expl): Declare also if HAVE_DECL_EXPL is set.
67372         (floorl): Declare also if HAVE_DECL_FLOORL is set.
67373         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
67374         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
67375         (logl): Declare also if HAVE_DECL_LOGL is set.
67376         (sinl): Declare also if HAVE_DECL_SINL is set.
67377         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
67378         (tanl): Declare also if HAVE_DECL_TANL is set.
67379         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
67380         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
67381         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
67382         declaration of frexpl, ldexpl.
67383         * modules/printf-frexpl (Depends-on): Add math.
67384         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
67385
67386 2007-03-05  Bruno Haible  <bruno@clisp.org>
67387
67388         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
67389         frexpl and ldexpl are declared.
67390         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
67391
67392 2007-03-05  Bruno Haible  <bruno@clisp.org>
67393
67394         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
67395         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
67396
67397 2007-03-05  Bruno Haible  <bruno@clisp.org>
67398
67399         * lib/stdio_.h: Include <stddef.h>.
67400
67401 2007-03-05  Bruno Haible  <bruno@clisp.org>
67402
67403         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
67404
67405 2007-03-05  Bruno Haible  <bruno@clisp.org>
67406
67407         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
67408         NetBSD 4, from Ralf Wildenhues.
67409
67410 2007-03-04  Bruno Haible  <bruno@clisp.org>
67411
67412         * lib/vasprintf.h: Update #if logic for the case when the functions
67413         exist but are overridden.
67414
67415 2007-03-04  Bruno Haible  <bruno@clisp.org>
67416
67417         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
67418         implementations: glibc-2.4 and MacOS X 10.3.
67419         * tests/test-vasnprintf-posix.c (test_function): Test also the case
67420         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
67421         * tests/test-vasprintf-posix.c (test_function): Likewise.
67422
67423 2007-03-04  Bruno Haible  <bruno@clisp.org>
67424
67425         * modules/vasprintf-posix-tests: New file.
67426         * tests/test-vasprintf-posix.c: New file.
67427
67428         * modules/vasprintf-posix: New file.
67429         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
67430         defined.
67431         * m4/vasprintf-posix.m4: New file.
67432         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
67433         gl_FUNC_VASPRINTF.
67434         (gl_FUNC_VASPRINTF): Invoke it.
67435         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
67436         here.
67437         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
67438
67439 2007-03-04  Bruno Haible  <bruno@clisp.org>
67440
67441         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
67442         REPLACE_GETTIMEOFDAY.
67443         * modules/sys_time (Makefile.am): Likewise.
67444         * m4/sys_time_h.m4: Likewise.
67445         * m4/gettimeofday.m4: Likewise.
67446
67447 2007-03-04  Bruno Haible  <bruno@clisp.org>
67448
67449         * modules/vasnprintf-posix-tests: New file.
67450         * tests/test-vasnprintf-posix.c: New file.
67451
67452         * modules/vasnprintf-posix: New file.
67453         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
67454         printf-frexpl.h.
67455         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
67456         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
67457         REPLACE_VASNPRINTF is defined.
67458         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
67459         gl_FUNC_VASNPRINTF.
67460         (gl_FUNC_VASNPRINTF): Invoke it.
67461         * m4/vasnprintf-posix.m4: New file.
67462         * m4/printf.m4: New file.
67463
67464 2007-03-04  Bruno Haible  <bruno@clisp.org>
67465
67466         Compile progreloc.c only if --enable-relocatable is specified.
67467         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
67468         if --enable-relocatable was specified.
67469         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
67470         lib_SOURCES.
67471
67472 2007-03-04  Jim Meyering  <jim@meyering.net>
67473
67474         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
67475         Use it consistently, rather than enumerating errno constants.
67476
67477 2007-03-04  Bruno Haible  <bruno@clisp.org>
67478
67479         * modules/xvasprintf-tests: New file.
67480         * tests/test-xvasprintf.c: New file.
67481
67482         * modules/vasprintf-tests: New file.
67483         * tests/test-vasprintf.c: New file.
67484
67485         * modules/vasnprintf-tests: New file.
67486         * tests/test-vasnprintf.c: New file.
67487
67488         * modules/vsnprintf-tests: New file.
67489         * tests/test-vsnprintf.c: New file.
67490
67491         * modules/snprintf-tests: New file.
67492         * tests/test-snprintf.c: New file.
67493
67494 2007-03-04  Bruno Haible  <bruno@clisp.org>
67495
67496         Compile relocatable.c only if --enable-relocatable is specified.
67497         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
67498         gl_RELOCATABLE_LIBRARY.
67499         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
67500         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
67501         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
67502         gl_RELOCATABLE_LIBRARY.
67503         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
67504         (Makefile.am): Remove lib_SOURCES.
67505         * modules/relocatable-lib-lgpl (configure.ac): Invoke
67506         gl_RELOCATABLE_LIBRARY.
67507         (Makefile.am): Remove lib_SOURCES.
67508         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
67509         always.
67510         * modules/relocatable-prog-wrapper (configure.ac): Invoke
67511         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
67512
67513 2007-03-04  Bruno Haible  <bruno@clisp.org>
67514
67515         * modules/argmatch-tests: New file.
67516         * tests/test-argmatch.c: New file.
67517
67518         * tests/test-allocsa.c (main): Halve the number of loop runs.
67519
67520         * modules/alloca-opt-tests: New file.
67521         * tests/test-alloca-opt.c: New file.
67522
67523 2007-03-04  Jim Meyering  <jim@meyering.net>
67524
67525         Work around difference between Linux ACLs and Solaris 10 ZFS.
67526         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
67527         for EINVAL.
67528
67529 2007-03-03  Bruno Haible  <bruno@clisp.org>
67530
67531         * modules/relocatable-prog (Depends-on): Add back progreloc's
67532         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
67533
67534 2007-03-03  Bruno Haible  <bruno@clisp.org>
67535
67536         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
67537         * modules/relocatable-lib: New file.
67538
67539 2007-03-03  Bruno Haible  <bruno@clisp.org>
67540
67541         * modules/relocatable-prog: Renamed from modules/relocatable.
67542         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
67543
67544 2007-03-03  Bruno Haible  <bruno@clisp.org>
67545
67546         * modules/relocatable-script (Files): Add doc/relocatable.texi,
67547         m4/relocatable-lib.m4.
67548         (Depends-on): Remove 'relocatable'.
67549         (configure.ac): Add gl_RELOCATABLE_NOP.
67550
67551 2007-03-03  Bruno Haible  <bruno@clisp.org>
67552
67553         * modules/relocatable-prog-wrapper: New file.
67554         * modules/relocatable (Depends-on): Add it. Remove all other
67555         dependencies except progname.
67556         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
67557
67558         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
67559         (gl_FUNC_STRERROR): Nop.
67560         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
67561
67562         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
67563         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
67564
67565         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
67566         (gl_FUNC_READLINK): Update.
67567
67568         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
67569
67570 2007-03-03  Bruno Haible  <bruno@clisp.org>
67571
67572         * lib/xreadlink.c: Include <unistd.h> unconditionally.
67573         * modules/xreadlink (Depends-on): Add unistd.
67574         * modules/xreadlink-with-size (Depends-on): Likewise.
67575
67576 2007-03-03  Bruno Haible  <bruno@clisp.org>
67577
67578         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
67579         extracted from gt_FUNC_SETENV.
67580         (gt_FUNC_SETENV): Remove macro.
67581         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
67582         remove gt_FUNC_SETENV.
67583
67584 2007-03-03  Bruno Haible  <bruno@clisp.org>
67585
67586         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
67587         ENABLE_RELOCATABLE here.
67588         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
67589
67590 2007-03-03  Bruno Haible  <bruno@clisp.org>
67591
67592         * modules/rbtreehash-list-tests (Depends-on): Add progname.
67593         * tests/test-rbtreehash_list.c: Include progname.h.
67594         (main): Call set_program_name.
67595
67596         * modules/rbtree-oset-tests (Depends-on): Add progname.
67597         * tests/test-rbtree_oset.c: Include progname.h.
67598         (main): Call set_program_name.
67599
67600         * modules/rbtree-list-tests (Depends-on): Add progname.
67601         * tests/test-rbtree_list.c: Include progname.h.
67602         (main): Call set_program_name.
67603
67604         * modules/linked-list-tests (Depends-on): Add progname.
67605         * tests/test-linked_list.c: Include progname.h.
67606         (main): Call set_program_name.
67607
67608 2007-03-03  Bruno Haible  <bruno@clisp.org>
67609
67610         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
67611         All uses of __restrict changed to _Restrict_.
67612         * lib/glob_.h (__restrict): Remove macro.
67613
67614 2007-03-02  Bruno Haible  <bruno@clisp.org>
67615
67616         * modules/gettext (configure.ac): Require gettext infrastructure
67617         from version 0.16.1.
67618
67619 2007-03-02  Bruno Haible  <bruno@clisp.org>
67620
67621         * modules/linkedhash-list-tests (Depends-on): Add progname.
67622         * tests/test-linkedhash_list.c: Include progname.h.
67623         (main): Call set_program_name.
67624
67625         * modules/carray-list-tests (Depends-on): Add progname.
67626         * tests/test-carray_list.c: Include progname.h.
67627         (main): Call set_program_name.
67628
67629         * modules/avltreehash-list-tests (Depends-on): Add progname.
67630         * tests/test-avltreehash_list.c: Include progname.h.
67631         (main): Call set_program_name.
67632
67633         * modules/avltree-oset-tests (Depends-on): Add progname.
67634         * tests/test-avltree_oset.c: Include progname.h.
67635         (main): Call set_program_name.
67636
67637         * modules/avltree-list-tests (Depends-on): Add progname.
67638         * tests/test-avltree_list.c: Include progname.h.
67639         (main): Call set_program_name.
67640
67641         * modules/array-oset-tests (Depends-on): Add progname.
67642         * tests/test-array_oset.c: Include progname.h.
67643         (main): Call set_program_name.
67644
67645         * modules/array-list-tests (Depends-on): Add progname.
67646         * tests/test-array_list.c: Include progname.h.
67647         (main): Call set_program_name.
67648
67649         * modules/argp-tests (Depends-on): Add progname.
67650         * tests/test-argp.c: Include argp.h first. Include progname.h.
67651         (main): Call set_program_name.
67652
67653 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
67654
67655         * doc/gnulib-tool.texi (Initial import): Reword description of
67656         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
67657         limited effect even if defined after the first system include.
67658
67659 2007-03-01  Bruno Haible  <bruno@clisp.org>
67660
67661         * build-aux/config.libpath: Update to libtool-1.5.22.
67662         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
67663
67664 2007-03-01  Bruno Haible  <bruno@clisp.org>
67665
67666         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
67667         foo_CFLAGS.
67668         Reported by Ralf Wildenhues.
67669
67670 2007-03-01  Bruno Haible  <bruno@clisp.org>
67671
67672         * build-aux/install-reloc: Remove object files left over by some
67673         compilers.
67674         Reported by Ralf Wildenhues.
67675
67676 2007-03-01  Bruno Haible  <bruno@clisp.org>
67677
67678         * build-aux/install-reloc: Break long lines.
67679
67680 2007-03-01  Bruno Haible  <bruno@clisp.org>
67681
67682         * doc/relocatable.texi: Document that it may not work on OpenBSD.
67683         Reported by Ralf Wildenhues.
67684
67685 2007-03-01  Bruno Haible  <bruno@clisp.org>
67686
67687         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
67688         include ordering constraints.
67689
67690 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
67691
67692         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
67693         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
67694         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
67695         as another example.
67696         * lib/time_.h: Fix misspelling.
67697         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
67698         Require gl_HEADER_TIME_H_DEFAULTS.
67699         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
67700         * m4/time_r.m4 (gl_TIME_R): Likewise.
67701         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
67702
67703 2007-03-01  Bruno Haible  <bruno@clisp.org>
67704
67705         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
67706         * m4/utimens.m4 (gl_UTIMENS): Likewise.
67707
67708 2007-03-01  Jim Meyering  <jim@meyering.net>
67709
67710         * modules/xreadlink (Maintainer): Add my name.
67711         * modules/xreadlink-with-size (Depends-on): Alphabetize.
67712
67713 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
67714             Bruno Haible  <bruno@clisp.org>
67715
67716         * build-aux/install-reloc: Compile also c-ctype.c.
67717         * build-aux/relocatable.sh.in: New file.
67718         * doc/relocatable.texi: New file.
67719         * doc/relocatable-maint.texi: New file.
67720         * doc/gnulib.texi: Include relocatable-maint.texi.
67721         * lib/progreloc.c: Include unistd.h unconditionally.
67722         * lib/relocwrapper.c: Include unistd.h unconditionally.
67723         Include c-ctype.h.
67724         (add_dotbin): Use c_tolower.
67725         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
67726         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
67727         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
67728         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
67729         to m4/relocatable-lib.m4.
67730         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
67731         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
67732         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
67733         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
67734         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
67735         * modules/relocatable: New file.
67736         * modules/relocatable-lib: New file.
67737         * modules/relocatable-script: New file.
67738
67739 2007-02-28  Bruno Haible  <bruno@clisp.org>
67740
67741         Import --enable-relocatable infrastructure.
67742         * build-aux/config.libpath: New file, from GNU gettext.
67743         * build-aux/install-reloc: New file, from GNU gettext.
67744         * build-aux/reloc-ldflags: New file, from GNU gettext.
67745         * lib/relocatable.h: New file, from GNU gettext.
67746         * lib/relocatable.c: New file, from GNU gettext.
67747         * lib/relocwrapper.c: New file, from GNU gettext.
67748         * m4/relocatable.m4: New file, from GNU gettext.
67749
67750 2007-02-28  Bruno Haible  <bruno@clisp.org>
67751
67752         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
67753
67754         * modules/xreadlink: New file, from GNU gettext with modifications.
67755         * lib/xreadlink.c: New file, from GNU gettext.
67756         * lib/xreadlink.h: Add comments.
67757         (xreadlink): New declaration.
67758
67759         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
67760         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
67761         lib/xreadlink-with-size.c.
67762         (configure.ac): Remove gl_XREADLINK invocation.
67763         (Makefile.am): Augment lib_SOURCES.
67764         * m4/xreadlink.m4: Remove file.
67765         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
67766         (xreadlink_with_size): Renamed from xreadink.
67767         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
67768         * modules/canonicalize (Depends-on): Replace xreadlink with
67769         xreadlink-with-size.
67770         * lib/canonicalize.c (canonicalize_filename_mode): Update.
67771
67772 2007-02-25  Jim Meyering  <jim@meyering.net>
67773
67774         * build-aux/announce-gen: When complaining about excess arguments,
67775         list them.
67776
67777 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
67778
67779         * README: Document signed integer overflow situation more
67780         accurately.
67781
67782 2007-02-25  Bruno Haible  <bruno@clisp.org>
67783
67784         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
67785         'a' or 'A' conversion.
67786
67787 2007-02-25  Bruno Haible  <bruno@clisp.org>
67788
67789         * modules/filename: Renamed from modules/pathname.
67790         (Files): Replace lib/pathname.h with lib/filename.h. Replace
67791         lib/concatpath.c with lib/concat-filename.c.
67792         (Makefile.am): Update.
67793         (Include): Replace pathname.h with filename.h.
67794         * lib/filename.h: Renamed from lib/pathname.h.
67795         (concatenated_filename): Renamed from concatenated_pathname.
67796         * lib/concat-filename.c: Renamed from lib/concatpath.c.
67797         (concatenated_filename): Renamed from concatenated_pathname.
67798         * lib/findprog.c: Include filename.h instead of pathname.h.
67799         (find_in_path): Update.
67800         * lib/javacomp.c: Include filename.h instead of pathname.h.
67801         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
67802         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
67803         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
67804         is_oldgcj_14_13_usable, is_javac_usable): Update.
67805         * lib/javaexec.c: Include filename.h instead of pathname.h.
67806         (execute_java_class): Update.
67807         * modules/findprog: Update.
67808         * modules/javacomp: Update.
67809         * modules/javaexec: Update.
67810         * MODULES.html.sh (File system functions): Add 'filename', remove
67811         'pathname'.
67812
67813 2007-02-25  Bruno Haible  <bruno@clisp.org>
67814
67815         * modules/printf-frexpl-tests: New file.
67816         * tests/test-printf-frexpl.c: New file.
67817
67818         * modules/printf-frexpl: New file.
67819         * lib/printf-frexpl.h: New file.
67820         * lib/printf-frexpl.c: New file.
67821         * m4/printf-frexpl.m4: New file.
67822
67823 2007-02-25  Bruno Haible  <bruno@clisp.org>
67824
67825         * modules/printf-frexp-tests: New file.
67826         * tests/test-printf-frexp.c: New file.
67827
67828         * modules/printf-frexp: New file.
67829         * lib/printf-frexp.h: New file.
67830         * lib/printf-frexp.c: New file.
67831         * m4/printf-frexp.m4: New file.
67832
67833 2007-02-25  Bruno Haible  <bruno@clisp.org>
67834
67835         Assume automake >= 1.10 for the tests.
67836         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
67837         * modules/arctwo-tests: Likewise.
67838         * modules/argp-tests: Likewise.
67839         * modules/avltree-list-tests: Likewise.
67840         * modules/avltree-oset-tests: Likewise.
67841         * modules/avltreehash-list-tests: Likewise.
67842         * modules/carray-list-tests: Likewise.
67843         * modules/crc-tests: Likewise.
67844         * modules/des-tests: Likewise.
67845         * modules/gc-arcfour-tests: Likewise.
67846         * modules/gc-arctwo-tests: Likewise.
67847         * modules/gc-des-tests: Likewise.
67848         * modules/gc-hmac-md5-tests: Likewise.
67849         * modules/gc-hmac-sha1-tests: Likewise.
67850         * modules/gc-md2-tests: Likewise.
67851         * modules/gc-md4-tests: Likewise.
67852         * modules/gc-md5-tests: Likewise.
67853         * modules/gc-pbkdf2-sha1-tests: Likewise.
67854         * modules/gc-rijndael-tests: Likewise.
67855         * modules/gc-sha1-tests: Likewise.
67856         * modules/gc-tests: Likewise.
67857         * modules/getaddrinfo-tests: Likewise.
67858         * modules/hmac-md5-tests: Likewise.
67859         * modules/hmac-sha1-tests: Likewise.
67860         * modules/linked-list-tests: Likewise.
67861         * modules/linkedhash-list-tests: Likewise.
67862         * modules/lock-tests: Likewise.
67863         * modules/md2-tests: Likewise.
67864         * modules/md4-tests: Likewise.
67865         * modules/md5-tests: Likewise.
67866         * modules/rbtree-list-tests: Likewise.
67867         * modules/rbtree-oset-tests: Likewise.
67868         * modules/rbtreehash-list-tests: Likewise.
67869         * modules/read-file-tests: Likewise.
67870         * modules/rijndael-tests: Likewise.
67871         * modules/stdint-tests: Likewise.
67872         * modules/tls-tests: Likewise.
67873
67874 2007-02-24  Bruno Haible  <bruno@clisp.org>
67875
67876         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
67877         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
67878         function; instead check whether isnan with a double argument links.
67879         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
67880         function; instead check whether isnan with a 'long double' argument
67881         links.
67882         Reported by Eric Blake <ebb9@byu.net>.
67883
67884 2007-02-24  Bruno Haible  <bruno@clisp.org>
67885
67886         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
67887         defined.
67888         * lib/isnanl.c: Remove all code. Just include isnan.c.
67889         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
67890
67891 2007-02-25  Jim Meyering  <jim@meyering.net>
67892
67893         Avoid conflicting types for 'unsetenv' on FreeBSD.
67894         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
67895         conflicting with FreeBSD's (5.0 and 6.1) function declaration
67896         in stdlib.h.
67897
67898 2007-02-24  Bruno Haible  <bruno@clisp.org>
67899
67900         * modules/isnanl-nolibm-tests: New file.
67901         * tests/test-isnanl.c: New file.
67902
67903         * modules/isnanl-nolibm: New file.
67904         * lib/isnanl.h: New file.
67905         * lib/isnanl.c: New file.
67906         * m4/isnanl.m4: New file.
67907
67908 2007-02-24  Bruno Haible  <bruno@clisp.org>
67909
67910         * modules/isnan-nolibm-tests: New file.
67911         * tests/test-isnan.c: New file.
67912
67913         * modules/isnan-nolibm: New file.
67914         * lib/isnan.h: New file.
67915         * lib/isnan.c: New file.
67916         * m4/isnan.m4: New file.
67917
67918 2007-02-24  Bruno Haible  <bruno@clisp.org>
67919
67920         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
67921         assume that an exponent fits in 20 bits.
67922
67923 2007-02-24  Jim Meyering  <jim@meyering.net>
67924
67925         * m4/regex.m4: Update the description of the configure-time option,
67926         --without-included-regex, to state accurately what the defaults are,
67927         and perhaps to give people an idea why using this option is risky.
67928
67929 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
67930
67931         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
67932         loops on small arguments.  This attempts to avoid the problem
67933         Bruno Haible reported for AIX 4.3.2 in
67934         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
67935
67936 2007-02-23  Bruno Haible  <bruno@clisp.org>
67937
67938         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
67939         Needed for help2man.
67940
67941 2007-02-23  Karl Berry  <karl@gnu.org>
67942
67943         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
67944         exists, foo.h should be cvs-ignored, not committed.
67945
67946 2007-02-23  Eric Blake  <ebb9@byu.net>
67947
67948         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
67949         * lib/stat-time.h (includes): Likewise.
67950         * lib/utimecmp.c (includes): Likewise.
67951         * lib/utimens.h (includes): Likewise.
67952         * lib/getdate.y (includes): Also include "timespec.h" for use
67953         internal to the module.
67954         * modules/utimens (Depends-on): Revert yesterday's patch.
67955         * modules/nanosleep (Depends-on): Add missing dependency.
67956
67957 2007-02-22  Bruno Haible  <bruno@clisp.org>
67958
67959         * lib/glob.c: Don't include getlogin_r.h.
67960
67961 2007-02-22  Jim Meyering  <jim@meyering.net>
67962
67963         * modules/utimens (Depends-on): Add timespec, required for
67964         utimens.h's inclusion of timespec.h.
67965
67966 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
67967
67968         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
67969         long unreadable paths in GNU/Linux.  Problem reported by Andreas
67970         Schwab in
67971         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
67972         I'll try to think of a better way to fix the Solaris problem.
67973
67974         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
67975         like glibc; on Solaris 10, it fails with errno == EINVAL.
67976         POSIX says the behavior is unspecified if the first argument is NULL,
67977         so play it safe and never pass NULL to the system getcwd.
67978
67979 2007-02-21  Jim Meyering  <jim@meyering.net>
67980
67981         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
67982         of gettimeofday.  It would conflict with the one now always
67983         provided via sys_time_.h.  Reported by Matthew Woehlke, as
67984         an IRIX 6.5 build failure.
67985
67986 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
67987
67988         Minor fixups to port to Solaris 10 with Sun C 5.8.
67989         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
67990         * modules/getcwd (Depends-on): Add dirfd.
67991         * lib/putenv.c (putenv): #undef it.
67992         (rpl_putenv): New decl.
67993         (malloc, free): Include <stdlib.h> rather than prototyping separately.
67994
67995 2007-02-20  Bruno Haible  <bruno@clisp.org>
67996
67997         * modules/stdio-tests: New file.
67998         * tests/test-stdio.c: New file.
67999
68000         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
68001         (Depends-on): Add stdio.
68002         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
68003         (Include): Use <stdio.h> instead of vsnprintf.h.
68004         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
68005         HAVE_DECL_VSNPRINTF.
68006         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
68007
68008         * modules/snprintf (Files): Remove lib/snprintf.h.
68009         (Depends-on): Add stdio.
68010         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
68011         (Include): Use <stdio.h> instead of snprintf.h.
68012         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
68013         HAVE_DECL_SNPRINTF.
68014         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
68015         * lib/getaddrinfo.c: Likewise.
68016
68017         * modules/stdio: New file.
68018         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
68019         * lib/snprintf.h: Remove file.
68020         * lib/vsnprintf.h: Remove file.
68021         * lib/.cppi-disable: Remove snprintf.h.
68022         * m4/stdio_h.m4: New file.
68023         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
68024
68025 2007-02-20  Jim Meyering  <jim@meyering.net>
68026
68027         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
68028         used by e.g., mingw.  From Bruno Haible.
68029
68030 2007-02-19  Bruno Haible  <bruno@clisp.org>
68031
68032         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
68033         warnings.
68034         Reported by Ben Pfaff <blp@cs.stanford.edu>.
68035
68036 2007-02-19  Bruno Haible  <bruno@clisp.org>
68037
68038         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
68039         from mingw users.
68040
68041 2007-02-19  Bruno Haible  <bruno@clisp.org>
68042
68043         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
68044         warnings.
68045         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
68046
68047 2007-02-19  Jim Meyering  <jim@meyering.net>
68048
68049         Don't use FD after a successful "fdopendir (fd)".
68050         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
68051         Reset it by calling dirfd on the just-obtained DIR*.
68052
68053         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
68054         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
68055
68056 2007-02-18  Bruno Haible  <bruno@clisp.org>
68057
68058         * lib/readlink.c: Include <unistd.h>.
68059         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
68060         HAVE_READLINK.
68061         * modules/readlink (Depends-on): Add unistd.
68062         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
68063         (Include): Add <unistd.h>.
68064
68065         * lib/getlogin_r.h: Remove file.
68066         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
68067         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
68068         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
68069         HAVE_DECL_GETLOGIN_R.
68070         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
68071         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
68072         (Include): Use <unistd.h> instead of getlogin_r.h.
68073
68074         * lib/getcwd.h: Remove file.
68075         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
68076         * lib/xgetcwd.c: Likewise.
68077         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
68078         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
68079         * modules/getcwd (Files): Remove lib/getcwd.h.
68080         (Depends-on): Add unistd.
68081         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
68082         (Include): Use <unistd.h> instad of getcwd.h.
68083
68084         * lib/ftruncate.c: Include <unistd.h> first.
68085         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
68086         Set HAVE_FTRUNCATE.
68087         * modules/ftruncate (Depends-on): Add unistd.
68088         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
68089
68090         * lib/fchdir.c: Include <unistd.h> first.
68091         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
68092         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
68093         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
68094         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
68095         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
68096
68097         * lib/dup2.c: Include <unistd.h> first.
68098         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
68099         HAVE_DUP2.
68100         * modules/dup2 (Depends-on): Add unistd.
68101         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
68102
68103         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
68104         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
68105         REPLACE_CHOWN. Don't define chown as a macro here.
68106         * modules/chown (Depends-on): Add unistd.
68107         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
68108
68109         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
68110         Add definition for GL_LINK_WARNING.
68111         (chown, dup2): New declarations.
68112         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
68113         link warning.
68114         (ftruncate): New declaration.
68115         (getcwd): New declaration, taken from old getcwd.h.
68116         (getlogin_r): New declaration, taken from old getlogin_r.h.
68117         (readlink): New declaration.
68118         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
68119         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
68120         (gl_PREREQ_UNISTD): Remove macro.
68121         (gl_UNISTD_MODULE_INDICATOR): New macro.
68122         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
68123         many new variables. Don't set UNISTD_H.
68124         * modules/unistd (Description): Change.
68125         (Depends-on): Add link-warning.
68126         (configure.ac): Update.
68127         (Makefile.am): Create unistd.h always. Substitute many new variables
68128         into it.
68129
68130 2007-02-18  Bruno Haible  <bruno@clisp.org>
68131
68132         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
68133         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
68134         HAVE_GETSUBOPT.
68135         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
68136         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
68137         * lib/getsubopt.h: Remove file.
68138         * modules/getsubopt (Files): Remove lib/getsubopt.h.
68139         (Depends-on): Add stdlib.
68140         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
68141         (Includes): Use <stdlib.h> instead of getsubopt.h.
68142         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
68143         Set HAVE_GETSUBOPT.
68144         * lib/getsubopt.c: Don't include getsubopt.h.
68145
68146 2007-02-18  Bruno Haible  <bruno@clisp.org>
68147
68148         * modules/fchdir (Depends-on): Add dup2.
68149
68150 2007-02-18  Bruno Haible  <bruno@clisp.org>
68151
68152         * lib/stdlib_.h: Handle glibc's special invocation convention
68153         specially.
68154
68155 2007-02-18  Bruno Haible  <bruno@clisp.org>
68156
68157         * modules/stdlib-tests: New file.
68158         * tests/test-stdlib.c: New file.
68159
68160         * modules/mkstemp (Files): Remove lib/mkstemp.h.
68161         (Depends-on): Add stdlib.
68162         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
68163         (Includes): Use <stdlib.h> instead of mkstemp.h.
68164         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
68165         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
68166         * lib/mkstemp.c: Don't include mkstemp.h.
68167         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
68168         * lib/stdlib--.h: Don't include mkstemp.h.
68169
68170         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
68171         (Depends-on): Add stdlib.
68172         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
68173         (Includes): Use <stdlib.h> instead of mkdtemp.h.
68174         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
68175         HAVE_MKDTEMP.
68176         * lib/mkdtemp.c: Don't include mkdtemp.h.
68177         * lib/clean-temp.c: Don't include mkdtemp.h.
68178
68179         * modules/exit (Files): Remove lib/exit.h.
68180         (Depends-on): Add stdlib.
68181         (Makefile.am): Remove lib_SOURCES.
68182         (Include): Use <stdlib.h> instead of exit.h.
68183         * lib/argmatch.c: Don't include exit.h.
68184         * lib/execute.c: Likewise.
68185         * lib/pagealign_alloc.c: Likewise.
68186         * lib/pipe.c: Likewise.
68187         * lib/wait-process.c: Likewise.
68188         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
68189         * lib/exitfail.c: Likewise.
68190         * lib/savewd.c: Likewise.
68191         * lib/xsetenv.c: Likewise.
68192
68193         * modules/stdlib: New file.
68194         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
68195         and extra comments about mkstemp().
68196         * lib/exit.h: Remove file.
68197         * lib/mkdtemp.h: Remove file.
68198         * lib/mkstemp.h: Remove file.
68199         * m4/stdlib_h.m4: New file.
68200         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
68201
68202 2007-02-18  Bruno Haible  <bruno@clisp.org>
68203
68204         * modules/math-tests: New file.
68205         * tests/test-math.c: New file.
68206
68207         * modules/math: New file.
68208         * modules/mathl (Files): Remove lib/mathl.h.
68209         (Depends-on): Add math.
68210         (Makefile.am): Don't mention mathl.h.
68211         (Include): Use <math.h> instead of mathl.h.
68212         * lib/math_.h: New file.
68213         * lib/mathl.h: Remove file.
68214         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
68215         mathl.h.
68216         * lib/asinl.c: Likewise.
68217         * lib/atanl.c: Likewise.
68218         * lib/ceill.c: Likewise.
68219         * lib/cosl.c: Likewise.
68220         * lib/expl.c: Likewise.
68221         * lib/floorl.c: Likewise.
68222         * lib/frexpl.c: Likewise.
68223         * lib/ldexpl.c: Likewise.
68224         * lib/logl.c: Likewise.
68225         * lib/sincosl.c: Likewise.
68226         * lib/sinl.c: Likewise.
68227         * lib/sqrtl.c: Likewise.
68228         * lib/tanl.c: Likewise.
68229         * lib/trigl.c: Likewise.
68230         * m4/math_h.m4: New file.
68231         * MODULES.html.sh (Mathematics): Add math.
68232
68233 2007-02-17  Bruno Haible  <bruno@clisp.org>
68234
68235         * modules/wctype-tests: New file.
68236         * tests/test-wctype.c: New file.
68237
68238         * modules/wchar-tests: New file.
68239         * tests/test-wchar.c: New file.
68240
68241         * modules/unistd-tests: New file.
68242         * tests/test-unistd.c: New file.
68243
68244         * modules/time-tests: New file.
68245         * tests/test-time.c: New file.
68246
68247         * modules/sysexits-tests: New file.
68248         * tests/test-sysexits.c: New file.
68249
68250         * modules/sys_time-tests: New file.
68251         * tests/test-sys_time.c: New file.
68252
68253         * modules/sys_stat-tests: New file.
68254         * tests/test-sys_stat.c: New file.
68255
68256         * modules/sys_socket-tests: New file.
68257         * tests/test-sys_socket.c: New file.
68258
68259         * modules/sys_select-tests: New file.
68260         * tests/test-sys_select.c: New file.
68261
68262         * modules/string-tests: New file.
68263         * tests/test-string.c: New file.
68264
68265         * modules/stdbool-tests: New file.
68266         * tests/test-stdbool.c: New file.
68267
68268         * modules/netinet_in-tests: New file.
68269         * tests/test-netinet_in.c: New file.
68270
68271         * modules/inttypes-tests: New file.
68272         * tests/test-inttypes.c: New file.
68273
68274         * modules/fcntl-tests: New file.
68275         * tests/test-fcntl.c: New file.
68276
68277         * modules/byteswap-tests: New file.
68278         * tests/test-byteswap.c: New file.
68279
68280         * modules/arpa_inet-tests: New file.
68281         * tests/test-arpa_inet.c: New file.
68282
68283 2007-02-17  Bruno Haible  <bruno@clisp.org>
68284
68285         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
68286         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
68287         if the corresponding module is not enabled. Emit link warnings if
68288         the function is used nevertheless.
68289         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
68290         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
68291         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
68292         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
68293         * modules/inttypes (Depends-on): Add link-warning.
68294         (Makefile.am): Copy the contents of build-aux/link-warning.h into
68295         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
68296         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
68297         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
68298         * modules/imaxdiv (configure.ac): Likewise.
68299         * modules/strtoimax (configure.ac): Likewise.
68300         * modules/strtoumax (configure.ac): Likewise.
68301
68302 2007-02-17  Bruno Haible  <bruno@clisp.org>
68303
68304         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
68305         gl_STRING_MODULE_INDICATOR_DEFAULTS.
68306         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
68307         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
68308
68309 2007-02-17  Bruno Haible  <bruno@clisp.org>
68310
68311         * modules/link-warning: New file.
68312         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
68313         * lib/string_.h (GL_LINK_WARNING): Remove definition.
68314         * modules/string (Depends-on): Add link-warning.
68315         (Makefile.am): Copy the contents of build-aux/link-warning.h into
68316         string.h.
68317         * MODULES.html.sh (Support for building libraries and executables): Add
68318         link-warning.
68319
68320 2007-02-17  Bruno Haible  <bruno@clisp.org>
68321
68322         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
68323         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
68324         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
68325         long lines.
68326
68327 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
68328             Bruno Haible  <bruno@clisp.org>
68329
68330         * modules/tmpfile: New file.
68331         * lib/tmpfile.c: New file.
68332         * m4/tmpfile.m4: New file.
68333         * MODULES.html.sh (func_all_modules): New section "Input/output".
68334
68335 2007-02-15  Bruno Haible  <bruno@clisp.org>
68336
68337         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
68338         (supports_delete_on_close): New function.
68339         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
68340
68341 2007-02-14  Bruno Haible  <bruno@clisp.org>
68342
68343         * modules/mbspcasecmp-tests: New file.
68344         * tests/test-mbspcasecmp.sh: New file.
68345         * tests/test-mbspcasecmp.c: New file.
68346
68347         New module mbspcasecmp.
68348         * modules/mbspcasecmp: New file.
68349         * lib/mbspcasecmp.c: New file.
68350         * lib/string_.h (strncasecmp): Change warning message.
68351         (mbspcasecmp): New declaration.
68352         * m4/mbspcasecmp.m4: New file.
68353         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
68354         GNULIB_MBSPCASECMP.
68355         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
68356         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
68357
68358 2007-02-14  Bruno Haible  <bruno@clisp.org>
68359
68360         * modules/mbsncasecmp-tests: New file.
68361         * tests/test-mbsncasecmp.sh: New file.
68362         * tests/test-mbsncasecmp.c: New file.
68363
68364         New module mbsncasecmp.
68365         * modules/mbsncasecmp: New file.
68366         * lib/mbsncasecmp.c: New file.
68367         * lib/string_.h (mbsncasecmp): New declaration.
68368         * m4/mbsncasecmp.m4: New file.
68369         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
68370         GNULIB_MBSNCASECMP.
68371         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
68372         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
68373
68374 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
68375
68376         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
68377         Verify that it doesn't overlap with our flags.
68378         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
68379         do not have the desired effect in multibyte locales; instead, use
68380         mbscasecmp.
68381         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
68382         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
68383         we don't require GNU fnmatch ourselves (if our users require it, they
68384         should do so explicitly).
68385
68386         Fix regex code so it doesn't rely on strcasecmp.
68387         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
68388         Otherwise, include gnulib's langinfo.h.
68389         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
68390         undesirable behavior in non-C locales.  Instead, rely on localecharset.
68391         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
68392         * modules/regex (FILES): Remove m4/codeset.m4.
68393         (Depends-on): Add localcharset.  Remove strcase.
68394
68395 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68396
68397         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
68398         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
68399
68400 2007-02-13  Bruno Haible  <bruno@clisp.org>
68401
68402         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
68403         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
68404
68405 2007-02-12  Bruno Haible  <bruno@clisp.org>
68406
68407         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
68408         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
68409         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
68410         time warning rather than a link error.
68411
68412 2007-02-12  Bruno Haible  <bruno@clisp.org>
68413
68414         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
68415         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
68416         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
68417
68418 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
68419
68420         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
68421         args, not 2.
68422
68423 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
68424
68425         New module 'time', so that apps can include <time.h> as per
68426         POSIX and GNU instead of separate include files like time_r.h
68427         and timegm.h.  This implementation tries out a simpler approach
68428         for replacing decls in standard include files (as compared to
68429         the string module), somewhat as an experiment.
68430
68431         * config/srclist.txt: Comment out mktime.c for now.
68432         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
68433         since it doesn't apply any more.  Use generic wording instead.
68434         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
68435         'time'.
68436         * lib/time_.h, m4/time_h.m4, modules/time: New files.
68437         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
68438         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
68439         Don't include <sys/types.h>; no longer needed since we assume C89.
68440         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
68441         * lib/strftime.c: Likewise.
68442         * lib/time_r.c: Likewise.
68443         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
68444         * lib/nanosleep.c: Include <time.h> first, to check interface.
68445         * lib/strptime.c: Likewise.
68446         * lib/time_r.c: Likewise.
68447         * lib/timegm.c: Likewise.
68448         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
68449         needed.
68450         * lib/timegm.c: Don't include timegm.h; no longer needed.
68451         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
68452         time.h now handles any problems in that area.
68453         (struct timespec, nanosleep): Remove; time.h now arranges for these.
68454         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
68455         that time.h defines struct timespec.
68456         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
68457         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
68458         handles that.
68459         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
68460         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
68461         needed.  Set REPLACE_LOCALTIME.
68462         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
68463         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
68464         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
68465         nanosleep; time_h.m4 now does that.  Don't require
68466         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
68467         module handles this now.
68468         * modules/getdate (Depends-on): Remove timespec.  Add time.
68469         * modules/nanosleep (Depends-on): Likewise.
68470         * modules/stat-time (Depends-on): Likewise.
68471         * modules/nanosleep (Include): Include time.h, not timespec.h.
68472         * modules/strptime (Files): Remove lib/strptime.h.
68473         (Depends-on): Add extensions, time.
68474         (Include): Include time.h, not strptime.h.
68475         * modules/time_r (Files): Remove lib/time_r.h.
68476         (Depends-on): Add time.
68477         (Include): Include time.h, not time_r.h.
68478         * modules/timegm: Likewise.
68479         * modules/timespec (Description): Now does timespec-related decls
68480         of our own, instead of struct timespec itself.
68481         (Depends-on): Add time; remove extensions.
68482         (Maintainer): Add self.
68483         * modules/utimecmp (Depends-on): Add time; remove timespec.
68484         * modules/utimens (Depends-on): Likewise.
68485         * modules/xnanosleep (Depends-on): Likewise.
68486
68487 2007-02-11  Bruno Haible  <bruno@clisp.org>
68488
68489         * lib/c-strstr.c: Include allocsa.h.
68490         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
68491         * lib/c-strcasestr.c: Include allocsa.h.
68492         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
68493         * lib/strcasestr.c: Include allocsa.h.
68494         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
68495         * lib/mbsstr.c: Include allocsa.h.
68496         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
68497         allocsa/freesa instead of malloc/free.
68498         * lib/mbscasestr.c: Include allocsa.h.
68499         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
68500         allocsa/freesa instead of malloc/free.
68501         * modules/c-strstr (Depends-on): Add allocsa.
68502         * modules/c-strcasestr (Depends-on): Likewise.
68503         * modules/strcasestr (Depends-on): Likewise.
68504         * modules/mbsstr (Depends-on): Likewise.
68505         * modules/mbscasestr (Depends-on): Likewise.
68506
68507 2007-02-11  Bruno Haible  <bruno@clisp.org>
68508
68509         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
68510
68511         * modules/mbsspn-tests: New file.
68512         * tests/test-mbsspn.sh: New file.
68513         * tests/test-mbsspn.c: New file.
68514
68515 2007-02-11  Bruno Haible  <bruno@clisp.org>
68516
68517         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
68518
68519         * modules/mbspbrk-tests: New file.
68520         * tests/test-mbspbrk.sh: New file.
68521         * tests/test-mbspbrk.c: New file.
68522
68523 2007-02-11  Bruno Haible  <bruno@clisp.org>
68524
68525         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
68526         unneeded cast.
68527
68528         * modules/mbscspn-tests: New file.
68529         * tests/test-mbscspn.sh: New file.
68530         * tests/test-mbscspn.c: New file.
68531
68532 2007-02-11  Bruno Haible  <bruno@clisp.org>
68533
68534         * modules/mbscasecmp-tests: New file.
68535         * tests/test-mbscasecmp.sh: New file.
68536         * tests/test-mbscasecmp.c: New file.
68537
68538 2007-02-11  Bruno Haible  <bruno@clisp.org>
68539
68540         Ensure O(n) worst-case complexity of mbscasestr.
68541         * lib/mbscasestr.c: Include stdbool.h.
68542         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
68543         functions.
68544         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
68545         the bookkeeping indicates that it's worth it.
68546         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
68547
68548         * modules/mbscasestr-tests: New file.
68549         * tests/test-mbscasestr1.c: New file.
68550         * tests/test-mbscasestr2.sh: New file.
68551         * tests/test-mbscasestr2.c: New file.
68552         * tests/test-mbscasestr3.sh: New file.
68553         * tests/test-mbscasestr3.c: New file.
68554         * tests/test-mbscasestr4.sh: New file.
68555         * tests/test-mbscasestr4.c: New file.
68556         * m4/locale-tr.m4: New file.
68557
68558 2007-02-11  Bruno Haible  <bruno@clisp.org>
68559
68560         Ensure O(n) worst-case complexity of mbsstr.
68561         * lib/mbsstr.c: Include stdbool.h.
68562         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
68563         functions.
68564         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
68565         bookkeeping indicates that it's worth it.
68566         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
68567
68568         * modules/mbsstr-tests: New file.
68569         * tests/test-mbsstr1.c: New file.
68570         * tests/test-mbsstr2.sh: New file.
68571         * tests/test-mbsstr2.c: New file.
68572         * tests/test-mbsstr3.sh: New file.
68573         * tests/test-mbsstr3.c: New file.
68574         * m4/locale-fr.m4: New file.
68575
68576 2007-02-11  Bruno Haible  <bruno@clisp.org>
68577
68578         * lib/mbsrchr.c (mbsrchr): Fix bug.
68579
68580         * modules/mbsrchr-tests: New file.
68581         * tests/test-mbsrchr.sh: New file.
68582         * tests/test-mbsrchr.c: New file.
68583
68584 2007-02-11  Bruno Haible  <bruno@clisp.org>
68585
68586         * lib/mbschr.c (mbschr): Fix bug.
68587
68588         * modules/mbschr-tests: New file.
68589         * tests/test-mbschr.sh: New file.
68590         * tests/test-mbschr.c: New file.
68591         * m4/locale-zh.m4: New file.
68592
68593 2007-02-11  Bruno Haible  <bruno@clisp.org>
68594
68595         Support for copying multibyte string iterators.
68596         * lib/mbiter.h: Include <string.h>.
68597         (mbiter_multi_copy): New function.
68598         (mbi_copy): New macro.
68599         * lib/mbuiter.h: Include <string.h>.
68600         (mbuiter_multi_copy): New function.
68601         (mbui_copy): New macro.
68602
68603 2007-02-11  Bruno Haible  <bruno@clisp.org>
68604
68605         New module mbslen.
68606         * modules/mbslen: New file.
68607         * lib/mbslen.c: New file.
68608         * lib/string_.h (mbslen): New declaration.
68609         * m4/mbslen.m4: New file.
68610         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
68611         GNULIB_MBSLEN.
68612         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
68613         * MODULES.html.sh (Internationalization functions): Add mbslen.
68614
68615 2007-02-11  Bruno Haible  <bruno@clisp.org>
68616
68617         Ensure O(n) worst-case complexity of strcasestr substitute.
68618         * lib/strcasestr.c: Include stdbool.h.
68619         (knuth_morris_pratt): New function.
68620         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
68621         bookkeeping indicates that it's worth it.
68622         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
68623
68624         * modules/strcasestr-tests: New file.
68625         * tests/test-strcasestr.c: New file.
68626
68627 2007-02-11  Bruno Haible  <bruno@clisp.org>
68628
68629         Ensure O(n) worst-case complexity of c_strcasestr.
68630         * lib/c-strcasestr.c: Include stdbool.h, string.h.
68631         (knuth_morris_pratt): New function.
68632         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
68633         the bookkeeping indicates that it's worth it.
68634         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
68635
68636         * modules/c-strcasestr-tests: New file.
68637         * tests/test-c-strcasestr.c: New file.
68638
68639 2007-02-11  Bruno Haible  <bruno@clisp.org>
68640
68641         Ensure O(n) worst-case complexity of c_strstr.
68642         * lib/c-strstr.c: Include stdbool.h, string.h.
68643         (knuth_morris_pratt): New function.
68644         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
68645         bookkeeping indicates that it's worth it.
68646         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
68647
68648         * lib/c-strstr.c: Complete rewrite for maintainability.
68649
68650         * modules/c-strstr-tests: New file.
68651         * tests/test-c-strstr.c: New file.
68652
68653 2007-02-11  Bruno Haible  <bruno@clisp.org>
68654
68655         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
68656         5.2.1 and earlier, whereby \055 was treated just like the range
68657         delimiter '-'.
68658         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
68659
68660 2007-02-08  Bruno Haible  <bruno@clisp.org>
68661
68662         * modules/regex (Depends-on): Add stdbool.
68663         Reported by Dalibor Topic <robilad@kaffe.org>.
68664
68665 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
68666
68667         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
68668         Prefer returning from main to exiting from it.
68669         Remove unnecessary parens after sizeof.
68670
68671 2007-02-05  Bruno Haible  <bruno@clisp.org>
68672
68673         New module mbssep.
68674         * modules/mbssep: New file.
68675         * lib/mbssep.c: New file.
68676         * lib/string_.h (strsep): Add a conditional link warning.
68677         (mbssep): New declaration.
68678         * m4/mbssep.m4: New file.
68679         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
68680         GNULIB_MBSSEP.
68681         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
68682         * MODULES.html.sh (Internationalization functions): Add mbssep.
68683
68684 2007-02-05  Bruno Haible  <bruno@clisp.org>
68685
68686         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
68687         Optimize search in case of 1 delimiter.
68688
68689 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
68690
68691         * lib/acl.h: Include sys/types.h before sys/acl.h.
68692
68693 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
68694
68695         Merge upstream fix for glibc bugzilla #3957:
68696
68697         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
68698
68699         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
68700         bit for RE_HAT_LISTS_NOT_NEWLINE.
68701         (build_charclass_op): Remove bogus comment.
68702
68703 2007-02-05  Simon Josefsson  <simon@josefsson.org>
68704
68705         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
68706
68707 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
68708
68709         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
68710         * lib/memmem.c [!defined _LIBC]: Include config.h.
68711
68712 2007-02-04  Bruno Haible  <bruno@clisp.org>
68713
68714         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
68715         warning message.
68716
68717 2007-02-04  Bruno Haible  <bruno@clisp.org>
68718
68719         New module mbstok_r.
68720         * modules/mbstok_r: New file.
68721         * lib/mbstok_r.c: New file.
68722         * lib/string_.h (strtok_r): Change argument names to match the
68723         comments. Add a conditional link warning.
68724         (mbstok_r): New declaration.
68725         * m4/mbstok_r.m4: New file.
68726         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
68727         GNULIB_MBSTOK_R.
68728         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
68729         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
68730
68731 2007-02-04  Bruno Haible  <bruno@clisp.org>
68732
68733         New module mbsspn.
68734         * modules/mbsspn: New file.
68735         * lib/mbsspn.c: New file.
68736         * lib/string_.h (strspn): Add a conditional link warning.
68737         (mbsspn): New declaration.
68738         * m4/mbsspn.m4: New file.
68739         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
68740         GNULIB_MBSSPN.
68741         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
68742         * MODULES.html.sh (Internationalization functions): Add mbsspn.
68743
68744 2007-02-04  Bruno Haible  <bruno@clisp.org>
68745
68746         New module mbspbrk.
68747         * modules/mbspbrk: New file.
68748         * lib/mbspbrk.c: New file.
68749         * lib/string_.h (strpbrk): Add a conditional link warning.
68750         (mbspbrk): New declaration.
68751         * m4/mbspbrk.m4: New file.
68752         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
68753         GNULIB_MBSPBRK.
68754         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
68755         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
68756
68757 2007-02-04  Bruno Haible  <bruno@clisp.org>
68758
68759         New module mbscspn.
68760         * modules/mbscspn: New file.
68761         * lib/mbscspn.c: New file.
68762         * lib/string_.h (strcspn): Add a conditional link warning.
68763         (mbscspn): New declaration.
68764         * m4/mbscspn.m4: New file.
68765         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
68766         GNULIB_MBSCSPN.
68767         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
68768         * MODULES.html.sh (Internationalization functions): Add mbscspn.
68769
68770 2007-02-04  Bruno Haible  <bruno@clisp.org>
68771
68772         New module mbscasestr, reduced goal of strcasestr.
68773         * modules/mbscasestr: New file.
68774         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
68775         (mbscasestr): Renamed from strcasestr.
68776         * lib/strcasestr.c: Don't include mbuiter.h.
68777         (strcasestr): Remove support for multibyte locales.
68778         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
68779         Change the conditional link warning.
68780         (mbscasestr): New declaration.
68781         * m4/mbscasestr.m4: New file.
68782         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
68783         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
68784         REPLACE_STRCASESTR.
68785         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
68786         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
68787         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
68788         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
68789         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
68790         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
68791         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
68792         (Depends-on): Remove mbuiter.
68793         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
68794
68795 2007-02-04  Bruno Haible  <bruno@clisp.org>
68796
68797         Simplify handling of strncasecmp.
68798         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
68799         the conditional link warning.
68800         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
68801         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
68802         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
68803         * modules/strcase (configure.ac): Don't invoke
68804         gl_STRING_MODULE_INDICATOR.
68805         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
68806
68807 2007-02-04  Bruno Haible  <bruno@clisp.org>
68808
68809         New module mbscasecmp, reduced goal of strcasecmp.
68810         * modules/mbscasecmp: New file.
68811         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
68812         (mbscasecmp): Renamed from strcasecmp.
68813         * lib/strcasecmp.c: Don't include mbuiter.h.
68814         (strcasecmp): Remove support for multibyte locales.
68815         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
68816         Change the conditional link warning.
68817         (mbscasecmp): New declaration.
68818         * m4/mbscasecmp.m4: New file.
68819         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
68820         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
68821         REPLACE_STRCASECMP.
68822         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
68823         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
68824         GNULIB_MBSCASECMP.
68825         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
68826         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
68827         * modules/strcase (Files): Remove m4/mbrtowc.m4.
68828         (Depends-on): Remove mbuiter.
68829         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
68830
68831 2007-02-04  Bruno Haible  <bruno@clisp.org>
68832
68833         New module mbsstr. Remove module strstr.
68834         * modules/mbsstr: New file.
68835         * modules/strstr: Remove file.
68836         * lib/mbsstr.c: Renamed from lib/strstr.c.
68837         (mbsstr): Renamed from strstr.
68838         * lib/string_.h (strstr): Remove declaration. Change the conditional
68839         link warning.
68840         (mbsstr): New declaration.
68841         * m4/mbsstr.m4: New file.
68842         * m4/strstr.m4: Remove file.
68843         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
68844         REPLACE_STRSTR.
68845         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
68846         Don't initialize GNULIB_STRSTR.
68847         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
68848         substitute GNULIB_STRSTR and REPLACE_STRSTR.
68849         * MODULES.html.sh (Internationalization functions): Add mbsstr.
68850         (Support for systems lacking ANSI C 89): Remove strstr.
68851
68852 2007-02-04  Bruno Haible  <bruno@clisp.org>
68853
68854         New module mbsrchr.
68855         * modules/mbsrchr: New file.
68856         * lib/mbsrchr.c: New file.
68857         * lib/string_.h (strrchr): Add a conditional link warning.
68858         (mbsrchr): New declaration.
68859         * m4/mbsrchr.m4: New file.
68860         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
68861         GNULIB_MBSRCHR.
68862         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
68863         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
68864
68865 2007-02-04  Bruno Haible  <bruno@clisp.org>
68866
68867         New module mbschr.
68868         * modules/mbschr: New file.
68869         * lib/mbschr.c: New file.
68870         * lib/string_.h (strchr): Add a conditional link warning.
68871         (mbschr): New declaration.
68872         * m4/mbschr.m4: New file.
68873         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
68874         GNULIB_MBSCHR.
68875         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
68876         * MODULES.html.sh (Internationalization functions): Add mbschr.
68877
68878 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
68879
68880         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
68881
68882         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
68883
68884 2007-02-04  Bruno Haible  <bruno@clisp.org>
68885
68886         New module description section 'configure.ac-early'.
68887         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
68888         (func_get_autoconf_early_snippet): New function.
68889         (func_import, func_create_testdir): Use it. Remove special cases for
68890         modules 'extensions' and 'lock'.
68891         * modules/extensions (configure.ac-early): Require
68892         gl_USE_SYSTEM_EXTENSIONS.
68893         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
68894
68895 2007-02-04  Bruno Haible  <bruno@clisp.org>
68896
68897         Make use of gcj-4.3's -fsource and -ftarget option.
68898         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
68899         and if so try the options -fsource and -ftarget.
68900         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
68901         source_version, ftarget_option, target_version arguments.
68902         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
68903         (is_envjavac_oldgcj_14_14_usable): Renamed from
68904         is_envjavac_gcj_14_14_usable.
68905         (is_envjavac_oldgcj_14_13_usable): Renamed from
68906         is_envjavac_gcj_14_13_usable.
68907         (is_gcj_present): Update.
68908         (is_gcj_43, is_gcj43_usable): New functions.
68909         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
68910         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
68911         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
68912         try the options -fsource and -ftarget.
68913
68914 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
68915
68916         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
68917         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
68918         larger value.
68919
68920 2007-02-03  Jim Meyering  <jim@meyering.net>
68921
68922         Give tools a better chance to allocate space for very large buffers.
68923         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
68924
68925         Make pwd and readlink work also when run with an unreadable parent dir
68926         on systems with openat support.
68927         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
68928         provided getcwd function, even when we have openat support.
68929         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
68930
68931 2007-02-02  Bruno Haible  <bruno@clisp.org>
68932
68933         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
68934         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
68935         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
68936         portability problems if one of these functions is only used on specific
68937         platforms.
68938         Reported by Paul Eggert.
68939
68940 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
68941
68942         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
68943         is causing more trouble than it's curing.
68944         * lib/regex_internal.h (__mempcpy): Remove.
68945         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
68946         (and make the code a tad smaller to boot).
68947         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
68948
68949 2007-02-02  Jim Meyering  <jim@meyering.net>
68950
68951         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
68952         section, not in the Makefile.am: one.
68953
68954 2007-02-02  Eric Blake  <ebb9@byu.net>
68955
68956         * lib/strchrnul.c: Always include config.h first.
68957
68958         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
68959         gnulib strstr is not necessary here.
68960
68961 2007-02-02  Simon Josefsson  <simon@josefsson.org>
68962
68963         * m4/socklen.m4: Fix typo.
68964
68965 2007-02-02  Eric Blake  <ebb9@byu.net>
68966
68967         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
68968         * modules/netinet_in (Makefile.am): Likewise.
68969
68970 2007-02-01  Bruno Haible  <bruno@clisp.org>
68971
68972         * lib/string_.h (GL_LINK_WARNING): New macro.
68973         (strcasecmp, strstr, strcasestr): If provided by the system,
68974         conditionally define as a macro that leads to a warning instead of to
68975         an error.
68976         (strncasecmp): Conditionally define as a macro that leads to a warning.
68977
68978 2007-02-01  Karl Berry  <karl@gnu.org>
68979
68980         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
68981
68982 2007-02-01  Bruno Haible  <bruno@clisp.org>
68983
68984         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
68985         renamings.
68986
68987 2007-02-01  Eric Blake  <ebb9@byu.net>
68988
68989         * modules/regex (Depends-on): Revert dependence on mempcpy.
68990         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
68991         module's definition of mempcpy.
68992         Reported by Paul Eggert.
68993
68994 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
68995
68996         * lib/string_.h: If the gnulib module XYZ is not present, undefine
68997         the symbol XYZ before redefining it.  This fixes a problem with
68998         programs that don't use XYZ, when compiled on systems that define
68999         XYZ to something else.
69000
69001 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
69002
69003         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
69004         occurs when "mkdir -m foo" creates a setgid directory that is (1)
69005         writeable to group or other and (2) is intended to have a special
69006         mode bit that is set or cleared.  In such a case, the directory
69007         should be neither group- nor other-writeable until the special
69008         mode bits are right.
69009
69010 2007-01-31  Eric Blake  <ebb9@byu.net>
69011
69012         * modules/mountlist (Depends-on): Add strstr.
69013
69014         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
69015         bug.
69016         * modules/string (Makefile.am): Remove redundant replacement.
69017         * modules/regex (Depends-on): Add mempcpy.
69018
69019 2007-01-31  Bruno Haible  <bruno@clisp.org>
69020
69021         New module description field 'Link'.
69022         * gnulib-tool (func_usage): Document --extract-link-directive.
69023         (sed_extract_prog): Recognize 'Link' directive.
69024         (func_get_link_directive): New function.
69025         (func_import): Show summary of link directives.
69026         Handle --extract-link-directive option.
69027         * modules/acl (Link): New section.
69028         * modules/clock-time (Link): New section.
69029         * modules/euidaccess (Link): New section.
69030         * modules/gettext (Link): New section.
69031         * modules/iconv (Link): New section.
69032         * modules/lock (Link): New section.
69033         * modules/nanosleep (Link): New section.
69034         * modules/readline (Link): New section.
69035
69036 2007-01-27  Bruno Haible  <bruno@clisp.org>
69037
69038         Enforce the use of gnulib modules for unportable <string.h> functions.
69039         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
69040         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
69041         (gl_HEADER_STRING_H_BODY): Require it.
69042         * lib/string_.h: If the gnulib module XYZ is not present, redefine
69043         the symbol XYZ to one that gives a link error.
69044         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
69045         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
69046         * modules/mempcpy (configure.ac): Likewise.
69047         * modules/memrchr (configure.ac): Likewise.
69048         * modules/stpcpy (configure.ac): Likewise.
69049         * modules/stpncpy (configure.ac): Likewise.
69050         * modules/strcase (configure.ac): Likewise.
69051         * modules/strcasestr (configure.ac): Likewise.
69052         * modules/strchrnul (configure.ac): Likewise.
69053         * modules/strdup (configure.ac): Likewise.
69054         * modules/strndup (configure.ac): Likewise.
69055         * modules/strnlen (configure.ac): Likewise.
69056         * modules/strpbrk (configure.ac): Likewise.
69057         * modules/strsep (configure.ac): Likewise.
69058         * modules/strstr (configure.ac): Likewise.
69059         * modules/strtok_r (configure.ac): Likewise.
69060
69061 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
69062
69063         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
69064
69065 2007-01-30  Jim Meyering  <jim@meyering.net>
69066
69067         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
69068
69069 2007-01-29  Bruno Haible  <bruno@clisp.org>
69070
69071         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
69072         * lib/execute.c: Likewise.
69073         * lib/pipe.c: Likewise.
69074         * lib/printf-args.h: Likewise.
69075         * lib/printf-args.c: Likewise.
69076         * lib/printf-parse.c: Likewise.
69077         * lib/vasnprintf.c: Likewise.
69078
69079 2007-01-29  Eric Blake  <ebb9@byu.net>
69080
69081         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
69082         declaration.
69083
69084 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
69085
69086         * lib/strptime.h (strptime): Use 'restrict' for args where
69087         POSIX requires this.
69088         * lib/strptime.c (strptime): Likewise.
69089         Change license notice from LGPL to GPL, since gnulib-tool will
69090         change this as needed.
69091         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
69092         defined.
69093         Include "strptime.h" first, to check interface.
69094         Do not #undef _LIBC and _NL_CURRENT.
69095         Do not include <stdlib.h>; no longer needed.
69096         Include "time_r.h" and declare ptime_locale_status
69097         only if _LIBC is not defined.
69098         (__P): Remove unused macro.
69099         (match_string): Bring back glibc version, but use it only if _LIBC
69100         is defined.
69101         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
69102         Remove unnecessary assertion and abort() call.
69103         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
69104         * m4/strptime.m4: Fix serial number comment.
69105         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
69106         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
69107         (Depends-on): Add time_r.
69108
69109 2007-01-29  Bruno Haible  <bruno@clisp.org>
69110
69111         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
69112         strptime.
69113         * modules/strptime (Depends-on): Add stdbool.
69114         * lib/strptime.h: Include <time.h> always. Add comments.
69115
69116 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
69117
69118         * modules/strptime: New file.
69119         * lib/strptime.h: New file.
69120         * lib/strptime.c: New file.
69121         * m4/strptime.m4: New file.
69122
69123 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
69124
69125         * MODULES.html.sh: New module mpsort.
69126         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
69127
69128         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
69129         a circularity problem with HP-UX ia64 reported by Bob Proulx in
69130         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
69131         All uses changed.
69132         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
69133         All uses changed.
69134         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
69135         to _Restrict_.
69136         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
69137         the parameter matches the prototype.
69138
69139 2007-01-28  Jim Meyering  <jim@meyering.net>
69140
69141         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
69142         sys/time.h here, reverting that part of the previous patch:
69143         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
69144
69145 2007-01-28  Bruno Haible  <bruno@clisp.org>
69146
69147         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
69148         value of $(SYS_TIME_H).
69149         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
69150         remove it conditionally, too. [added by Jim Meyering]
69151         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
69152         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
69153         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
69154         GETTIMEOFDAY_REPLACEMENT to 1.
69155
69156 2007-01-28  Bruno Haible  <bruno@clisp.org>
69157
69158         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
69159         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
69160         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
69161         Set UNISTD_H instead of UNISTD_H2.
69162         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
69163
69164 2007-01-28  Bruno Haible  <bruno@clisp.org>
69165
69166         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
69167         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
69168
69169 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69170
69171         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
69172         (func_create_testdir): Ensure C locale for `grep' and `tr'
69173         character ranges.
69174         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
69175         ACLOCAL_AMFLAGS parsing state machine.
69176
69177 2007-01-27  Bruno Haible  <bruno@clisp.org>
69178
69179         * modules/unistr/base: Update.
69180
69181 2007-01-27  Bruno Haible  <bruno@clisp.org>
69182
69183         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
69184         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
69185         * modules/unistr/u32-mbtouc-unsafe: Renamed from
69186         modules/unistr/u32-mbtouc.
69187         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
69188         * lib/unistr.h: Update.
69189         * lib/linebreak.c: Update.
69190         * modules/unistr/u32-mbtouc: Renamed from
69191         modules/unistr/u32-mbtouc-safe.
69192         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
69193         * lib/unistr.h: Update.
69194         * lib/unistr/u32-to-u8.c: Update.
69195         * lib/unistr/u32-to-u16.c: Update.
69196
69197 2007-01-27  Bruno Haible  <bruno@clisp.org>
69198
69199         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
69200         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
69201         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
69202         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
69203         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
69204         * modules/unistr/u16-mbtouc-unsafe: Renamed from
69205         modules/unistr/u16-mbtouc.
69206         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
69207         * lib/unistr.h: Update.
69208         * lib/linebreak.c: Update.
69209         * modules/linebreak: Update.
69210         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
69211         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
69212         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
69213         * modules/unistr/u16-mbtouc: Renamed from
69214         modules/unistr/u16-mbtouc-safe.
69215         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
69216         * lib/unistr.h: Update.
69217         * lib/unistr/u16-to-u8.c: Update.
69218         * modules/unistr/u16-to-u8: Update.
69219         * lib/unistr/u16-to-u32.c: Update.
69220         * modules/unistr/u16-to-u32: Update.
69221
69222 2007-01-27  Bruno Haible  <bruno@clisp.org>
69223
69224         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
69225         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
69226         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
69227         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
69228         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
69229         * modules/unistr/u8-mbtouc-unsafe: Renamed from
69230         modules/unistr/u8-mbtouc.
69231         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
69232         * lib/unistr.h: Update.
69233         * lib/striconveh.c: Update.
69234         * modules/striconveh: Update.
69235         * lib/linebreak.c: Update.
69236         * modules/linebreak: Update.
69237         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
69238         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
69239         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
69240         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
69241         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
69242         * lib/unistr.h: Update.
69243         * lib/striconveh.c: Update.
69244         * modules/striconveh: Update.
69245         * lib/unistr/u8-to-u16.c: Update.
69246         * modules/unistr/u8-to-u16: Update.
69247         * lib/unistr/u8-to-u32.c: Update.
69248         * modules/unistr/u8-to-u32: Update.
69249
69250 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69251
69252         Sync from Libtool.
69253         * lib/argz.c: Do not include strings.h nor memory.h, include
69254         string.h unconditionally.  Patch by Simon Josefsson.
69255
69256 2007-01-27  Bruno Haible  <bruno@clisp.org>
69257
69258         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
69259         from gl_HEADER_STRING_H_BODY.
69260         (gl_HEADER_STRING_H_BODY): Require it.
69261         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
69262         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
69263         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
69264         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
69265         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
69266         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
69267         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
69268         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
69269         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
69270         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
69271         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
69272         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
69273         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
69274         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
69275         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
69276
69277 2007-01-27  Bruno Haible  <bruno@clisp.org>
69278
69279         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
69280         check_PROGRAMS into noinst_PROGRAMS.
69281         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
69282         check_PROGRAMS in this case.
69283         (func_import): Set for_test to false.
69284         (func_create_testdir): Set for_test to true.
69285
69286 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
69287             Bruno Haible  <bruno@clisp.org>
69288
69289         * modules/strcasestr (Files): Remove lib/strcasestr.h.
69290         (Depends-on): Add string.
69291         (Includes): Use <string.h> instead of strcasestr.h.
69292         * modules/string (Makefile.am): Also substitute the value of
69293         REPLACE_STRCASESTR.
69294         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
69295         assume strcasestr is declared in <string.h> not <strings.h>. Also
69296         set REPLACE_STRCASESTR.
69297         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
69298         REPLACE_STRCASESTR.
69299         * lib/strcasestr.h: Remove file.
69300         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
69301         * lib/string_.h (strcasestr): New declaration.
69302
69303 2007-01-27  Bruno Haible  <bruno@clisp.org>
69304
69305         * lib/string_.h: Use 'extern'.
69306
69307 2007-01-27  Jim Meyering  <jim@meyering.net>
69308
69309         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
69310         of set-but-not-used local, "q".
69311
69312         * lib/mempcpy.c: Include <config.h> before <string.h>.
69313         This fixes a compilation error on HP-UX, due to the system's
69314         "restrict"-using mempcpy prototype.
69315
69316 2007-01-26  Bruno Haible  <bruno@clisp.org>
69317
69318         Small optimization.
69319         * lib/javacomp.c: Include c-strstr.h.
69320          (is_envjavac_gcj): Use c_strstr instead of strstr.
69321         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
69322
69323 2007-01-26  Bruno Haible  <bruno@clisp.org>
69324
69325         * MODULES.html.sh (Unicode string functions): Add the new modules.
69326
69327         * modules/uniconv/u32-strconv-to-locale: New file.
69328         * lib/uniconv/u32-strconv-to-locale.c: New file.
69329
69330         * modules/uniconv/u16-strconv-to-locale: New file.
69331         * lib/uniconv/u16-strconv-to-locale.c: New file.
69332
69333         * modules/uniconv/u8-strconv-to-locale: New file.
69334         * lib/uniconv/u8-strconv-to-locale.c: New file.
69335
69336         * modules/uniconv/u32-strconv-from-locale: New file.
69337         * lib/uniconv/u32-strconv-from-locale.c: New file.
69338
69339         * modules/uniconv/u16-strconv-from-locale: New file.
69340         * lib/uniconv/u16-strconv-from-locale.c: New file.
69341
69342         * modules/uniconv/u8-strconv-from-locale: New file.
69343         * lib/uniconv/u8-strconv-from-locale.c: New file.
69344
69345         * modules/uniconv/u32-strconv-to-enc: New file.
69346         * lib/uniconv/u32-strconv-to-enc.c: New file.
69347         * modules/uniconv/u32-strconv-to-enc-tests: New file.
69348         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
69349
69350         * modules/uniconv/u16-strconv-to-enc: New file.
69351         * lib/uniconv/u16-strconv-to-enc.c: New file.
69352         * lib/uniconv/u-strconv-to-enc.h: New file.
69353         * modules/uniconv/u16-strconv-to-enc-tests: New file.
69354         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
69355
69356         * modules/uniconv/u8-strconv-to-enc: New file.
69357         * lib/uniconv/u8-strconv-to-enc.c: New file.
69358         * modules/uniconv/u8-strconv-to-enc-tests: New file.
69359         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
69360
69361         * modules/uniconv/u32-strconv-from-enc: New file.
69362         * lib/uniconv/u32-strconv-from-enc.c: New file.
69363         * modules/uniconv/u32-strconv-from-enc-tests: New file.
69364         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
69365
69366         * modules/uniconv/u16-strconv-from-enc: New file.
69367         * lib/uniconv/u16-strconv-from-enc.c: New file.
69368         * modules/uniconv/u16-strconv-from-enc-tests: New file.
69369         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
69370
69371         * modules/uniconv/u8-strconv-from-enc: New file.
69372         * lib/uniconv/u8-strconv-from-enc.c: New file.
69373         * lib/uniconv/u-strconv-from-enc.h: New file.
69374         * modules/uniconv/u8-strconv-from-enc-tests: New file.
69375         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
69376
69377         * modules/uniconv/u32-conv-from-enc: New file.
69378         * lib/uniconv/u32-conv-from-enc.c: New file.
69379         * modules/uniconv/u32-conv-from-enc-tests: New file.
69380         * tests/uniconv/test-u32-conv-from-enc.c: New file.
69381
69382         * modules/uniconv/u16-conv-from-enc: New file.
69383         * lib/uniconv/u16-conv-from-enc.c: New file.
69384         * lib/uniconv/u-conv-from-enc.h: New file.
69385         * modules/uniconv/u16-conv-from-enc-tests: New file.
69386         * tests/uniconv/test-u16-conv-from-enc.c: New file.
69387
69388         * modules/uniconv/u8-conv-from-enc: New file.
69389         * lib/uniconv/u8-conv-from-enc.c: New file.
69390         * modules/uniconv/u8-conv-from-enc-tests: New file.
69391         * tests/uniconv/test-u8-conv-from-enc.c: New file.
69392
69393         * modules/uniconv/base: New file.
69394         * lib/uniconv.h: New file.
69395
69396 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
69397
69398         * doc/gnulib-tool.texi (Initial import): Update to match current
69399         behavior with strdup module.
69400         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
69401         * lib/memmem.h: Remove; all uses removed.  This is now done
69402         by <string.h>.
69403         * lib/mempcpy.h: Likewise.
69404         * lib/memrchr.h: Likewise.
69405         * lib/stpcpy.h: Likewise.
69406         * lib/stpncpy.h: Likewise.
69407         * lib/strcase.h: Likewise.
69408         * lib/strchrnul.h: Likewise.
69409         * lib/strdup.h: Likewise.
69410         * lib/strndup.h: Likewise.
69411         * lib/strnlen.h: Likewise.
69412         * lib/strpbrk.h: Likewise.
69413         * lib/strsep.h: Likewise.
69414         * lib/strstr.h: Likewise.
69415         * lib/strtok_r.h: Likewise.
69416         * lib/string_.h: New file.
69417         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
69418         Rely on <string.h> instead.
69419         * lib/canon-host.c: Likewise.
69420         * lib/chdir-long.c: Likewise.
69421         * lib/concatpath.c: Likewise.
69422         * lib/exclude.c: Likewise.
69423         * lib/fchdir.c: Likewise.
69424         * lib/getaddrinfo.c: Likewise.
69425         * lib/getcwd.c: Likewise.
69426         * lib/getsubopt.c: Likewise.
69427         * lib/glob.c: Likewise.
69428         * lib/hard-locale.c: Likewise.
69429         * lib/iconvme.c: Likewise.
69430         * lib/javacomp.c: Likewise.
69431         * lib/mempcpy.c: Likewise.
69432         * lib/memrchr.c: Likewise.
69433         * lib/regex_internal.h: Likewise.
69434         * lib/stpncpy.c: Likewise.
69435         * lib/strcasecmp.c: Likewise.
69436         * lib/strchrnul.c: Likewise.
69437         * lib/strdup.c: Likewise.
69438         * lib/striconv.c: Likewise.
69439         * lib/striconveh.c: Likewise.
69440         * lib/striconveha.c: Likewise.
69441         * lib/strncasecmp.c: Likewise.
69442         * lib/strndup.c: Likewise.
69443         * lib/strnlen.c: Likewise.
69444         * lib/strsep.c: Likewise.
69445         * lib/strstr.c: Likewise.
69446         * lib/strtok_r.c: Likewise.
69447         * lib/userspec.c: Likewise.
69448         * lib/w32spawn.h: Likewise.
69449         * lib/xstrndup.c: Likewise.
69450         * lib/mountlist.c (strstr): Remove decl.
69451         * m4/string_h.m4: New file.
69452         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
69453         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
69454         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
69455         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
69456         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
69457         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
69458         Set REPLACE_STRCASECMP if necessary.
69459         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
69460         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
69461         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
69462         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
69463         HAVE_DECL_STRDUP if necessary.
69464         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
69465         since gl_FUNC_STRNDUP does that now.
69466         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
69467         Check for decl here...
69468         (gl_PREREQ_STRNLEN): ... not here.
69469         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
69470         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
69471         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
69472         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
69473         necessary.
69474         * modules/string: New file.
69475         * modules/memmem (Files): Remove special-purpose include file.
69476         (Depends-on): Add string.
69477         (Include): Include <string.h>, not the removed file.
69478         * modules/mempcpy: Likewise.
69479         * modules/memrchr: Likewise.
69480         * modules/stpcpy: Likewise.
69481         * modules/stpncpy: Likewise.
69482         * modules/strcase: Likewise.
69483         * modules/strchrnul: Likewise.
69484         * modules/strdup: Likewise.
69485         * modules/strndup: Likewise.
69486         * modules/strnlen: Likewise.
69487         * modules/strpbrk: Likewise.
69488         * modules/strsep: Likewise.
69489         * modules/strstr: Likewise.
69490         * modules/strtok_r: Likewise.
69491         * tests/test-dirname.c: Don't include "strdup.h", since
69492         <string.h> now suffices.
69493         * tests/test-memmem.c: Don't include "memmem.h", since
69494         <string.h> now suffices.
69495
69496 2007-01-25  Bruno Haible  <bruno@clisp.org>
69497
69498         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
69499         *resultp is 0.
69500
69501         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
69502         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
69503         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
69504         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
69505
69506         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
69507         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
69508         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
69509         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
69510         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
69511         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
69512
69513 2007-01-24  Bruno Haible  <bruno@clisp.org>
69514
69515         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
69516         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
69517         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
69518         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
69519         gl_FUNC_FTS_CORE.
69520         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
69521         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
69522         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
69523         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
69524         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
69525         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
69526         gl_FUNC_FCHOWNAT.
69527         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
69528         gl_FUNC_STRFTIME.
69529         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
69530         Reported by Ralf Wildenhues.
69531
69532 2007-01-24  Bruno Haible  <bruno@clisp.org>
69533
69534         Drop AC_REQUIRE calls that are redundant with the module dependencies.
69535         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
69536         gl_GETADDRINFO.
69537         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
69538         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
69539         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
69540
69541 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
69542
69543         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
69544         Don't use 'exit'; just return from 'main'.
69545         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
69546
69547         * lib/fnmatch_.h: Readjust white space and comments to match
69548         glibc, to avoid spurious diffs.
69549
69550 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
69551
69552         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
69553         2004-12-01 change by Jakub Jelinek, since this code won't compile
69554         if !LIBC.  Problem reported by Bob Proulx.
69555
69556 2007-01-23  Bruno Haible  <bruno@clisp.org>
69557
69558         * lib/striconveh.c: Include c-strcaseeq.h.
69559         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
69560         * modules/striconveh (Depends-on): Add c-strcaseeq.
69561
69562 2007-01-23  Bruno Haible  <bruno@clisp.org>
69563
69564         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
69565
69566         * modules/c-strcaseeq: New file.
69567         * lib/c-strcaseeq.h: New file.
69568
69569         * modules/streq: New file.
69570         * lib/streq.h: New file.
69571
69572 2007-01-23  Bruno Haible  <bruno@clisp.org>
69573
69574         * modules/striconveha-tests: New file.
69575         * tests/test-striconveha.c: New file.
69576
69577         * lib/striconveha.h: Include <stdbool.h>.
69578         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
69579         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
69580         (mem_iconveha_notranslit): Renamed from mem_iconveha.
69581         (mem_iconveha): New function.
69582         (str_iconveha_notranslit): Renamed from str_iconveha.
69583         (str_iconveha): New function.
69584         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
69585         c-strcase.
69586
69587 2007-01-23  Bruno Haible  <bruno@clisp.org>
69588
69589         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
69590         encodings without forgiving before trying any encoding with handler.
69591         (str_iconveha): Try all encodings without forgiving before trying any
69592         encoding with handler.
69593
69594 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
69595
69596         Import the following changes from libc.
69597
69598         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
69599
69600         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
69601
69602         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
69603
69604         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
69605         normal_bracket label.
69606
69607         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
69608
69609         [BZ #361]
69610         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
69611         to normal_bracket after fetching the next character.
69612
69613 2007-01-22  Bruno Haible  <bruno@clisp.org>
69614
69615         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
69616         argument.
69617         * lib/striconveh.c (iconv_carefully_1): New function.
69618         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
69619         argument.
69620         (str_cd_iconveh): Update.
69621         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
69622         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
69623         * tests/test-striconveh.c (MAGIC): New macro.
69624         (new_offsets): New function.
69625         (main): Test call with and without offsets.
69626
69627 2007-01-22  Bruno Haible  <bruno@clisp.org>
69628
69629         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
69630         * modules/sys_select (Makefile.am): Likewise.
69631         * modules/sys_socket (Makefile.am): Likewise.
69632         * modules/sys_time (Makefile.am): Likewise.
69633
69634 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
69635
69636         * modules/gettimeofday (License): Change from GPL to LGPL, since
69637         gettimeofday is a library function.
69638
69639 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69640
69641         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
69642
69643 2007-01-21  Bruno Haible  <bruno@clisp.org>
69644
69645         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
69646
69647 2007-01-21  Bruno Haible  <bruno@clisp.org>
69648
69649         * modules/striconveha: New file.
69650         * lib/striconveha.h: New file.
69651         * lib/striconveha.c: New file.
69652         * MODULES.html.sh (Internationalization functions): Add striconveha.
69653         * lib/striconv.c (str_iconv): Optimize the case of an empty input
69654         string.
69655         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
69656
69657 2007-01-21  Bruno Haible  <bruno@clisp.org>
69658
69659         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
69660         * lib/striconveh.c (str_iconveh): Likewise.
69661
69662 2007-01-21  Bruno Haible  <bruno@clisp.org>
69663
69664         * lib/striconveh.h (mem_iconveh): New declaration.
69665         * lib/striconveh.c (mem_iconveh): New function.
69666         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
69667
69668 2007-01-21  Bruno Haible  <bruno@clisp.org>
69669
69670         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
69671
69672         * lib/striconveh.h (mem_cd_iconveh): Change specification.
69673         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
69674         original result buffer.
69675         (str_cd_iconveh): Update.
69676         * tests/test-striconveh.c (main): Update.
69677
69678         * lib/striconv.h (mem_cd_iconv): Change specification.
69679         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
69680         result buffer.
69681         (str_cd_iconv): Update.
69682         * tests/test-striconv.c (main): Update.
69683
69684 2007-01-21  Bruno Haible  <bruno@clisp.org>
69685
69686         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
69687
69688 2007-01-20  Jim Meyering  <jim@meyering.net>
69689
69690         * lib/userspec.c (parse_with_separator): If a user or group string
69691         starts with "+", skip the corresponding name-to-ID look-up, since
69692         such a look-up must fail: user and group names may not include "+".
69693
69694 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
69695
69696         * lib/poll.c: Include sys/time.h and time.h unconditionally,
69697         since we now assume the sys_time module.
69698         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
69699         check for sys/time.h; no longer needed.
69700         * modules/poll (Depends-on): Depend on sys_time.
69701
69702 2007-01-18  Bruno Haible  <bruno@clisp.org>
69703
69704         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
69705         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
69706
69707         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
69708         gettimeofday.
69709
69710         * tests/test-gettimeofday.c: Include <time.h>.
69711         (dummy): Remove variable.
69712
69713         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
69714         gl_HEADER_SYS_TIME_H.
69715         (gl_HEADER_SYS_TIME_H): New macro.
69716
69717         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
69718         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
69719         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
69720         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
69721         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
69722         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
69723         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
69724         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
69725         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
69726         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
69727         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
69728
69729         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
69730         last change; it caused a compilation error when cross-compiling to
69731         Cygwin.
69732
69733 2007-01-18  Jim Meyering  <jim@meyering.net>
69734
69735         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
69736         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
69737         than the race-prone "test -d sys || mkdir sys".
69738         (configure.ac): Use AC_PROG_MKDIR_P.
69739         * modules/sys_select: Likewise.
69740         * modules/sys_socket: Likewise.
69741         * modules/sys_time: Likewise.
69742
69743 2007-01-18  Eric Blake  <ebb9@byu.net>
69744
69745         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
69746         replace gettimeofday.
69747         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
69748         name, to avoid infinite recursion.
69749
69750 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
69751
69752         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
69753         module sys_time.
69754         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
69755         assume timespec.h defines struct timeval.
69756         * lib/settime.c: Likewise.
69757         * lib/utimens.c: Likewise.
69758         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
69759         since we now assume the gettimeofday module.
69760         * lib/tempname.c (__gen_tempname): Likewise.
69761         * lib/gettimeofday.h: Remove.
69762         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
69763         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
69764         Include <time.h>, for 'time()'.
69765         (localtime_buffer_addr): Also use this workaround if
69766         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
69767         to simplify the uses.  All uses changed.
69768         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
69769         that #undef is inside {}, and 'const' follows type name consistently.
69770         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
69771         (gettimeofday): Do not use the maximum possible value for
69772         tv->tv_usec, since that might break usages other than ls.c.
69773         Instead, we'll leave ls.c alone.  This undoes today's patch
69774         by Bruno.  Add a compile-time warning for 1s-clock resolution;
69775         we've never observed the problem but might as well keep the
69776         canary.
69777         * lib/nanosleep.c: Include timespec.h first, for interface check.
69778         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
69779         now assume the sys_time module.
69780         * lib/tempname.c: Likewise.
69781         * lib/timespec.h: Likewise.
69782         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
69783         needed.
69784         * lib/strftime.c: Likewise.
69785         * lib/timespec.h: Likewise.
69786         * lib/posixtm.c: Include posixtm.h first, for interface check.
69787         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
69788         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
69789         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
69790         * lib/sys_time_.h: New file.
69791         * lib/timespec.h (struct timespec): Use long int, not long.
69792         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
69793         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
69794         Remove obsolescent call to AC_HEADER_TIME.
69795         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
69796         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
69797         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
69798         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
69799         Likewise.
69800         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
69801         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
69802         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
69803         into the sys_time module.  Check for gettimeofday just once.
69804         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
69805         for gettimeofday signature to just check the signature.  Merely
69806         compile it, since linking doesn't test signature.  Improve test for
69807         whether gettimeofday.o is actually needed.
69808         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
69809         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
69810         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
69811         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
69812         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
69813         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
69814         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
69815         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
69816         than worrying about sys/time.h.
69817         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
69818         Don't bother worrying about TIME_WITH_SYS_TIME.
69819         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
69820         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
69821         * m4/sys_time_h.m4: New file.
69822         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
69823         Don't include sys/time.h.  Return from main rather than exiting.
69824         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
69825         all uses changed.
69826         * modules/gethrxtime (Depends-on): Add sys_time.
69827         * modules/gettime (Depends-on): Likewise.
69828         * modules/gettimeofday (Depends-on): Likewise.
69829         * modules/nanosleep (Depends-on): Likewise.
69830         * modules/settime (Depends-on): Likewise.
69831         * modules/tempname (Depends-on): Likewise.
69832         * modules/utimens (Depends-on): Likewise.
69833         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
69834         (Include): Change back to <sys/time.h>.
69835         (Maintainer): Add self.
69836         * modules/sys_time: New file.
69837         * modules/tempname (Depends-on): Add gettimeofday.
69838         * tests/test-gettimeofday.c: Include <sys/time.h>
69839         rather than gettimeofday.h.
69840
69841 2007-01-17  Bruno Haible  <bruno@clisp.org>
69842
69843         * gnulib-tool (func_get_license): Revert last patch. Instead, let
69844         the license default to GPL.
69845         (func_create_testdir): Don't complain if a module is LGPL and its
69846         tests module depends on GPLed modules.
69847
69848 2007-01-17  Bruno Haible  <bruno@clisp.org>
69849
69850         * lib/gettimeofday.c (gettimeofday): Add code for the case
69851         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
69852         maximum possible value for tv->tv_usec, rather than the minimum one.
69853
69854 2005-10-08  Martin Lambers  <marlam@marlam.de>
69855 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
69856 2007-01-16  Bruno Haible  <bruno@clisp.org>
69857
69858         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
69859         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
69860         gl_FUNC_GETTIMEOFDAY.
69861         (Include): Add gettimeofday.h.
69862         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
69863         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
69864         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
69865         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
69866         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
69867         * lib/gettimeofday.h: New file.
69868         * lib/gettimeofday.c: Include <sys/timeb.h>.
69869         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
69870         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
69871         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
69872         fall back on time().
69873
69874         * tests/test-gettimeofday.c: New file.
69875         * modules/gettimeofday-tests: New file.
69876
69877 2007-01-16  Eric Blake  <ebb9@byu.net>
69878
69879         * modules/fnmatch (Depends-on): Depend on wchar.
69880         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
69881         * m4/fnmatch.m4: Likewise.
69882         * modules/mbchar (Makefile.am): Assume <wchar.h>.
69883         * m4/mbchar.m4: Likewise.
69884         * modules/mbswidth (Depends-on): Depend on wchar.
69885         * lib/mbswidth.c: Assume <wchar.h>.
69886         * m4/mbswidth.m4: Likewise.
69887         * modules/quotearg (Depends-on): Depend on wchar.
69888         * lib/quotearg.c: Assume <wchar.h>.
69889         * m4/quotearg.m4: Likewise.
69890         * modules/regex (Depends-on): Depend on wchar.
69891         * lib/regex_internal.h: Assume <wchar.h>.
69892         * m4/regex.m4: Likewise.
69893         * modules/stdint (Depends-on): Depend on wchar.
69894         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
69895         * m4/stdint.m4: Likewise.
69896         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
69897         * modules/strftime (Depends-on): Depend on wchar.
69898         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
69899         * modules/strtol (Depends-on): Depend on wchar.
69900         * lib/strtol.c: Assume <wchar.h>.
69901         * modules/wcwidth (Depends-on): Depend on wchar.
69902         * lib/wcwidth.h: Assume <wchar.h>.
69903         * m4/wcwidth.m4: Likewise.
69904
69905 2007-01-16  Bruno Haible  <bruno@clisp.org>
69906
69907         * modules/csharpexec-script: New, created from...
69908         * modules/csharpexec: ... this.
69909
69910 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
69911
69912         * modules/javaexec-script: New, created from...
69913         * modules/javaexec: ... this.
69914
69915 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69916
69917         * modules/poll (Dependencies): Add sys_select.
69918
69919 2007-01-15  Jim Meyering  <jim@meyering.net>
69920
69921         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
69922         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
69923         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
69924         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
69925
69926 2007-01-15  Bruno Haible  <bruno@clisp.org>
69927
69928         * modules/striconveh: New file.
69929         * lib/striconveh.h: New file.
69930         * lib/striconveh.c: New file.
69931         * MODULES.html.sh (Internationalization functions): Add striconveh.
69932
69933         * modules/striconveh-tests: New file.
69934         * tests/test-striconveh.c: New file.
69935
69936 2007-01-15  Bruno Haible  <bruno@clisp.org>
69937
69938         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
69939         not from GNU libiconv or GNU libc.
69940
69941 2007-01-15  Bruno Haible  <bruno@clisp.org>
69942
69943         * doc/gnulib-intro.texi (Copyright): Explain the different license
69944         terms for module descriptions, autoconf macros, tests, documentation.
69945
69946 2007-01-14  Bruno Haible  <bruno@clisp.org>
69947
69948         * modules/striconv-tests: New file.
69949         * tests/test-striconv.c: New file.
69950
69951 2007-01-14  Bruno Haible  <bruno@clisp.org>
69952
69953         * modules/iconv-tests: New file.
69954         * tests/test-iconv.c: New file.
69955
69956 2007-01-14  Bruno Haible  <bruno@clisp.org>
69957
69958         * gnulib-tool (func_get_license): For test modules, use the license of
69959         the main module.
69960
69961 2007-01-14  Bruno Haible  <bruno@clisp.org>
69962
69963         * modules/iconv (Include): Clarify that <iconv.h> can only be included
69964         if iconv is found to exist.
69965
69966 2007-01-14  Bruno Haible  <bruno@clisp.org>
69967
69968         * modules/c-ctype-tests: New file.
69969         * tests/test-c-ctype.c: New file.
69970
69971 2007-01-14  Bruno Haible  <bruno@clisp.org>
69972
69973         * modules/binary-io-tests: New file.
69974         * tests/test-binary-io.sh: New file.
69975         * tests/test-binary-io.c: New file.
69976
69977 2007-01-14  Bruno Haible  <bruno@clisp.org>
69978
69979         * modules/array-oset-tests: New file.
69980         * tests/test-array_oset.c: New file.
69981
69982 2007-01-14  Bruno Haible  <bruno@clisp.org>
69983
69984         * modules/array-list-tests: New file.
69985         * tests/test-array_list.c: New file.
69986
69987 2007-01-14  Bruno Haible  <bruno@clisp.org>
69988
69989         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
69990         and make.
69991         Reported by Simon Josefsson in
69992         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
69993
69994 2007-01-14  Bruno Haible  <bruno@clisp.org>
69995
69996         * modules/allocsa-tests: New file.
69997         * tests/test-allocsa.c: New file.
69998
69999 2007-01-14  Bruno Haible  <bruno@clisp.org>
70000
70001         * modules/fchdir (Depends-on): Add absolute-header.
70002         * modules/unistd (Depends-on): Likewise.
70003
70004 2006-12-30  Bruno Haible  <bruno@clisp.org>
70005
70006         * modules/fchdir: New file.
70007         * modules/unistd (Files): Add lib/unistd_.h.
70008         (Makefile.am): Generate unistd.h from unistd_.h.
70009         * lib/fchdir.c: New file.
70010         * lib/dirent_.h: New file.
70011         * lib/unistd_.h: New file.
70012         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
70013         * m4/fchdir.m4: New file.
70014         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
70015         (gl_HEADER_UNISTD): Invoke it.
70016         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
70017         function.
70018         * lib/backupfile.c (opendir, closedir): Undefine.
70019         * lib/chown.c (open, close): Undefine.
70020         * lib/clean-temp.c (open, close): Undefine.
70021         * lib/copy-file.c (open, close): Undefine.
70022         * lib/execute.c (open, close): Undefine.
70023         * lib/fsusage.c (open, close): Undefine.
70024         * lib/gc-gnulib.c (open, close): Undefine.
70025         * lib/getcwd.c (opendir, closedir): Undefine.
70026         * lib/glob.c (opendir, closedir): Undefine.
70027         * lib/javacomp.c (open, close): Undefine.
70028         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
70029         * lib/openat-proc.c (open, close): Undefine.
70030         * lib/pagealign_alloc.c (open, close): Undefine.
70031         * lib/pipe.c (open, close): Undefine.
70032         * lib/progreloc.c (open, close): Undefine.
70033         * lib/savedir.c (opendir, closedir): Undefine.
70034         * lib/utime.c (open, close): Undefine.
70035         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
70036
70037 2007-01-10  Bruno Haible  <bruno@clisp.org>
70038
70039         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
70040
70041 2007-01-12  Eric Blake  <ebb9@byu.net>
70042
70043         Provide a robust <wchar.h>.  Further simplifications are now
70044         possible in other modules, but not included here.
70045         * modules/wchar: New module.
70046         * m4/wchar.m4: New file.
70047         * lib/wchar_.h: Likewise.
70048         * modules/mbchar (Depends-on): Depend on wchar, as the first use
70049         of the new module.
70050         * MODULES.html.sh (Extended multibyte and wide character utilities):
70051         New section.
70052
70053 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
70054
70055         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
70056         to a reasonable default for memory allocation.
70057         (xreadlink): Don't allocate a huge buffer, to work around a buggy
70058         file system that reports garbage st_size values for symlinks.
70059         Problem reported by Liyang Hu.
70060
70061 2007-01-11  Simon Josefsson  <simon@josefsson.org>
70062
70063         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
70064         Emacs .#* auto-save files).
70065
70066 2007-01-11  Bruno Haible  <bruno@clisp.org>
70067
70068         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
70069         directory.
70070
70071 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
70072
70073         Use @...@ consistently in lib/wctype_.h.
70074         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
70075         on it being set to 1 or 0.
70076         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
70077         go back to AC_SUBSTing it.
70078         * modules/wctype (Makefile.am): Undo previous change.
70079
70080 2007-01-10  Eric Blake  <ebb9@byu.net>
70081
70082         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
70083         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
70084         * modules/wctype (Makefile.am): Likewise.
70085         Reported by Chris McGuire.
70086
70087 2007-01-10  Jim Meyering  <jim@meyering.net>
70088
70089         fts.c: a small readability/maintainability improvement
70090         * lib/fts.c (fts_read): Make this code slightly more readable and
70091         maintainable by hoisting the "sp->fts_cur = p" assignments to
70092         immediately follow the statements that set P.  Derived from
70093         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
70094
70095 2007-01-10  Eric Blake  <ebb9@byu.net>
70096
70097         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
70098         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
70099         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
70100         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
70101         Reported by Chris McGuire.
70102
70103 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70104
70105         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
70106         in sed script.
70107
70108 2007-01-09  Bruno Haible  <bruno@clisp.org>
70109
70110         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
70111         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
70112         variables.
70113         (func_module): Use them.
70114
70115 2007-01-09  Bruno Haible  <bruno@clisp.org>
70116
70117         * modules/unistr/base: New file.
70118         * lib/unistr.h: New file.
70119
70120         * modules/unistr/u8-to-u16: New file.
70121         * lib/unistr/u8-to-u16.c: New file.
70122
70123         * modules/unistr/u8-to-u32: New file.
70124         * lib/unistr/u8-to-u32.c: New file.
70125
70126         * modules/unistr/u16-to-u8: New file.
70127         * lib/unistr/u16-to-u8.c: New file.
70128
70129         * modules/unistr/u16-to-u32: New file.
70130         * lib/unistr/u16-to-u32.c: New file.
70131
70132         * modules/unistr/u32-to-u8: New file.
70133         * lib/unistr/u32-to-u8.c: New file.
70134
70135         * modules/unistr/u32-to-u16: New file.
70136         * lib/unistr/u32-to-u16.c: New file.
70137
70138         * modules/unistr/u8-check: New file.
70139         * modules/unistr/u16-check: New file.
70140         * modules/unistr/u32-check: New file.
70141         * lib/unistr/u8-check.c: New file.
70142         * lib/unistr/u16-check.c: New file.
70143         * lib/unistr/u32-check.c: New file.
70144
70145         * modules/unistr/u8-chr: New file.
70146         * modules/unistr/u16-chr: New file.
70147         * modules/unistr/u32-chr: New file.
70148         * lib/unistr/u8-chr.c: New file.
70149         * lib/unistr/u16-chr.c: New file.
70150         * lib/unistr/u32-chr.c: New file.
70151
70152         * modules/unistr/u8-cmp: New file.
70153         * modules/unistr/u16-cmp: New file.
70154         * modules/unistr/u32-cmp: New file.
70155         * lib/unistr/u8-cmp.c: New file.
70156         * lib/unistr/u16-cmp.c: New file.
70157         * lib/unistr/u32-cmp.c: New file.
70158
70159         * modules/unistr/u8-cpy: New file.
70160         * modules/unistr/u16-cpy: New file.
70161         * modules/unistr/u32-cpy: New file.
70162         * lib/unistr/u8-cpy.c: New file.
70163         * lib/unistr/u16-cpy.c: New file.
70164         * lib/unistr/u32-cpy.c: New file.
70165         * lib/unistr/u-cpy.h: New file.
70166
70167         * modules/unistr/u8-cpy-alloc: New file.
70168         * modules/unistr/u16-cpy-alloc: New file.
70169         * modules/unistr/u32-cpy-alloc: New file.
70170         * lib/unistr/u8-cpy-alloc.c: New file.
70171         * lib/unistr/u16-cpy-alloc.c: New file.
70172         * lib/unistr/u32-cpy-alloc.c: New file.
70173         * lib/unistr/u-cpy-alloc.h: New file.
70174
70175         * modules/unistr/u8-endswith: New file.
70176         * modules/unistr/u16-endswith: New file.
70177         * modules/unistr/u32-endswith: New file.
70178         * lib/unistr/u8-endswith.c: New file.
70179         * lib/unistr/u16-endswith.c: New file.
70180         * lib/unistr/u32-endswith.c: New file.
70181         * lib/unistr/u-endswith.h: New file.
70182
70183         * modules/unistr/u8-mblen: New file.
70184         * modules/unistr/u16-mblen: New file.
70185         * modules/unistr/u32-mblen: New file.
70186         * lib/unistr/u8-mblen.c: New file.
70187         * lib/unistr/u16-mblen.c: New file.
70188         * lib/unistr/u32-mblen.c: New file.
70189
70190         * modules/unistr/u8-mbtouc: New file.
70191         * modules/unistr/u16-mbtouc: New file.
70192         * modules/unistr/u32-mbtouc: New file.
70193         * lib/unistr/u8-mbtouc.c: New file.
70194         * lib/unistr/u16-mbtouc.c: New file.
70195         * lib/unistr/u32-mbtouc.c: New file.
70196
70197         * modules/unistr/u8-mbtouc-safe: New file.
70198         * modules/unistr/u16-mbtouc-safe: New file.
70199         * modules/unistr/u32-mbtouc-safe: New file.
70200         * lib/unistr/u8-mbtouc-safe.c: New file.
70201         * lib/unistr/u16-mbtouc-safe.c: New file.
70202         * lib/unistr/u32-mbtouc-safe.c: New file.
70203
70204         * modules/unistr/u8-move: New file.
70205         * modules/unistr/u16-move: New file.
70206         * modules/unistr/u32-move: New file.
70207         * lib/unistr/u8-move.c: New file.
70208         * lib/unistr/u16-move.c: New file.
70209         * lib/unistr/u32-move.c: New file.
70210         * lib/unistr/u-move.h: New file.
70211
70212         * modules/unistr/u8-next: New file.
70213         * modules/unistr/u16-next: New file.
70214         * modules/unistr/u32-next: New file.
70215         * lib/unistr/u8-next.c: New file.
70216         * lib/unistr/u16-next.c: New file.
70217         * lib/unistr/u32-next.c: New file.
70218
70219         * modules/unistr/u8-prev: New file.
70220         * modules/unistr/u16-prev: New file.
70221         * modules/unistr/u32-prev: New file.
70222         * lib/unistr/u8-prev.c: New file.
70223         * lib/unistr/u16-prev.c: New file.
70224         * lib/unistr/u32-prev.c: New file.
70225
70226         * modules/unistr/u8-set: New file.
70227         * modules/unistr/u16-set: New file.
70228         * modules/unistr/u32-set: New file.
70229         * lib/unistr/u8-set.c: New file.
70230         * lib/unistr/u16-set.c: New file.
70231         * lib/unistr/u32-set.c: New file.
70232         * lib/unistr/u-set.h: New file.
70233
70234         * modules/unistr/u8-startswith: New file.
70235         * modules/unistr/u16-startswith: New file.
70236         * modules/unistr/u32-startswith: New file.
70237         * lib/unistr/u8-startswith.c: New file.
70238         * lib/unistr/u16-startswith.c: New file.
70239         * lib/unistr/u32-startswith.c: New file.
70240         * lib/unistr/u-startswith.h: New file.
70241
70242         * modules/unistr/u8-stpcpy: New file.
70243         * modules/unistr/u16-stpcpy: New file.
70244         * modules/unistr/u32-stpcpy: New file.
70245         * lib/unistr/u8-stpcpy.c: New file.
70246         * lib/unistr/u16-stpcpy.c: New file.
70247         * lib/unistr/u32-stpcpy.c: New file.
70248         * lib/unistr/u-stpcpy.h: New file.
70249
70250         * modules/unistr/u8-stpncpy: New file.
70251         * modules/unistr/u16-stpncpy: New file.
70252         * modules/unistr/u32-stpncpy: New file.
70253         * lib/unistr/u8-stpncpy.c: New file.
70254         * lib/unistr/u16-stpncpy.c: New file.
70255         * lib/unistr/u32-stpncpy.c: New file.
70256         * lib/unistr/u-stpncpy.h: New file.
70257
70258         * modules/unistr/u8-strcat: New file.
70259         * modules/unistr/u16-strcat: New file.
70260         * modules/unistr/u32-strcat: New file.
70261         * lib/unistr/u8-strcat.c: New file.
70262         * lib/unistr/u16-strcat.c: New file.
70263         * lib/unistr/u32-strcat.c: New file.
70264         * lib/unistr/u-strcat.h: New file.
70265
70266         * modules/unistr/u8-strchr: New file.
70267         * modules/unistr/u16-strchr: New file.
70268         * modules/unistr/u32-strchr: New file.
70269         * lib/unistr/u8-strchr.c: New file.
70270         * lib/unistr/u16-strchr.c: New file.
70271         * lib/unistr/u32-strchr.c: New file.
70272
70273         * modules/unistr/u8-strcmp: New file.
70274         * modules/unistr/u16-strcmp: New file.
70275         * modules/unistr/u32-strcmp: New file.
70276         * lib/unistr/u8-strcmp.c: New file.
70277         * lib/unistr/u16-strcmp.c: New file.
70278         * lib/unistr/u32-strcmp.c: New file.
70279
70280         * modules/unistr/u8-strcpy: New file.
70281         * modules/unistr/u16-strcpy: New file.
70282         * modules/unistr/u32-strcpy: New file.
70283         * lib/unistr/u8-strcpy.c: New file.
70284         * lib/unistr/u16-strcpy.c: New file.
70285         * lib/unistr/u32-strcpy.c: New file.
70286         * lib/unistr/u-strcpy.h: New file.
70287
70288         * modules/unistr/u8-strcspn: New file.
70289         * modules/unistr/u16-strcspn: New file.
70290         * modules/unistr/u32-strcspn: New file.
70291         * lib/unistr/u8-strcspn.c: New file.
70292         * lib/unistr/u16-strcspn.c: New file.
70293         * lib/unistr/u32-strcspn.c: New file.
70294         * lib/unistr/u-strcspn.h: New file.
70295
70296         * modules/unistr/u8-strdup: New file.
70297         * modules/unistr/u16-strdup: New file.
70298         * modules/unistr/u32-strdup: New file.
70299         * lib/unistr/u8-strdup.c: New file.
70300         * lib/unistr/u16-strdup.c: New file.
70301         * lib/unistr/u32-strdup.c: New file.
70302         * lib/unistr/u-strdup.h: New file.
70303
70304         * modules/unistr/u8-strlen: New file.
70305         * modules/unistr/u16-strlen: New file.
70306         * modules/unistr/u32-strlen: New file.
70307         * lib/unistr/u8-strlen.c: New file.
70308         * lib/unistr/u16-strlen.c: New file.
70309         * lib/unistr/u32-strlen.c: New file.
70310         * lib/unistr/u-strlen.h: New file.
70311
70312         * modules/unistr/u8-strmblen: New file.
70313         * modules/unistr/u16-strmblen: New file.
70314         * modules/unistr/u32-strmblen: New file.
70315         * lib/unistr/u8-strmblen.c: New file.
70316         * lib/unistr/u16-strmblen.c: New file.
70317         * lib/unistr/u32-strmblen.c: New file.
70318
70319         * modules/unistr/u8-strmbtouc: New file.
70320         * modules/unistr/u16-strmbtouc: New file.
70321         * modules/unistr/u32-strmbtouc: New file.
70322         * lib/unistr/u8-strmbtouc.c: New file.
70323         * lib/unistr/u16-strmbtouc.c: New file.
70324         * lib/unistr/u32-strmbtouc.c: New file.
70325
70326         * modules/unistr/u8-strncat: New file.
70327         * modules/unistr/u16-strncat: New file.
70328         * modules/unistr/u32-strncat: New file.
70329         * lib/unistr/u8-strncat.c: New file.
70330         * lib/unistr/u16-strncat.c: New file.
70331         * lib/unistr/u32-strncat.c: New file.
70332         * lib/unistr/u-strncat.h: New file.
70333
70334         * modules/unistr/u8-strncmp: New file.
70335         * modules/unistr/u16-strncmp: New file.
70336         * modules/unistr/u32-strncmp: New file.
70337         * lib/unistr/u8-strncmp.c: New file.
70338         * lib/unistr/u16-strncmp.c: New file.
70339         * lib/unistr/u32-strncmp.c: New file.
70340
70341         * modules/unistr/u8-strncpy: New file.
70342         * modules/unistr/u16-strncpy: New file.
70343         * modules/unistr/u32-strncpy: New file.
70344         * lib/unistr/u8-strncpy.c: New file.
70345         * lib/unistr/u16-strncpy.c: New file.
70346         * lib/unistr/u32-strncpy.c: New file.
70347         * lib/unistr/u-strncpy.h: New file.
70348
70349         * modules/unistr/u8-strnlen: New file.
70350         * modules/unistr/u16-strnlen: New file.
70351         * modules/unistr/u32-strnlen: New file.
70352         * lib/unistr/u8-strnlen.c: New file.
70353         * lib/unistr/u16-strnlen.c: New file.
70354         * lib/unistr/u32-strnlen.c: New file.
70355         * lib/unistr/u-strnlen.h: New file.
70356
70357         * modules/unistr/u8-strpbrk: New file.
70358         * modules/unistr/u16-strpbrk: New file.
70359         * modules/unistr/u32-strpbrk: New file.
70360         * lib/unistr/u8-strpbrk.c: New file.
70361         * lib/unistr/u16-strpbrk.c: New file.
70362         * lib/unistr/u32-strpbrk.c: New file.
70363         * lib/unistr/u-strpbrk.h: New file.
70364
70365         * modules/unistr/u8-strrchr: New file.
70366         * modules/unistr/u16-strrchr: New file.
70367         * modules/unistr/u32-strrchr: New file.
70368         * lib/unistr/u8-strrchr.c: New file.
70369         * lib/unistr/u16-strrchr.c: New file.
70370         * lib/unistr/u32-strrchr.c: New file.
70371
70372         * modules/unistr/u8-strspn: New file.
70373         * modules/unistr/u16-strspn: New file.
70374         * modules/unistr/u32-strspn: New file.
70375         * lib/unistr/u8-strspn.c: New file.
70376         * lib/unistr/u16-strspn.c: New file.
70377         * lib/unistr/u32-strspn.c: New file.
70378         * lib/unistr/u-strspn.h: New file.
70379
70380         * modules/unistr/u8-strstr: New file.
70381         * modules/unistr/u16-strstr: New file.
70382         * modules/unistr/u32-strstr: New file.
70383         * lib/unistr/u8-strstr.c: New file.
70384         * lib/unistr/u16-strstr.c: New file.
70385         * lib/unistr/u32-strstr.c: New file.
70386         * lib/unistr/u-strstr.h: New file.
70387
70388         * modules/unistr/u8-strtok: New file.
70389         * modules/unistr/u16-strtok: New file.
70390         * modules/unistr/u32-strtok: New file.
70391         * lib/unistr/u8-strtok.c: New file.
70392         * lib/unistr/u16-strtok.c: New file.
70393         * lib/unistr/u32-strtok.c: New file.
70394         * lib/unistr/u-strtok.h: New file.
70395
70396         * modules/unistr/u8-uctomb: New file.
70397         * modules/unistr/u16-uctomb: New file.
70398         * modules/unistr/u32-uctomb: New file.
70399         * lib/unistr/u8-uctomb.c: New file.
70400         * lib/unistr/u16-uctomb.c: New file.
70401         * lib/unistr/u32-uctomb.c: New file.
70402
70403         * MODULES.html.sh (Unicode string functions): Add the new modules.
70404
70405 2007-01-08  Bruno Haible  <bruno@clisp.org>
70406
70407         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
70408         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
70409         subdirectories.
70410
70411 2007-01-08  Karl Berry  <karl@gnu.org>
70412
70413         * doc/error.texi: mention that main() fns must set program_name
70414         when progname is used.
70415
70416 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
70417
70418         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
70419         WCTYPE_H is empty, for the benefit of builds from non-distclean
70420         directories.  Problem reported by Eric Blake in
70421         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
70422
70423 2007-01-08  Bruno Haible  <bruno@clisp.org>
70424
70425         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
70426         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
70427         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
70428         PROVIDE_CANONICALIZE_FILENAME_MODE.
70429         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
70430
70431 2007-01-08  Bruno Haible  <bruno@clisp.org>
70432
70433         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
70434         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
70435         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
70436         * lib/fts.c: Likewise.
70437         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
70438
70439 2006-12-25  Bruno Haible  <bruno@clisp.org>
70440
70441         * modules/utf8-ucs4-safe: New file.
70442         * lib/utf8-ucs4-safe.h: New file.
70443         * lib/unistr/utf8-ucs4-safe.c: New file.
70444
70445         * modules/utf16-ucs4-safe: New file.
70446         * lib/utf16-ucs4-safe.h: New file.
70447         * lib/unistr/utf16-ucs4-safe.c: New file.
70448
70449         * MODULES.html.sh (Unicode string functions): Add the new modules.
70450
70451 2007-01-08  Bruno Haible  <bruno@clisp.org>
70452
70453         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
70454         (Depends-on): Add unitypes.
70455         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
70456         (u8_mbtouc_aux): Move out to separate file.
70457         (u8_mbtouc): Use ucs4_t, uint8_t types.
70458         * lib/unistr/utf8-ucs4.c: New file.
70459
70460         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
70461         (Depends-on): Add unitypes.
70462         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
70463         (u16_mbtouc_aux): Move out to separate file.
70464         (u16_mbtouc): Use ucs4_t, uint16_t types.
70465         * lib/unistr/utf16-ucs4.c: New file.
70466
70467         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
70468         (Depends-on): Add unitypes.
70469         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
70470         (u8_uctomb_aux): Move out to separate file.
70471         (u8_uctomb): Use ucs4_t, uint8_t types.
70472         * lib/unistr/ucs4-utf8.c: New file.
70473
70474         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
70475         (Depends-on): Add unitypes.
70476         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
70477         (u16_uctomb_aux): Move out to separate file.
70478         (u16_uctomb): Use ucs4_t, uint16_t types.
70479         * lib/unistr/ucs4-utf16.c: New file.
70480
70481 2006-12-25  Bruno Haible  <bruno@clisp.org>
70482
70483         * modules/unitypes: New file.
70484         * lib/unitypes.h: New file.
70485         * MODULES.html.sh (func_all_modules): New section "Unicode string
70486         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
70487         this section. Add unitypes.
70488
70489 2007-01-08  Bruno Haible  <bruno@clisp.org>
70490
70491         Avoid variable names that conflict with those from libtool.
70492         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
70493         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
70494         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
70495         library_names_spec to acl_library_names_spec, hardcode_* to
70496         acl_hardcode_*.
70497         Reported by Ralf Wildenhues.
70498
70499 2007-01-08  Bruno Haible  <bruno@clisp.org>
70500
70501         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
70502         definition.
70503         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
70504         definition.
70505         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
70506         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
70507         definition.
70508         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
70509         definition.
70510         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
70511         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
70512         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
70513         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
70514         definition.
70515         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
70516         definition.
70517         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
70518         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
70519         GC_USE_<algorithm>.
70520         * lib/gc-libgcrypt.c: Likewise.
70521         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
70522         * modules/gc-arctwo (configure.ac): Likewise.
70523         * modules/gc-des (configure.ac): Likewise.
70524         * modules/gc-hmac-md5 (configure.ac): Likewise.
70525         * modules/gc-hmac-sha1 (configure.ac): Likewise.
70526         * modules/gc-md2 (configure.ac): Likewise.
70527         * modules/gc-md4 (configure.ac): Likewise.
70528         * modules/gc-md5 (configure.ac): Likewise.
70529         * modules/gc-random (configure.ac): Likewise.
70530         * modules/gc-rijndael (configure.ac): Likewise.
70531         * modules/gc-sha1 (configure.ac): Likewise.
70532
70533 2007-01-08  Bruno Haible  <bruno@clisp.org>
70534
70535         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
70536         macro definition.
70537         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
70538         definition.
70539         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
70540         definition.
70541         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
70542         * modules/fcntl-safer (configure.ac): Likewise.
70543         * modules/fopen-safer (configure.ac): Likewise.
70544         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
70545         GNULIB_FWRITEERROR macro definition.
70546
70547 2007-01-08  Bruno Haible  <bruno@clisp.org>
70548
70549         * m4/gnulib-common.m4: New file.
70550         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
70551         (func_get_filelist): Add m4/gnulib-common.m4.
70552
70553 2007-01-08  Bruno Haible  <bruno@clisp.org>
70554
70555         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
70556         command.
70557
70558 2007-01-08  Jim Meyering  <jim@meyering.net>
70559
70560         Use a more robust test for a "can't happen" condition.
70561         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
70562         narrowed the st_size value.  Presuming the "can't happen" condition
70563         is true, that narrowing could conceivably convert an invalid st_size
70564         value into a valid one.  Instead, use a change based on Matthew
70565         Woehlke's original patch.
70566
70567         Slight readability improvement: use an assert-like macro
70568         in place of literal "abort ()" uses.
70569         * lib/fts.c (fts_assert): Define.
70570         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
70571         Use this macro instead of a bare 'abort'.
70572
70573 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
70574
70575         Don't worry about using IRIX 5.3's wctype.h broken definitions;
70576         simply work around them.
70577         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
70578         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
70579         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
70580         declaring.
70581         Don't bother to define as macros, since the standard doesn't require it.
70582         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
70583         longer worry about IRIX 5.3.
70584         (HAVE_WCTYPE_CTMP_BUG): Remove.
70585
70586 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
70587
70588         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
70589         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
70590         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
70591         Problems reported by Georg Schwarz for IRIX 5.3.
70592
70593         * gnulib-tool (autoconf_minversion): Take the maximum version number
70594         found, not the minimum.  Problem reported by James Youngman.
70595
70596 2007-01-03  Karl Berry  <karl@gnu.org>
70597
70598         * doc/error.texi: new file, explaining interaction with progname.
70599         * doc/gnulib.texi: include it.  Update copyright.
70600
70601 2007-01-03  Simon Josefsson  <simon@josefsson.org>
70602
70603         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
70604         AC_CANONICAL_HOST, to improve autobuild outputs.
70605
70606 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
70607             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
70608
70609         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
70610         sockets, server sockets, and other file descriptors.  Count errors
70611         to compute the return value.  Reorder the code a bit to be easier
70612         to follow.  Don't set event bits that were not requested (except
70613         POLLERR and POLLHUP).
70614
70615 2007-01-01  Bruno Haible  <bruno@clisp.org>
70616
70617         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
70618
70619 2007-01-03  Jim Meyering  <jim@meyering.net>
70620
70621         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
70622
70623 2007-01-02  Bruno Haible  <bruno@clisp.org>
70624
70625         * modules/settime (Include): Require timespec.h.
70626         * modules/nanosleep (Include): Likewise.
70627
70628 2007-01-01  Bruno Haible  <bruno@clisp.org>
70629
70630         * gnulib-tool (func_emit_copyright_notice): Bump year.
70631         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
70632
70633 2007-01-01  Bruno Haible  <bruno@clisp.org>
70634
70635         Improve support for OpenBSD.
70636         * build-aux/config.rpath (libname_spec): Export.
70637         (library_names_spec): New variable. Export.
70638         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
70639         library_names_spec from the config.rpath output. Locate shared library
70640         through the name pattern in library_names_spec.
70641
70642 2007-01-01  Eric Blake  <ebb9@byu.net>
70643
70644         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
70645
70646 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
70647
70648         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
70649         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
70650         assume the C locale, and avoid an "eval" that could cause trouble.
70651         Problem with SORT reported by Bob Proulx.
70652
70653         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
70654         Define.  Trivial patch from Henning Nielsen Lund, originally
70655         sent to bug-grep@gnu.org today.
70656
70657 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
70658
70659         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
70660         struct stat.  Problem reported by Henning Nielsen Lund.
70661         * lib/acl.c: Include acl.h first, to check interface.  Don't
70662         bother to include sys/types.h and sys/stat.h again.
70663
70664 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
70665
70666         Import the following change from libc; problem reported by
70667         Sven Verdoolaege.
70668
70669         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
70670
70671         [BZ #1373]
70672         * lib/argp.h: Remove __NTH for __argp_usage inline function.
70673
70674 2006-12-28  Jim Meyering  <jim@meyering.net>
70675
70676         * build-aux/announce-gen: Do not assume that the package
70677         builds any of tar.gz, tar.bz2, and .xdelta files.
70678         Suggestion from Simon Josefsson.
70679
70680 2006-12-28  Simon Josefsson  <simon@josefsson.org>
70681
70682         * modules/announce-gen: New file.
70683
70684 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
70685
70686         * lib/mbchar.h: Just include <wctype.h>; the wctype module
70687         handles its gotchas now.
70688         * lib/mbswidth.c: Likewise.
70689         * lib/wcwidth.h: Likewise.
70690         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
70691         and iswcntrl; the wctype module does this stuff now.
70692         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
70693         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
70694         * modules/mbchar (Depends-on): Add wctype.
70695         * modules/mbswidth (Depends-on): Likewise.
70696         * modules/wcwidth (Depends-on): Likewise.
70697
70698 2006-12-27  Eric Blake  <ebb9@byu.net>
70699
70700         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
70701         module uses more than what <wctype.h> is required to provide.
70702
70703 2006-12-26  Eric Blake  <ebb9@byu.net>
70704
70705         * gnulib-tool (sed_extract_prog): Avoid space-tab.
70706
70707 2006-12-26  Eric Blake  <ebb9@byu.net>
70708
70709         * modules/absolute-header: New module.
70710         * modules/fcntl (Depends-on): Depend on it.
70711         * modules/inttypes (Depends-on): Likewise.
70712         * modules/stdint (Depends-on): Likewise.
70713         * modules/sys_stat (Depends-on): Likewise.
70714         * modules/wctype (Depends-on): Likewise.
70715         * MODULES.html.sh (Support for building libraries and
70716         executables): Document it.
70717
70718 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
70719
70720         * gnulib-tool (SED): Remove, undoing previous change.
70721         The problem was that it broke coreutils on Solaris, because
70722         "sed --posix" leaked into a makefile.
70723         (sed): New alias, if 'alias' and GNU sed.
70724
70725 2006-12-24  Jim Meyering  <jim@meyering.net>
70726
70727         Work around an fchownat bug in glibc-2.4:
70728         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
70729         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
70730         in spite of the -P option.
70731         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
70732         New macros.
70733         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
70734         * modules/openat (Files): Add lib/fchownat.c.
70735         * lib/openat.c (fchownat): Don't define here.  Move to...
70736         * lib/fchownat.c: ...this new file.
70737
70738 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
70739
70740         Fix bug reported by Bruno Haible in
70741         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
70742         where quotearg.c didn't compile on Mac OS X 10.2 because it
70743         lacks <wchar.h> and wint_t.
70744         * lib/wctype_.h (__wctype_wint_t): New type.
70745         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
70746         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
70747         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
70748         Arg is now of type __wctype_wint_t, not wint_t.
70749         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
70750         substitute HAVE_WINT_T.
70751         * modules/wctype (Files): Add m4/wint_t.m4.
70752         (wctype.h): Substitute HAVE_WINT_T.
70753
70754 2006-12-23  Bruno Haible  <bruno@clisp.org>
70755
70756         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
70757
70758 2006-12-23  Bruno Haible  <bruno@clisp.org>
70759
70760         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
70761         S_ISLNK.
70762         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
70763         mingw.
70764
70765 2006-12-22  Bruno Haible  <bruno@clisp.org>
70766
70767         * lib/copy-file.c: Include acl.h.
70768         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
70769         Close the file descriptors only after being done with copy_acl.
70770         * modules/copy-file (Depends-on): Add acl.
70771
70772 2006-12-22  Bruno Haible  <bruno@clisp.org>
70773
70774         * gnulib-tool (SED): New variable.
70775         Use $SED instead of sed everywhere.
70776
70777 2006-12-22  Bruno Haible  <bruno@clisp.org>
70778
70779         * modules/no-c++: New file.
70780         * m4/no-c++.m4: New file.
70781         * MODULES.html.sh (Support for building libraries and executables):
70782         Add no-c++.
70783
70784 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
70785
70786         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
70787         Include <limits.h>, and use its INT_MAX to rewrite the
70788         j loop so that it does not overflow 'int'.  Problem reported by
70789         Ralf Wildenhues in
70790         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
70791         Play it safe by shifting left by 1 rather than multiplying by 2,
70792         as GCC is less likely to optimize this away when the value
70793         is signed (when it assumes overflow leads to undefined behavior).
70794         Also, don't assume time_t uses two's complement.
70795
70796 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
70797
70798         * MODULES.html.sh: New module wctype.
70799         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
70800         * lib/fnmatch.c: Don't bother to include <wchar.h> before
70801         <wctype.h>, since the new wctype module should fix this.
70802         * lib/quotearg.c: Include <wctype.h> unconditionally, since
70803         the wctype module should arrange for it.
70804         * lib/regex_internal.h: Likewise.
70805         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
70806         since the wctype module should handle this now.
70807         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
70808         * modules/fnmatch (Depends-on): Add wctype.
70809         * modules/quotearg (Depends-on): Likewise.
70810         * modules/regex (Depends-on): Likewise.
70811
70812 2006-12-19  Bruno Haible  <bruno@clisp.org>
70813
70814         * lib/strdup.h [C++]: Wrap definitions in extern "C".
70815         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
70816
70817 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70818
70819         * modules/savewd (Depends-on): Fix dependency on fcntl.
70820
70821 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
70822
70823         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
70824         conforms to C99, rather than relying on the user's environment
70825         setting of STDINT_H.
70826
70827 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
70828         and Eric Blake  <ebb9@byu.net>
70829
70830         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
70831         This is more consistent with the other defines here.
70832         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
70833         Port to z/OS.  Problem reported by Paul Gilmartin.
70834         Change local vars to use gl_ prefix rather than ac_.
70835         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
70836         with other defines.
70837         * modules/double-slash-root: New module.
70838         * modules/dirname (Files): Remove m4/double-slash-root.m4.
70839         (Depends-on): Add double-slash-root.
70840         * MODULES.html.sh (File system functions): Mention new module.
70841
70842 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
70843
70844         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
70845         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
70846         This is for the benefit of gzip, which doesn't do i18n.
70847
70848 2006-12-12  Jim Meyering  <jim@meyering.net>
70849
70850         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
70851         Reported by Andreas Schwab <schwab@suse.de>.
70852
70853 2006-12-12  Bruno Haible  <bruno@clisp.org>
70854
70855         Merge these changes.
70856         2006-09-05  Bruno Haible  <bruno@clisp.org>
70857         * lib/iconvme.c (iconv_string): No need to save and restore errno when
70858         iconv_alloc succeeded.
70859         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
70860         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
70861         test for " && dest " at the end - dest is always != NULL there. Call
70862         iconv with 4xNULL arguments initially, to reset the state. Call iconv
70863         with 2xNULL arguments, also to flush the state storage. Handle the
70864         IRIX iconv behaviour. Realloc the final result, to throw away unused
70865         memory.
70866
70867 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
70868
70869         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
70870         and fchmodat unconditionally, since glibc 2.4 has them.
70871         Problem reported by Arkadiusz Miskiewicz.
70872
70873 2006-12-10  Bruno Haible  <bruno@clisp.org>
70874
70875         * gnulib-tool (func_import): Show the include files only for those
70876         modules that are copied and specified.
70877         Reported by Karl Berry.
70878
70879 2006-12-08  Jim Meyering  <jim@meyering.net>
70880
70881         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
70882         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
70883
70884         * build-aux/announce-gen: Add two new options, both optional:
70885         --bootstrap-tools=TOOL_LIST
70886               a comma-separated list of tools, e.g.,
70887               autoconf,automake,bison,gnulib
70888         --gnulib-snapshot-date=DATE
70889               if gnulib is in the bootstrap tool list,
70890               then report this as the snapshot date.
70891               If not specified, use the current date/time.
70892               If you specify a date here, be sure it's UTC.
70893
70894 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70895
70896         * tests/test-argp-2.sh: Fix test to match actual output.
70897         (func_compare): Fix sed script to be portable.
70898
70899 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
70900
70901         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
70902         workaround for this case.  It is not autoconfigured now; offhand
70903         it's hard to see how to autoconfigure it.
70904
70905 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
70906
70907         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
70908         a directory that is about to be chowned.  Such a directory's
70909         initial file permissions should permit the owner only and this
70910         should not be changed until after the chown, since the group and
70911         other bits would be incorrect if they granted permission before
70912         the chown.
70913
70914         Fix porting problem for iswctype reported by Georg Schwarz in:
70915         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
70916         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
70917         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
70918         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
70919         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
70920
70921 2006-12-03  Jim Meyering  <jim@meyering.net>
70922
70923         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
70924         p->fts_statp may not yet be defined.
70925         (fts_read): Instead, set it in the caller, once p->fts_statp is
70926         sure to be defined, and corresponds to a top-level directory.
70927         This bug made du -x fail.  Here's the coreutils test case:
70928         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
70929         Reported by Mike Frysinger.
70930
70931 2006-12-01  Jim Meyering  <jim@meyering.net>
70932
70933         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
70934         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
70935         Reported by Simon Josefsson.
70936
70937 2006-11-30  Jim Meyering  <jim@meyering.net>
70938
70939         * m4/warning.m4: Use the all-permissive copyright notice
70940         recommended by RMS (rather than LGPL).
70941         * m4/vararrays.m4: Likewise.
70942         * m4/flexmember.m4: Likewise.
70943
70944 2006-11-29  Bruno Haible  <bruno@clisp.org>
70945
70946         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
70947         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
70948         using +=.
70949         Reported by Simon Josefsson <simon@josefsson.org>.
70950
70951 2006-11-28  James Youngman <jay@gnu.org>
70952
70953         * README: Advise users that they might find the bug-gnulib@gnu.org
70954         and autotools-announce@gnu.org mailing lists useful.
70955
70956 2006-11-28  Bruno Haible  <bruno@clisp.org>
70957
70958         * m4/ptrdiff_max.m4: Remove file.
70959
70960 2006-11-21  Bruno Haible  <bruno@clisp.org>
70961
70962         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
70963         _AC_COMPUTE_INT.
70964         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
70965         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
70966         _AC_COMPUTE_INT.
70967         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
70968         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
70969         _AC_COMPUTE_INT.
70970         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
70971
70972 2006-11-28  Jim Meyering  <jim@meyering.net>
70973
70974         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
70975         warning from "gcc -Wshadow" about shadowing the builtin.
70976
70977 2006-11-27  Bruno Haible  <bruno@clisp.org>
70978
70979         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
70980         _AC_COMPUTE_INT.
70981         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
70982
70983 2006-11-27  Bruno Haible  <bruno@clisp.org>
70984             Paul Eggert  <eggert@cs.ucla.edu>
70985
70986         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
70987
70988 2006-11-26  Bruno Haible  <bruno@clisp.org>
70989
70990         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
70991         noinst_LTLIBRARIES.
70992
70993 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
70994             Bruno Haible  <bruno@clisp.org>
70995
70996         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
70997         if compiling with "gcc -ansi".
70998
70999 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
71000
71001         Fix some incompatibilities with gcc -ansi -pedantic.
71002         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
71003         if compiling pedantically with GCC, unless it's C99 or later.
71004         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
71005         it mishandles gcc -ansi -pedantic as well.
71006         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
71007         if gcc -pedantic.
71008         * lib/regexec.c (check_node_accept_bytes): Don't use auto
71009         initializers for struct if -pedantic, unless it's C99 or later.
71010
71011 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
71012
71013         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
71014         Don't close an fd more than once. Identical atimes indicate
71015         success, not failure.
71016
71017 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
71018
71019         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
71020
71021 2006-11-23  Jim Meyering  <jim@meyering.net>
71022
71023         * build-aux/announce-gen: New file.  From coreutils.
71024
71025 2006-11-22  Jim Meyering  <jim@meyering.net>
71026
71027         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
71028         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
71029         (fts_read): Use a temporary to narrow the overused st_size member
71030         before using it in a switch statement.  Reported by Matthew Woehlke.
71031
71032         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
71033         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
71034
71035 2006-11-20  Bruno Haible  <bruno@clisp.org>
71036
71037         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
71038         changequote instead of pairs of brackets.
71039         Reported by Andreas Schwab <schwab@suse.de>.
71040
71041 2006-11-21  Jim Meyering  <jim@meyering.net>
71042
71043         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
71044         so as to remain compatible with older compilers.
71045         Patch from Michael Deutschmann.
71046
71047 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
71048
71049         * MODULES.html.sh (File system functions): Add openat.
71050
71051         * lib/openat.h (rpl_fstatat): New macro, if
71052         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
71053         (fstatat): Define to rpl_fstatat under the same conditions,
71054         unless COMPILING_FSTATAT.
71055         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
71056         seems to have the bug.
71057         * lib/fstatat.c: New file.
71058         * modules/openat (Files): Add it.
71059
71060 2006-11-20  Bruno Haible  <bruno@clisp.org>
71061
71062         * Makefile: New file.
71063
71064 2006-11-20  Jim Meyering  <jim@meyering.net>
71065
71066         The beginnings of syntax-related checks for gnulib.
71067         * lib/Makefile: New file.
71068         * lib/t-idcache: New script.  Ensure that the two halves of
71069         idcache.c stay in sync.
71070
71071         * lib/idcache.c: Adjust comments in user- and group- portions to
71072         be more accurate, and to be consistent with one another.
71073
71074 2006-11-20  Jim Meyering  <jim@meyering.net>
71075
71076         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
71077         continue using the flexible array member (thus, this module performs
71078         half as many malloc calls), with the addition that...
71079         (getgroup, getuser): Consistently record a non-match via an empty
71080         "name" string, and map an empty string match to a NULL return value.
71081         * modules/idcache (Depends-on): Re-add flexmember.
71082
71083         * lib/idcache.c (getuser): Remove all uses of the register keyword.
71084         (getuidbyname, getgroup, getgidbyname): Likewise.
71085
71086         Use cleaner syntax: NULL rather than 0.
71087         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
71088
71089 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
71090
71091         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
71092         It mishandled the case where the group was missing.
71093         Problem reported by Greg Schafer.
71094         * modules/idcache: Likewise.
71095
71096 2006-11-18  Jim Meyering  <jim@meyering.net>
71097
71098         * check-module (%exempt_header): Add exception for some
71099         conditionally-included headers.
71100
71101         * modules/i-ring (Depends-on): Add verify.
71102         (License): Change to LGPL.
71103
71104 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
71105
71106         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
71107         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
71108         and inttostr.h.  Use snprintf rather than uinttostr, so that
71109         LGPLed code doesn't depend on GPLed.
71110
71111 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
71112
71113         * modules/inline (License): Change from GPL to LGPL.
71114
71115 2006-11-17  Jim Meyering  <jim@meyering.net>
71116
71117         * modules/d-type (License): Switch to LGPL.
71118
71119 2006-11-15  Bruno Haible  <bruno@clisp.org>
71120
71121         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
71122
71123 2006-11-15  Eric Blake  <ebb9@byu.net>
71124
71125         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
71126         the module dependency.
71127
71128 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
71129             Bruno Haible  <bruno@clisp.org>
71130
71131         * gnulib-tool (func_create_testdir): Add license consistency check.
71132
71133 2006-11-15  Eric Blake  <ebb9@byu.net>
71134
71135         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
71136         random "(cached)" in configure output.
71137
71138 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71139
71140         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
71141         test for conforming inttypes.h is both announced and cached.
71142
71143         * MODULES.html.sh (seen_modules, seen_files): New variables.
71144         (func_module): Rewrite to use a few less gnulib-tool and sed
71145         invocations.  Avoid a couple of quadratic algorithms for ...
71146         (missed_modules, missed_files): ... these, with ...
71147         (func_append, func_tmpdir): ... these new functions, from
71148         gnulib-tool.  Analogously, install traps for cleanup.
71149
71150         * tests/test-gc.c (main): Remove unused variables.
71151         * tests/test-read-file.c: Include stdlib.h, for 'free'.
71152
71153 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
71154
71155         * modules/inttostr (License): Change to LGPL.
71156
71157 2006-11-14  Eric Blake  <ebb9@byu.net>
71158
71159         * modules/tempname (License): Change to LGPL.
71160
71161 2006-11-14  Eric Blake  <ebb9@byu.net>
71162
71163         * doc/functions.texi (Function Portability): *printf functions on
71164         Cygwin now understand all POSIX size specifiers.
71165
71166 2006-11-14  Bruno Haible  <bruno@clisp.org>
71167
71168         * modules/c-ctype (License): Change to LGPL.
71169
71170 2006-11-12  Bruno Haible  <bruno@clisp.org>
71171
71172         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
71173         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
71174         for GNOME libraries, for which the include files are installed in
71175         subdirectories of $prefix/include.
71176
71177 2006-11-12  Bruno Haible  <bruno@clisp.org>
71178
71179         * m4/lib-link.m4: Require at least autoconf-2.54.
71180         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
71181         name to underscores for the --with option.
71182
71183 2006-11-13  Bruno Haible  <bruno@clisp.org>
71184
71185         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
71186         the tests directory.
71187         Reported by Ralf Wildenhues.
71188
71189 2006-11-13  Bruno Haible  <bruno@clisp.org>
71190
71191         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
71192         (func_emit_initmacro_end): Undo the override here.
71193         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
71194         Works around the famous automake error in coreutils.
71195
71196 2006-11-13  Eric Blake  <ebb9@byu.net>
71197
71198         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
71199         element, not its node.
71200
71201 2006-11-12  Bruno Haible  <bruno@clisp.org>
71202
71203         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
71204         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
71205
71206 2006-11-12  Bruno Haible  <bruno@clisp.org>
71207
71208         * gnulib-tool: New option --local-symlink.
71209         (func_usage): Document it.
71210         (lsymbolic): New variable.
71211         (func_import, func_create_testdir): If --symlink was not specified,
71212         test whether --local-symlink was specified and the file comes from
71213         the local_gnulib_dir.
71214
71215 2006-11-12  Bruno Haible  <bruno@clisp.org>
71216
71217         * gnulib-tool (func_ln): New function.
71218         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
71219
71220 2006-11-12  Bruno Haible  <bruno@clisp.org>
71221
71222         Finish support for source files in subdirectories.
71223         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
71224         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
71225         AUTOMAKE_OPTIONS.
71226         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
71227
71228 2006-11-12  Bruno Haible  <bruno@clisp.org>
71229
71230         * gnulib-tool (func_get_automake_snippet): Synthesize also an
71231         EXTRA_lib_SOURCES augmentation.
71232         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
71233
71234 2006-11-12  Jim Meyering  <jim@meyering.net>
71235
71236         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
71237         file descriptors.  This also averts a failure on systems with
71238         native openat support when a traversed directory lacks "x" access.
71239         * lib/fts_.h: Include "i-ring.h"
71240         (struct FTS) [fts_fd_ring]: New member.
71241         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
71242         (FCHDIR): Add parentheses.
71243         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
71244         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
71245         When descending, rather than simply closing the previous
71246         fts_cwd_fd value, push that file descriptor onto the ring.
71247         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
71248         (fts_open): Initialize the new fd_ring member.
71249         (fts_close): Clear the ring.
71250         (fts_safe_changedir): When possible, use our new fd_ring to skip
71251         the diropen and fstat and dev/ino comparison that would normally
71252         accompany a virtual `chdir ("..")'.
71253
71254         * modules/fts (Depends-on): Add i-ring.
71255         * modules/i-ring: New module.
71256         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
71257         * m4/i-ring.m4: New file.
71258
71259 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71260
71261         * gnulib-tool (func_create_testdir): Fix replacement of
71262         `build-aux' in configure.ac.  Run autotools in gltests
71263         subdirectory.
71264         (func_create_testdir, func_create_megatestdir, test): There is
71265         no need for '--force' in most autotool invocations in a new
71266         tree.  Actually fail the whole test if any of the tools, or the
71267         configure or make stages fail.
71268
71269         Sync from Automake.
71270         * build-aux/gnupload: Revert last change.  Add pointer to upload
71271         instructions of the GNU Maintenance Instructions.
71272         Suggestion by Karl Berry.
71273
71274 2006-11-10  Jim Meyering  <jim@meyering.net>
71275
71276         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
71277
71278 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
71279
71280         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
71281         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
71282         (bind_textdomain_codeset) [! ENABLE_NLS]:
71283         Evaluate all the arguments.  That way, callers get compatible behavior
71284         if the arguments have side effects.  Also, it avoids some GCC
71285         diagnostics in some cases; Joel E. Denny reported problems when Bison
71286         was configured with --enable-gcc-warnigs.
71287
71288 2006-11-10  Jim Meyering  <jim@meyering.net>
71289
71290         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
71291         relevant options in CFLAGS (like -O, -fno-inline) are taken into
71292         account.
71293
71294 2006-11-10  Jim Meyering  <jim@meyering.net>
71295
71296         * modules/inline: New file/module.
71297         * modules/xalloc (Files): Remove m4/inline.m4.
71298         (Depends-on): Add inline, instead.
71299         * modules/oset: Likewise.
71300         * modules/list: Likewise.
71301
71302 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
71303
71304         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
71305         Problem reported by Matthew Woehlke.
71306
71307 2006-11-09  Bruno Haible  <bruno@clisp.org>
71308
71309         * lib/tempname.c (gen_tempname): Remove variant that invokes
71310         __gen_tempname.
71311         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
71312         __gen_tempname.
71313
71314 2006-11-08  Bruno Haible  <bruno@clisp.org>
71315
71316         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
71317         to 'yes' instead of 'cross-compiling'.
71318
71319 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
71320
71321         * lib/quotearg.h (quotearg_free): New decl.
71322         * lib/quotearg.c (quotearg_free): New function.
71323         (slot0, nslots, slotvec0, slotvec):
71324         Now file-scope so that quotearg_free can get at them.
71325
71326 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71327
71328         Sync from Automake.
71329         * build-aux/gnupload: Add missing 'gnu' to example URL.
71330         Report by Karl Berry.
71331
71332 2006-11-08  Bruno Haible  <bruno@clisp.org>
71333
71334         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
71335         Suggested by Paul Eggert.
71336
71337 2006-11-08  Jim Meyering  <jim@meyering.net>
71338
71339         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
71340         It's already included if !_LIBC.
71341         (fts_safe_changedir): Add a comment.
71342
71343 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
71344
71345         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
71346         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
71347         Matthew Woehlke.
71348
71349         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
71350         definitions up, to avoid colliding with change below.
71351         (static_inline) [HAVE_INLINE]: New macro.
71352         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
71353         Provide extern decls when !HAVE_INLINE.  Do not define unless
71354         static_inline is defined, either by us or by xmalloc.c.  Use
71355         static_inline rather than static inline.
71356         (XCALLOC): Optimize sizeof(T) = 1 case.
71357         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
71358
71359 2006-11-07  Bruno Haible  <bruno@clisp.org>
71360
71361         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
71362         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
71363         AC_C_INLINE.
71364         * modules/xalloc (Files): Add m4/inline.m4.
71365
71366 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71367
71368         * README: Fix typo.
71369         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
71370         (Miscellanous Notes): ...from this.
71371
71372 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
71373
71374         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
71375         Mention that offsetof should be used instead of sizeof.
71376         From Bruno Haible.
71377
71378 2006-11-07  Bruno Haible  <bruno@clisp.org>
71379
71380         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
71381
71382 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
71383
71384         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
71385         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
71386         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
71387         (gl_tree_add_before, gl_tree_add_after):
71388         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
71389         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
71390         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
71391         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
71392         (gl_linked_add_after, gl_linked_add_at): Likewise.
71393         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
71394         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
71395         (gl_tree_add_before, gl_tree_add_after): Likewise.
71396         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
71397         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
71398         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
71399
71400 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71401
71402         * lib/gl_oset.h: Use C comment style, not C++ comment style.
71403
71404 2006-11-06  Bruno Haible  <bruno@clisp.org>
71405
71406         * m4/inline.m4: New file.
71407         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
71408         * modules/list (Files): Add m4/inline.m4.
71409         * modules/oset (Files): Likewise.
71410
71411 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
71412
71413         * lib/idcache.c: Include <stddef.h>, for offsetof.
71414         (struct userid.name): Change from char * to a flexible array member.
71415         All uses changed.
71416         * modules/idcache (Depends-on): Add flexmember.
71417
71418         * MODULES.html.sh (Core language properties): New module flexmember.
71419         * modules/flexmember, m4/flexmember.m4: New files.
71420
71421         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
71422         inline functions that are identical with the old xnmalloc_inline,
71423         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
71424         that we can avoid some unnecessary integer multiplications and
71425         divisions in the common case where the element size is known at
71426         compile time.
71427         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
71428         needed.
71429         (xnboundedmalloc): Remove.
71430         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
71431         arguments, for consistency with rest of this header.
71432         (xcharalloc): Rewrite using XNMALLOC.
71433         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
71434         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
71435         versions have been moved to lib/xalloc.h and renamed to be the
71436         non-*_inline versions.
71437         (xmalloc, xrealloc): Implement without reference to the xnmalloc
71438         and xnrealloc functions, since those functions are now inline and
71439         now call us.
71440         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
71441         renaming described above.
71442         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
71443         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
71444         captures the dependency in AC_C_INLINE.
71445
71446         New module canonicalize-lgpl, proposed by Charles Wilson in
71447         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
71448         with a few small changes afterwards.
71449         * MODULES.html.sh (File system functions): New module
71450         canonicalize-lgpl.
71451         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
71452         and canonicalize_file_name.
71453         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
71454         * modules/canonicalize-lgpl: New files.
71455
71456 2006-11-05  Bruno Haible  <bruno@clisp.org>
71457
71458         * gnulib-tool (func_import, func_create_testdir): Create directories
71459         also for files in subdirectories of lib/.
71460
71461 2006-11-05  Bruno Haible  <bruno@clisp.org>
71462
71463         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
71464         ANSI C compliant.
71465
71466 2006-11-03  Bruno Haible  <bruno@clisp.org>
71467
71468         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
71469         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
71470         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
71471         (xnboundedmalloc): New inline function.
71472         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
71473         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
71474         xmalloc.
71475         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
71476         xmalloc.
71477         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
71478         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
71479         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
71480         xmalloc.
71481         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
71482         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
71483         xmalloc.
71484         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
71485         gl_tree_add_after): Use XMALLOC instead of xmalloc.
71486         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
71487         xmalloc.
71488         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
71489         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
71490         gl_tree_add_after): Use XMALLOC instead of xmalloc.
71491         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
71492         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
71493         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
71494         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
71495
71496 2006-11-03  Bruno Haible  <bruno@clisp.org>
71497
71498         * lib/c-ctype.h [C++]: Define functions without name mangling.
71499         * lib/fwriteerror.h [C++]: Likewise.
71500         * lib/gcd.h [C++]: Likewise.
71501         * lib/linebreak.h [C++]: Likewise.
71502
71503 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
71504
71505         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
71506         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
71507         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
71508         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
71509         Check for functions and headers just once.
71510         Check for declaration of canonicalize_file_name.
71511         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
71512
71513 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
71514
71515         * gnulib-tool (func_import): Fix typo in actioncmd.
71516
71517 2006-11-02  Bruno Haible  <bruno@clisp.org>
71518
71519         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
71520         newline sequence in the Makefile.am snippet as a space, like "make"
71521         does.
71522         Reported by Roger Persson <perrog@gmail.com>.
71523
71524 2006-11-01  Bruno Haible  <bruno@clisp.org>
71525
71526         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
71527         already declared in <string.h>.
71528         * lib/strcase.h (strncasecmp): Don't declare it if yes.
71529
71530 2006-11-01  Bruno Haible  <bruno@clisp.org>
71531
71532         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
71533         * lib/strcase.h: Include <string.h>.
71534         (strcasecmp): Define to rpl_strcasecmp here.
71535
71536 2006-11-01  Bruno Haible  <bruno@clisp.org>
71537
71538         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
71539
71540 2006-11-01  Eric Blake  <ebb9@byu.net>
71541
71542         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
71543
71544         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
71545
71546 2006-10-29  Bruno Haible  <bruno@clisp.org>
71547
71548         Make it compile in C++ mode.
71549         * lib/full-write.c (full_rw): Add a cast.
71550
71551 2006-11-01  Bruno Haible  <bruno@clisp.org>
71552
71553         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
71554         be POSIX compliant.
71555         Reported by Roger Persson <perrog@gmail.com>.
71556
71557 2006-11-01  Eric Blake  <ebb9@byu.net>
71558
71559         * lib/getopt_.h: Fix comments.
71560
71561 2006-10-31  Eric Blake  <ebb9@byu.net>
71562
71563         * modules/tmpdir (Depends-on): Add sys_stat.
71564         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
71565         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
71566         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
71567         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
71568         tempname.
71569
71570 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
71571
71572         Avoid some C++ diagnostics reported by Bruno Haible.
71573         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
71574         xmalloc.
71575         (quotearg_alloc): Use xcharalloc rather than xmalloc.
71576         (struct slotvec): Move to top level.
71577         (quotearg_n_options): Rewrite to avoid xmalloc.
71578         * lib/xalloc.h (xcharalloc): New function.
71579         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
71580         [defined __cplusplus]: Add function template that provides result
71581         type propagation.  This part of the change is from Bruno Haible.
71582
71583 2006-10-29  Bruno Haible  <bruno@clisp.org>
71584
71585         Make it compile in C++ mode.
71586         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
71587         * lib/strnlen1.c (strnlen1): Cast memchr result.
71588         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
71589         * lib/clean-temp.c (string_equals, string_hash): Add casts.
71590         (create_temp_dir): Rename local variable 'template'.
71591         (compile_csharp_using_sscli): Add cast.
71592         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
71593         * lib/findprog.c (find_in_path): Likewise.
71594         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
71595         * lib/wait-process.c (register_slave_subprocess): Likewise.
71596
71597 2006-10-22  Bruno Haible  <bruno@clisp.org>
71598
71599         * modules/tsearch: New file.
71600         * lib/tsearch.h: New file.
71601         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
71602         * m4/tsearch.m4: New file.
71603         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
71604
71605 2006-10-29  Eric Blake  <ebb9@byu.net>
71606
71607         * lib/arcfour.c: Assume config.h.
71608         * lib/arctwo.c: Likewise.
71609         * lib/base64.c: Likewise.
71610         * lib/check-version.c: Likewise.
71611         * lib/crc.c: Likewise.
71612         * lib/des.c: Likewise.
71613         * lib/gc-gnulib.c: Likewise.
71614         * lib/gc-libgcrypt.c: Likewise.
71615         * lib/gc-pbkdf2-sha1.c: Likewise.
71616         * lib/getaddrinfo.c: Likewise.
71617         * lib/getdelim.c: Likewise.
71618         * lib/getline.c: Likewise.
71619         * lib/hmac-md5.c: Likewise.
71620         * lib/hmac-sha1.c: Likewise.
71621         * lib/iconvme.c: Likewise.
71622         * lib/md2.c: Likewise.
71623         * lib/md4.c: Likewise.
71624         * lib/memxor.c: Likewise.
71625         * lib/read-file.c: Likewise.
71626         * lib/readline.c: Likewise.
71627         * lib/rijndael-alg-fst.c: Likewise.
71628         * lib/rijndael-api-fst.c: Likewise.
71629         * lib/xgetdomainname.c: Likewise.
71630
71631 2006-10-28  Eric Blake  <ebb9@byu.net>
71632
71633         * lib/xstrndup.c: Assume config.h.
71634
71635 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
71636
71637         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
71638         stat-macros.h is now for our own macros, whereas stat_h is for
71639         macros in the <sys/stat.h> name space.
71640         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
71641         (STAT_MACROS_H): Remove.
71642         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
71643         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
71644         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
71645         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
71646         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
71647         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
71648         Move these macros to ...
71649         * lib/stat_.h: here.  Don't include stat-macros.h.
71650         * lib/canonicalize.c: Don't include stat-macros.h.
71651         * lib/chown.c: Likewise.
71652         * lib/euidaccess.c: Likewise.
71653         * lib/file-type.c: Likewise.
71654         * lib/filemode.c: Likewise.
71655         * lib/glob.c: Likewise.
71656         * lib/isapipe.c: Likewise.
71657         * lib/lchown.c: Likewise.
71658         * lib/lstat.c: Likewise.
71659         * lib/mkdir-p.c: Likewise.
71660         * lib/rmdir.c: Likewise.
71661         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
71662         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
71663         unless mkdir isn't declared, to speed up 'configure'.
71664         Always create sys/stat.h, since it's unlikely any real sys/stat.h
71665         would define all the S_* symbols.
71666         * modules/canonicalize (Depends-on):
71667         Depend on sys_stat, not stat-macros.
71668         * modules/chown: Likewise.
71669         * modules/euidaccess: Likewise.
71670         * modules/filemode: Likewise.
71671         * modules/file-type: Likewise.
71672         * modules/glob: Likewise.
71673         * modules/isapipe: Likewise.
71674         * modules/lchown: Likewise.
71675         * modules/lstat: Likewise.
71676         * modules/mkancesdirs: Likewise.
71677         * modules/rmdir: Likewise.
71678         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
71679         * modules/modechange: Likewise.
71680         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
71681         (configure.ac): Remove gl_STAT_MACROS.
71682         * modules/sys_stat (Depends-on): Remove stat-macros.
71683
71684 2006-10-27  Bruno Haible  <bruno@clisp.org>
71685
71686         * m4/signed.m4: Remove file.
71687         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
71688         invocation.
71689         * modules/vasnprintf (Files): Remove m4/signed.m4.
71690
71691 2006-10-27  Bruno Haible  <bruno@clisp.org>
71692
71693         Update to GNU gettext 0.16.
71694         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
71695         m4/inttypes-h.m4, m4/signed.m4.
71696         * m4/gettext.m4: Update to GNU gettext 0.16.
71697         * m4/intl.m4: New file, from GNU gettext.
71698         * m4/intldir.m4: New file, from GNU gettext.
71699         * config/srclist.txt: Update
71700
71701 2006-10-27  Eric Blake  <ebb9@byu.net>
71702
71703         * MODULES.html.sh: Document tempname.
71704         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
71705         dependencies.
71706         (Files): Move lib/tempname.c...
71707         * modules/tempname: ...to this new module.
71708         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
71709         (gl_PREREQ_TEMPNAME): Move...
71710         * m4/tempname.m4: ...to this new file.
71711         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
71712         * modules/sys_stat (Depends-on): Add stat-macros.
71713         * lib/stat_.h (includes): Pick up stat macros.
71714         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
71715         if stat macros are broken.
71716         * lib/tempname.c (includes): No need to include "stat-macros.h".
71717         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
71718         (direxists, __path_search) [!_LIBC]: Don't compile these in
71719         gnulib; the tmpdir module covers that.
71720         * lib/tempname.h: New file.
71721
71722 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
71723
71724         * COPYING: Explain how gnulib-tool converts licence headers.
71725         Almost all wording by Eric Blake.
71726
71727 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
71728
71729         * lib/mbchar.h (is_basic_table): Make read-only.
71730         * lib/mbchar.c (is_basic_table): Likewise.
71731         Reported by John Darrington.
71732
71733 2006-10-25  Bruno Haible  <bruno@clisp.org>
71734
71735         * lib/progname.h (set_program_name): Undefine before defining.
71736
71737 2006-10-25  Bruno Haible  <bruno@clisp.org>
71738
71739         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
71740         false for non-gcc C++ compilers.
71741         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
71742
71743 2006-10-24  Bruno Haible  <bruno@clisp.org>
71744
71745         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
71746         iconv implementations like Irix iconv.
71747
71748 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
71749
71750         * modules/vararrays: New file.
71751         * m4/vararrays.m4: New file, taken from diffutils.
71752         * MODULES.html.sh: New module vararrays.
71753
71754 2006-10-24  Karl Berry  <karl@gnu.org>
71755
71756         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
71757         Don't call GNU Unix.
71758
71759 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71760
71761         * users.txt: Add Libtool.
71762
71763         Sync from Libtool:
71764
71765         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
71766
71767         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
71768         to gnulib's policy of including config.h unconditionally.
71769
71770 2006-10-24  Bruno Haible  <bruno@clisp.org>
71771
71772         * modules/wcwidth (Files): Add m4/wint_t.m4.
71773         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
71774         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
71775
71776 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
71777
71778         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
71779         to pacify GCC with some -W flags enabled.  Problem reported by
71780         Bruno Haible.
71781
71782 2006-10-24  Jim Meyering  <jim@meyering.net>
71783
71784         * MODULES.html.sh: Remove uinttostr.  It's not a module.
71785         Reported by Karl Berry.
71786
71787 2006-10-23  Bruno Haible  <bruno@clisp.org>
71788
71789         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
71790
71791 2006-10-24  Bruno Haible  <bruno@clisp.org>
71792
71793         * lib/gl_list.h: Use C comment style, not C++ comment style.
71794
71795 2006-10-23  Eric Blake  <ebb9@byu.net>
71796
71797         * lib/getaddrinfo.c (includes): Add missing include.
71798
71799 2006-10-23  Bruno Haible  <bruno@clisp.org>
71800             Paul Eggert  <eggert@cs.ucla.edu>
71801
71802         Ability to rename obstack_free.
71803         * lib/obstack.h (__obstack_free): New macro. Declare instead of
71804         obstack_free.
71805         (obstack_free): Invoke the __obstack_free macro.
71806         * lib/obstack.c (obstack_free): Use __obstack_free macro.
71807
71808 2006-10-23  Bruno Haible  <bruno@clisp.org>
71809             Paul Eggert  <eggert@cs.ucla.edu>
71810
71811         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
71812         __argc, __argv from the declaration. (They are defined as macros on
71813         mingw.)
71814
71815 2006-10-22  Bruno Haible  <bruno@clisp.org>
71816
71817         * doc/gnulib-intro.texi: New file.
71818         * doc/gnulib.texi: Include it.
71819
71820 2006-10-21  Bruno Haible  <bruno@clisp.org>
71821
71822         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
71823         "Introduction", "Miscellanous Notes", "Particular Modules".
71824
71825 2006-10-21  Bruno Haible  <bruno@clisp.org>
71826
71827         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
71828         Change mostlyclean-local rule to avoid sh syntax error from bash
71829         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
71830
71831 2006-10-23  Jim Meyering  <jim@meyering.net>
71832
71833         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
71834         in place of snprintf.
71835
71836         * modules/inttostr (Files): Add lib/uinttostr.c.
71837         * lib/uinttostr.c (inttostr): New file/function.
71838         * lib/inttostr.h (uinttostr): Declare.
71839         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
71840         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
71841         Add uinttostr.
71842         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
71843
71844 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
71845
71846         * lib/canonicalize.c (ELOOP): Define if not already defined.
71847         Problem reported by Bruno Haible in
71848         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
71849
71850 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
71851
71852         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
71853         Problem reported by Perry Smith and Ville Laurikari.
71854
71855         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
71856         uses.
71857
71858 2006-10-19  Bruno Haible  <bruno@clisp.org>
71859
71860         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
71861         for mingw.
71862
71863 2006-10-19  Bruno Haible  <bruno@clisp.org>
71864
71865         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
71866         Needed for mingw.
71867
71868 2006-10-19  Bruno Haible  <bruno@clisp.org>
71869
71870         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
71871
71872 2006-10-19  Bruno Haible  <bruno@clisp.org>
71873
71874         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
71875         it.
71876
71877 2006-10-19  Bruno Haible  <bruno@clisp.org>
71878
71879         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
71880         invocation.
71881
71882 2006-10-19  Bruno Haible  <bruno@clisp.org>
71883
71884         * gnulib-tool (func_create_testdir): Don't include ftruncate and
71885         mountlist by default.
71886
71887 2006-10-16  Bruno Haible  <bruno@clisp.org>
71888
71889         * lib/c-strstr.c: Include c-strstr.h.
71890
71891 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
71892
71893         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
71894         in a slash.
71895
71896 2006-10-18  Bruno Haible  <bruno@clisp.org>
71897
71898         * lib/lock.h [C++]: Wrap definitions in extern "C".
71899
71900 2006-10-18  Bruno Haible  <bruno@clisp.org>
71901
71902         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
71903         gl_LIBOBJS list.
71904
71905 2006-10-18  Bruno Haible  <bruno@clisp.org>
71906
71907         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
71908
71909 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
71910
71911         * lib/xstrtol.h: Include gettext.h.
71912         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
71913         Problem reported by Eric Blake.
71914         * modules/xstrtol (Depends-on): Add gettext-h.
71915
71916 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
71917
71918         * lib/strftime.c (advance): New macro.
71919         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
71920         incomplete type, so you can't add 0 to it.  Problem and patch
71921         reported by Eelco Dolstra for dietlibc.
71922
71923 2006-10-18  Jim Meyering  <jim@meyering.net>
71924
71925         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
71926         type for a local, and rename it: s/up/user_proc/.
71927
71928 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
71929
71930         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
71931         READ_UTMP_USER_PROCESS.
71932         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
71933
71934 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
71935
71936         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
71937         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
71938
71939 2006-10-17  Eric Blake  <ebb9@byu.net>
71940
71941         * lib/sigprocmask.c (sigprocmask): Fix typo.
71942
71943         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
71944
71945         * modules/clean-temp (Makefile.am): Don't add to make output...
71946         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
71947         config.h.
71948
71949 2006-10-17  Bruno Haible  <bruno@clisp.org>
71950
71951         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
71952         differently if DEFAULT_TEXT_DOMAIN is set.
71953
71954 2006-10-16  Bruno Haible  <bruno@clisp.org>
71955
71956         * lib/clean-temp.c: Include fwriteerror.h.
71957
71958 2006-10-16  Bruno Haible  <bruno@clisp.org>
71959
71960         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
71961
71962 2006-10-16  Bruno Haible  <bruno@clisp.org>
71963
71964         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
71965         * lib/sigprocmask.h: Include <sys/types.h>.
71966         (sigset_t): Use the system's definition if present.
71967
71968 2006-10-17  Eric Blake  <ebb9@byu.net>
71969
71970         * lib/xvasprintf.c (includes): Assume config.h.
71971         * lib/xasprintf.c (includes): Likewise.
71972
71973 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
71974
71975         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
71976         at least as wide as intmax_t.
71977
71978 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
71979
71980         (Imported from Automake.)
71981         * build-aux/gnupload: Update to version 1.1 of directive file.
71982
71983 2006-10-16  Eric Blake  <ebb9@byu.net>
71984
71985         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
71986         match Automake 1.10a.
71987
71988 2006-10-14  Bruno Haible  <bruno@clisp.org>
71989
71990         * modules/sigprocmask: New file.
71991         * lib/sigprocmask.h: New file.
71992         * lib/sigprocmask.c: New file.
71993         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
71994         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
71995         request sigprocmask.o.
71996         (gl_PREREQ_SIGPROCMASK): New macro.
71997         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
71998         (Depends-on): Add sigprocmask.
71999         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
72000         gt_SIGNALBLOCKING. Test for 'raise' only once.
72001         * lib/fatal-signal.c: Include sigprocmask.h.
72002         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
72003         unblock_fatal_signals): Define always.
72004         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
72005         sigprocmask.
72006
72007 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
72008
72009         Sync from Automake.
72010         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
72011         which incorrectly sets the mode of an existing destination
72012         directory.  In some cases the unpatched install-sh could do the
72013         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
72014         system.  We hope this is rare in practice, but it's clearly worth
72015         fixing.  Problem reported by Alex Unleashed in
72016         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
72017         Also, don't bother to check for -m bugs unless we're using -m;
72018         suggested by Stepan Kasal.
72019
72020 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72021
72022         Sync from Automake.
72023         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
72024         `-c' flag, so they appear at the same position as in %FASTDEP%
72025         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
72026         which ignores unknown options only after the first non-option.
72027         Bug report against M4 by Nelson H. F. Beebe.
72028
72029 2006-10-13  Jim Meyering  <jim@meyering.net>
72030
72031         Fix a bug in yesterday's change.
72032         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
72033         p->fts_statp->st_dev would be used uninitialized.
72034         Ensures that we always call fts_stat on the very first entry.
72035         Miklos Szeredi reported that find -xdev stopped working.
72036
72037 2006-10-12  Bruno Haible  <bruno@clisp.org>
72038
72039         * gnulib-tool (func_get_automake_snippet): Append an automatically
72040         computed EXTRA_DIST augmentation.
72041         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
72042         * modules/alloca-opt (Makefile.am): Likewise.
72043         * modules/allocsa (Makefile.am): Likewise.
72044         * modules/arcfour (Makefile.am): Likewise.
72045         * modules/arctwo (Makefile.am): Likewise.
72046         * modules/argmatch (Makefile.am): Likewise.
72047         * modules/argz (Makefile.am): Likewise.
72048         * modules/atexit (Makefile.am): Likewise.
72049         * modules/backupfile (Makefile.am): Likewise.
72050         * modules/byteswap (Makefile.am): Likewise.
72051         * modules/c-strtod (Makefile.am): Likewise.
72052         * modules/c-strtold (Makefile.am): Likewise.
72053         * modules/calloc (Makefile.am): Likewise.
72054         * modules/canon-host (Makefile.am): Likewise.
72055         * modules/canonicalize (Makefile.am): Likewise.
72056         * modules/chdir-long (Makefile.am): Likewise.
72057         * modules/chdir-safer (Makefile.am): Likewise.
72058         * modules/check-version (Makefile.am): Likewise.
72059         * modules/chown (Makefile.am): Likewise.
72060         * modules/cloexec (Makefile.am): Likewise.
72061         * modules/close-stream (Makefile.am): Likewise.
72062         * modules/closeout (Makefile.am): Likewise.
72063         * modules/crc (Makefile.am): Likewise.
72064         * modules/csharpexec (Makefile.am): Likewise.
72065         * modules/cycle-check (Makefile.am): Likewise.
72066         * modules/des (Makefile.am): Likewise.
72067         * modules/dev-ino (Makefile.am): Likewise.
72068         * modules/dirfd (Makefile.am): Likewise.
72069         * modules/dirname (Makefile.am): Likewise.
72070         * modules/dup2 (Makefile.am): Likewise.
72071         * modules/eealloc (Makefile.am): Likewise.
72072         * modules/error (Makefile.am): Likewise.
72073         * modules/euidaccess (Makefile.am): Likewise.
72074         * modules/exclude (Makefile.am): Likewise.
72075         * modules/exitfail (Makefile.am): Likewise.
72076         * modules/fcntl-safer (Makefile.am): Likewise.
72077         * modules/fcntl (Makefile.am): Likewise.
72078         * modules/file-type (Makefile.am): Likewise.
72079         * modules/fileblocks (Makefile.am): Likewise.
72080         * modules/filemode (Makefile.am): Likewise.
72081         * modules/filenamecat (Makefile.am): Likewise.
72082         * modules/fnmatch (Makefile.am): Likewise.
72083         * modules/fopen-safer (Makefile.am): Likewise.
72084         * modules/fpending (Makefile.am): Likewise.
72085         * modules/fprintftime (Makefile.am): Likewise.
72086         * modules/free (Makefile.am): Likewise.
72087         * modules/fsusage (Makefile.am): Likewise.
72088         * modules/ftruncate (Makefile.am): Likewise.
72089         * modules/fts (Makefile.am): Likewise.
72090         * modules/gc-arcfour (Makefile.am): Likewise.
72091         * modules/gc-des (Makefile.am): Likewise.
72092         * modules/gc-hmac-md5 (Makefile.am): Likewise.
72093         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
72094         * modules/gc-md4 (Makefile.am): Likewise.
72095         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
72096         * modules/gc-sha1 (Makefile.am): Likewise.
72097         * modules/gc (Makefile.am): Likewise.
72098         * modules/getaddrinfo (Makefile.am): Likewise.
72099         * modules/getcwd (Makefile.am): Likewise.
72100         * modules/getdelim (Makefile.am): Likewise.
72101         * modules/getdomainname (Makefile.am): Likewise.
72102         * modules/getgroups (Makefile.am): Likewise.
72103         * modules/gethostname (Makefile.am): Likewise.
72104         * modules/gethrxtime (Makefile.am): Likewise.
72105         * modules/getline (Makefile.am): Likewise.
72106         * modules/getloadavg (Makefile.am): Likewise.
72107         * modules/getlogin_r (Makefile.am): Likewise.
72108         * modules/getndelim2 (Makefile.am): Likewise.
72109         * modules/getopt (Makefile.am): Likewise.
72110         * modules/getpagesize (Makefile.am): Likewise.
72111         * modules/getpass-gnu (Makefile.am): Likewise.
72112         * modules/getpass (Makefile.am): Likewise.
72113         * modules/getsubopt (Makefile.am): Likewise.
72114         * modules/gettime (Makefile.am): Likewise.
72115         * modules/gettimeofday (Makefile.am): Likewise.
72116         * modules/getugroups (Makefile.am): Likewise.
72117         * modules/getusershell (Makefile.am): Likewise.
72118         * modules/glob (Makefile.am): Likewise.
72119         * modules/group-member (Makefile.am): Likewise.
72120         * modules/hard-locale (Makefile.am): Likewise.
72121         * modules/hash (Makefile.am): Likewise.
72122         * modules/hmac-md5 (Makefile.am): Likewise.
72123         * modules/hmac-sha1 (Makefile.am): Likewise.
72124         * modules/human (Makefile.am): Likewise.
72125         * modules/idcache (Makefile.am): Likewise.
72126         * modules/imaxabs (Makefile.am): Likewise.
72127         * modules/imaxdiv (Makefile.am): Likewise.
72128         * modules/inet_ntop (Makefile.am): Likewise.
72129         * modules/inet_pton (Makefile.am): Likewise.
72130         * modules/intprops (Makefile.am): Likewise.
72131         * modules/inttostr (Makefile.am): Likewise.
72132         * modules/inttypes (Makefile.am): Likewise.
72133         * modules/isapipe (Makefile.am): Likewise.
72134         * modules/javaversion (Makefile.am): Likewise.
72135         * modules/lchmod (Makefile.am): Likewise.
72136         * modules/lchown (Makefile.am): Likewise.
72137         * modules/localcharset (Makefile.am): Likewise.
72138         * modules/long-options (Makefile.am): Likewise.
72139         * modules/lstat (Makefile.am): Likewise.
72140         * modules/malloc (Makefile.am): Likewise.
72141         * modules/mathl (Makefile.am): Likewise.
72142         * modules/mbchar (Makefile.am): Likewise.
72143         * modules/md2 (Makefile.am): Likewise.
72144         * modules/md4 (Makefile.am): Likewise.
72145         * modules/md5 (Makefile.am): Likewise.
72146         * modules/memcasecmp (Makefile.am): Likewise.
72147         * modules/memchr (Makefile.am): Likewise.
72148         * modules/memcmp (Makefile.am): Likewise.
72149         * modules/memcoll (Makefile.am): Likewise.
72150         * modules/memcpy (Makefile.am): Likewise.
72151         * modules/memmem (Makefile.am): Likewise.
72152         * modules/memmove (Makefile.am): Likewise.
72153         * modules/mempcpy (Makefile.am): Likewise.
72154         * modules/memrchr (Makefile.am): Likewise.
72155         * modules/memset (Makefile.am): Likewise.
72156         * modules/memxor (Makefile.am): Likewise.
72157         * modules/mkancesdirs (Makefile.am): Likewise.
72158         * modules/mkdir-p (Makefile.am): Likewise.
72159         * modules/mkdir (Makefile.am): Likewise.
72160         * modules/mkdtemp (Makefile.am): Likewise.
72161         * modules/mkstemp (Makefile.am): Likewise.
72162         * modules/mktime (Makefile.am): Likewise.
72163         * modules/modechange (Makefile.am): Likewise.
72164         * modules/mountlist (Makefile.am): Likewise.
72165         * modules/nanosleep (Makefile.am): Likewise.
72166         * modules/obstack (Makefile.am): Likewise.
72167         * modules/openat (Makefile.am): Likewise.
72168         * modules/pagealign_alloc (Makefile.am): Likewise.
72169         * modules/pathmax (Makefile.am): Likewise.
72170         * modules/physmem (Makefile.am): Likewise.
72171         * modules/poll (Makefile.am): Likewise.
72172         * modules/posixtm (Makefile.am): Likewise.
72173         * modules/posixver (Makefile.am): Likewise.
72174         * modules/putenv (Makefile.am): Likewise.
72175         * modules/quote (Makefile.am): Likewise.
72176         * modules/quotearg (Makefile.am): Likewise.
72177         * modules/raise (Makefile.am): Likewise.
72178         * modules/read-file (Makefile.am): Likewise.
72179         * modules/readline (Makefile.am): Likewise.
72180         * modules/readlink (Makefile.am): Likewise.
72181         * modules/readtokens (Makefile.am): Likewise.
72182         * modules/readutmp (Makefile.am): Likewise.
72183         * modules/realloc (Makefile.am): Likewise.
72184         * modules/regex (Makefile.am): Likewise.
72185         * modules/rename-dest-slash (Makefile.am): Likewise.
72186         * modules/rename (Makefile.am): Likewise.
72187         * modules/rijndael (Makefile.am): Likewise.
72188         * modules/rmdir (Makefile.am): Likewise.
72189         * modules/rpmatch (Makefile.am): Likewise.
72190         * modules/safe-read (Makefile.am): Likewise.
72191         * modules/safe-write (Makefile.am): Likewise.
72192         * modules/same-inode (Makefile.am): Likewise.
72193         * modules/same (Makefile.am): Likewise.
72194         * modules/save-cwd (Makefile.am): Likewise.
72195         * modules/savedir (Makefile.am): Likewise.
72196         * modules/setenv (Makefile.am): Likewise.
72197         * modules/settime (Makefile.am): Likewise.
72198         * modules/sha1 (Makefile.am): Likewise.
72199         * modules/sig2str (Makefile.am): Likewise.
72200         * modules/snprintf (Makefile.am): Likewise.
72201         * modules/stat-macros (Makefile.am): Likewise.
72202         * modules/stat-time (Makefile.am): Likewise.
72203         * modules/stdbool (Makefile.am): Likewise.
72204         * modules/stdint (Makefile.am): Likewise.
72205         * modules/stdlib-safer (Makefile.am): Likewise.
72206         * modules/stpcpy (Makefile.am): Likewise.
72207         * modules/stpncpy (Makefile.am): Likewise.
72208         * modules/strcase (Makefile.am): Likewise.
72209         * modules/strcasestr (Makefile.am): Likewise.
72210         * modules/strchrnul (Makefile.am): Likewise.
72211         * modules/strcspn (Makefile.am): Likewise.
72212         * modules/strdup (Makefile.am): Likewise.
72213         * modules/strerror (Makefile.am): Likewise.
72214         * modules/strftime (Makefile.am): Likewise.
72215         * modules/strndup (Makefile.am): Likewise.
72216         * modules/strnlen (Makefile.am): Likewise.
72217         * modules/strpbrk (Makefile.am): Likewise.
72218         * modules/strsep (Makefile.am): Likewise.
72219         * modules/strstr (Makefile.am): Likewise.
72220         * modules/strtod (Makefile.am): Likewise.
72221         * modules/strtoimax (Makefile.am): Likewise.
72222         * modules/strtok_r (Makefile.am): Likewise.
72223         * modules/strtol (Makefile.am): Likewise.
72224         * modules/strtoll (Makefile.am): Likewise.
72225         * modules/strtoul (Makefile.am): Likewise.
72226         * modules/strtoull (Makefile.am): Likewise.
72227         * modules/strtoumax (Makefile.am): Likewise.
72228         * modules/strverscmp (Makefile.am): Likewise.
72229         * modules/sys_socket (Makefile.am): Likewise.
72230         * modules/sys_stat (Makefile.am): Likewise.
72231         * modules/sysexits (Makefile.am): Likewise.
72232         * modules/time_r (Makefile.am): Likewise.
72233         * modules/timegm (Makefile.am): Likewise.
72234         * modules/timespec (Makefile.am): Likewise.
72235         * modules/tmpfile-safer (Makefile.am): Likewise.
72236         * modules/trim (Makefile.am): Likewise.
72237         * modules/unistd-safer (Makefile.am): Likewise.
72238         * modules/unlinkdir (Makefile.am): Likewise.
72239         * modules/unlocked-io (Makefile.am): Likewise.
72240         * modules/userspec (Makefile.am): Likewise.
72241         * modules/utime (Makefile.am): Likewise.
72242         * modules/utimecmp (Makefile.am): Likewise.
72243         * modules/utimens (Makefile.am): Likewise.
72244         * modules/vasnprintf (Makefile.am): Likewise.
72245         * modules/vasprintf (Makefile.am): Likewise.
72246         * modules/vsnprintf (Makefile.am): Likewise.
72247         * modules/xalloc (Makefile.am): Likewise.
72248         * modules/xgetcwd (Makefile.am): Likewise.
72249         * modules/xnanosleep (Makefile.am): Likewise.
72250         * modules/xreadlink (Makefile.am): Likewise.
72251         * modules/xstrtod (Makefile.am): Likewise.
72252         * modules/xstrtol (Makefile.am): Likewise.
72253         * modules/xstrtold (Makefile.am): Likewise.
72254         * modules/yesno (Makefile.am): Likewise.
72255         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
72256
72257 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
72258
72259         * modules/error (Makefile.am): Distribute files through
72260         EXTRA_DIST, not lib_SOURCES.
72261
72262 2006-10-12  Eric Blake  <ebb9@byu.net>
72263
72264         * modules/error (Makefile.am): Distribute files in /lib.
72265         * modules/obstack (Makefile.am): Likewise.
72266
72267 2006-10-12  Bruno Haible  <bruno@clisp.org>
72268
72269         * modules/acl (Makefile.am): Distribute all files in lib/ through
72270         EXTRA_DIST.
72271         * modules/arcfour (Makefile.am): Likewise.
72272         * modules/arctwo (Makefile.am): Likewise.
72273         * modules/argmatch (Makefile.am): Likewise.
72274         * modules/argz (Makefile.am): Likewise.
72275         * modules/atexit (Makefile.am): Likewise.
72276         * modules/backupfile (Makefile.am): Likewise.
72277         * modules/c-strtod (Makefile.am): Likewise.
72278         * modules/c-strtold (Makefile.am): Likewise.
72279         * modules/calloc (Makefile.am): Likewise.
72280         * modules/canon-host (Makefile.am): Likewise.
72281         * modules/canonicalize (Makefile.am): Likewise.
72282         * modules/chdir-long (Makefile.am): Likewise.
72283         * modules/chdir-safer (Makefile.am): Likewise.
72284         * modules/check-version (Makefile.am): Likewise.
72285         * modules/chown (Makefile.am): Likewise.
72286         * modules/cloexec (Makefile.am): Likewise.
72287         * modules/close-stream (Makefile.am): Likewise.
72288         * modules/closeout (Makefile.am): Likewise.
72289         * modules/crc (Makefile.am): Likewise.
72290         * modules/cycle-check (Makefile.am): Likewise.
72291         * modules/des (Makefile.am): Likewise.
72292         * modules/dirfd (Makefile.am): Likewise.
72293         * modules/dirname (Makefile.am): Likewise.
72294         * modules/dup2 (Makefile.am): Likewise.
72295         * modules/euidaccess (Makefile.am): Likewise.
72296         * modules/exclude (Makefile.am): Likewise.
72297         * modules/exitfail (Makefile.am): Likewise.
72298         * modules/fcntl-safer (Makefile.am): Likewise.
72299         * modules/file-type (Makefile.am): Likewise.
72300         * modules/fileblocks (Makefile.am): Likewise.
72301         * modules/filemode (Makefile.am): Likewise.
72302         * modules/filenamecat (Makefile.am): Likewise.
72303         * modules/fnmatch (Makefile.am): Likewise.
72304         * modules/fopen-safer (Makefile.am): Likewise.
72305         * modules/fpending (Makefile.am): Likewise.
72306         * modules/fprintftime (Makefile.am): Likewise.
72307         * modules/free (Makefile.am): Likewise.
72308         * modules/fsusage (Makefile.am): Likewise.
72309         * modules/ftruncate (Makefile.am): Likewise.
72310         * modules/fts (Makefile.am): Likewise.
72311         * modules/gc (Makefile.am): Likewise.
72312         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
72313         * modules/getaddrinfo (Makefile.am): Likewise.
72314         * modules/getcwd (Makefile.am): Likewise.
72315         * modules/getdelim (Makefile.am): Likewise.
72316         * modules/getdomainname (Makefile.am): Likewise.
72317         * modules/getgroups (Makefile.am): Likewise.
72318         * modules/gethostname (Makefile.am): Likewise.
72319         * modules/gethrxtime (Makefile.am): Likewise.
72320         * modules/getline (Makefile.am): Likewise.
72321         * modules/getloadavg (Makefile.am): Likewise.
72322         * modules/getlogin_r (Makefile.am): Likewise.
72323         * modules/getopt (Makefile.am): Likewise.
72324         * modules/getpass (Makefile.am): Likewise.
72325         * modules/getpass-gnu (Makefile.am): Likewise.
72326         * modules/getsubopt (Makefile.am): Likewise.
72327         * modules/gettime (Makefile.am): Likewise.
72328         * modules/gettimeofday (Makefile.am): Likewise.
72329         * modules/getugroups (Makefile.am): Likewise.
72330         * modules/getusershell (Makefile.am): Likewise.
72331         * modules/glob (Makefile.am): Likewise.
72332         * modules/group-member (Makefile.am): Likewise.
72333         * modules/hard-locale (Makefile.am): Likewise.
72334         * modules/hash (Makefile.am): Likewise.
72335         * modules/hmac-md5 (Makefile.am): Likewise.
72336         * modules/hmac-sha1 (Makefile.am): Likewise.
72337         * modules/human (Makefile.am): Likewise.
72338         * modules/idcache (Makefile.am): Likewise.
72339         * modules/imaxabs (Makefile.am): Likewise.
72340         * modules/imaxdiv (Makefile.am): Likewise.
72341         * modules/inet_ntop (Makefile.am): Likewise.
72342         * modules/inet_pton (Makefile.am): Likewise.
72343         * modules/inttostr (Makefile.am): Likewise.
72344         * modules/isapipe (Makefile.am): Likewise.
72345         * modules/lchown (Makefile.am): Likewise.
72346         * modules/long-options (Makefile.am): Likewise.
72347         * modules/lstat (Makefile.am): Likewise.
72348         * modules/malloc (Makefile.am): Likewise.
72349         * modules/mathl (Makefile.am): Likewise.
72350         * modules/mbchar (Makefile.am): Likewise.
72351         * modules/md2 (Makefile.am): Likewise.
72352         * modules/md4 (Makefile.am): Likewise.
72353         * modules/md5 (Makefile.am): Likewise.
72354         * modules/memcasecmp (Makefile.am): Likewise.
72355         * modules/memchr (Makefile.am): Likewise.
72356         * modules/memcmp (Makefile.am): Likewise.
72357         * modules/memcoll (Makefile.am): Likewise.
72358         * modules/memcpy (Makefile.am): Likewise.
72359         * modules/memmem (Makefile.am): Likewise.
72360         * modules/memmove (Makefile.am): Likewise.
72361         * modules/mempcpy (Makefile.am): Likewise.
72362         * modules/memrchr (Makefile.am): Likewise.
72363         * modules/memset (Makefile.am): Likewise.
72364         * modules/memxor (Makefile.am): Likewise.
72365         * modules/mkancesdirs (Makefile.am): Likewise.
72366         * modules/mkdir (Makefile.am): Likewise.
72367         * modules/mkdir-p (Makefile.am): Likewise.
72368         * modules/mkdtemp (Makefile.am): Likewise.
72369         * modules/mkstemp (Makefile.am): Likewise.
72370         * modules/mktime (Makefile.am): Likewise.
72371         * modules/modechange (Makefile.am): Likewise.
72372         * modules/mountlist (Makefile.am): Likewise.
72373         * modules/nanosleep (Makefile.am): Likewise.
72374         * modules/openat (Makefile.am): Likewise.
72375         * modules/pagealign_alloc (Makefile.am): Likewise.
72376         * modules/physmem (Makefile.am): Likewise.
72377         * modules/poll (Makefile.am): Likewise.
72378         * modules/posixtm (Makefile.am): Likewise.
72379         * modules/posixver (Makefile.am): Likewise.
72380         * modules/putenv (Makefile.am): Likewise.
72381         * modules/quote (Makefile.am): Likewise.
72382         * modules/quotearg (Makefile.am): Likewise.
72383         * modules/raise (Makefile.am): Likewise.
72384         * modules/read-file (Makefile.am): Likewise.
72385         * modules/readline (Makefile.am): Likewise.
72386         * modules/readlink (Makefile.am): Likewise.
72387         * modules/readtokens (Makefile.am): Likewise.
72388         * modules/readutmp (Makefile.am): Likewise.
72389         * modules/realloc (Makefile.am): Likewise.
72390         * modules/regex (Makefile.am): Likewise.
72391         * modules/rename (Makefile.am): Likewise.
72392         * modules/rename-dest-slash (Makefile.am): Likewise.
72393         * modules/rijndael (Makefile.am): Likewise.
72394         * modules/rmdir (Makefile.am): Likewise.
72395         * modules/rpmatch (Makefile.am): Likewise.
72396         * modules/safe-read (Makefile.am): Likewise.
72397         * modules/safe-write (Makefile.am): Likewise.
72398         * modules/same (Makefile.am): Likewise.
72399         * modules/save-cwd (Makefile.am): Likewise.
72400         * modules/savedir (Makefile.am): Likewise.
72401         * modules/setenv (Makefile.am): Likewise.
72402         * modules/settime (Makefile.am): Likewise.
72403         * modules/sha1 (Makefile.am): Likewise.
72404         * modules/sig2str (Makefile.am): Likewise.
72405         * modules/snprintf (Makefile.am): Likewise.
72406         * modules/stdlib-safer (Makefile.am): Likewise.
72407         * modules/stpcpy (Makefile.am): Likewise.
72408         * modules/stpncpy (Makefile.am): Likewise.
72409         * modules/strcase (Makefile.am): Likewise.
72410         * modules/strcasestr (Makefile.am): Likewise.
72411         * modules/strchrnul (Makefile.am): Likewise.
72412         * modules/strcspn (Makefile.am): Likewise.
72413         * modules/strdup (Makefile.am): Likewise.
72414         * modules/strerror (Makefile.am): Likewise.
72415         * modules/strftime (Makefile.am): Likewise.
72416         * modules/strndup (Makefile.am): Likewise.
72417         * modules/strnlen (Makefile.am): Likewise.
72418         * modules/strpbrk (Makefile.am): Likewise.
72419         * modules/strsep (Makefile.am): Likewise.
72420         * modules/strstr (Makefile.am): Likewise.
72421         * modules/strtod (Makefile.am): Likewise.
72422         * modules/strtoimax (Makefile.am): Likewise.
72423         * modules/strtok_r (Makefile.am): Likewise.
72424         * modules/strtol (Makefile.am): Likewise.
72425         * modules/strtoll (Makefile.am): Likewise.
72426         * modules/strtoul (Makefile.am): Likewise.
72427         * modules/strtoull (Makefile.am): Likewise.
72428         * modules/strtoumax (Makefile.am): Likewise.
72429         * modules/strverscmp (Makefile.am): Likewise.
72430         * modules/time_r (Makefile.am): Likewise.
72431         * modules/timegm (Makefile.am): Likewise.
72432         * modules/tmpfile-safer (Makefile.am): Likewise.
72433         * modules/unistd-safer (Makefile.am): Likewise.
72434         * modules/unlinkdir (Makefile.am): Likewise.
72435         * modules/userspec (Makefile.am): Likewise.
72436         * modules/utime (Makefile.am): Likewise.
72437         * modules/utimecmp (Makefile.am): Likewise.
72438         * modules/utimens (Makefile.am): Likewise.
72439         * modules/vasnprintf (Makefile.am): Likewise.
72440         * modules/vasprintf (Makefile.am): Likewise.
72441         * modules/vsnprintf (Makefile.am): Likewise.
72442         * modules/xalloc (Makefile.am): Likewise.
72443         * modules/xgetcwd (Makefile.am): Likewise.
72444         * modules/xnanosleep (Makefile.am): Likewise.
72445         * modules/xreadlink (Makefile.am): Likewise.
72446         * modules/xstrtod (Makefile.am): Likewise.
72447         * modules/xstrtol (Makefile.am): Likewise.
72448         * modules/xstrtold (Makefile.am): Likewise.
72449         * modules/yesno (Makefile.am): Likewise.
72450
72451 2006-10-12  Jim Meyering  <jim@meyering.net>
72452
72453         * m4/getloadavg.m4: Revert the change below.
72454
72455         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
72456         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
72457         fail with a symlink, which is what coreutils' ./bootstrap now
72458         creates by default.
72459
72460 2006-10-12  Bruno Haible  <bruno@clisp.org>
72461
72462         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
72463         mingw.
72464         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
72465         MSVC and mingw explicitly.
72466
72467 2006-10-11  Simon Josefsson  <jas@extundo.com>
72468             Bruno Haible  <bruno@clisp.org>
72469
72470         Add support for multiple gnulib-tool invocations in the scope of a
72471         single configure.ac file.
72472         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
72473         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
72474         with the same contents as the _LIBADD variable.
72475         (func_emit_initmacro_start, func_emit_initmacro_end,
72476         func_emit_initmacro_done): New functions.
72477         (func_import, func_create_testdir): Invoke them. Allow the identifiers
72478         gl_LIBOBJS and gl_LTLIBOBJS.
72479
72480 2006-10-11  Bruno Haible  <bruno@clisp.org>
72481
72482         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
72483         (func_create_testdir): Don't create po/Makefile.am, don't invoke
72484         autoreconf. Instead, invoke autopoint explicitly but move back the
72485         *.m4 files from gnulib.
72486
72487 2006-10-11  Bruno Haible  <bruno@clisp.org>
72488
72489         * gnulib-tool (func_usage): Make module names after --create-testdir
72490         optional.
72491         (func_create_testdir): If no module was specified, use nearly all
72492         modules.
72493
72494 2006-10-12  Jim Meyering  <jim@meyering.net>
72495
72496         Big performance improvement for fts-based tools that use FTS_NOSTAT.
72497         Avoid spurious inode-mismatch problems on non-POSIX file systems.
72498         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
72499         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
72500         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
72501         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
72502         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
72503         (fts_set_stat_required): New function.
72504         (fts_open): Defer the calls to fts_stat, if possible or requested.
72505         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
72506         into fts_stat itself.
72507         (fts_read): Perform any required (deferred) fts_stat call.
72508         (fts_build): Likewise, for the directory we're about to open and read.
72509         In the readdir loop, carefully decide whether each entry will require
72510         an eventual call to fts_stat, using dirent.d_type info if available.
72511         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
72512         a command line argument into this function.  Update all callers.
72513         Map a return value of FTS_DOT to FTS_D for a command line argument.
72514         * modules/fts (Depends-on): Add d-type.  Alphabetize.
72515         Thanks to Miklos Szeredi for his tenacity and for the initial
72516         bug report about "find" failing on a FUSE-based file system.
72517
72518         * lib/fts.c (fts_open): Use consistent indentation.
72519
72520 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
72521
72522         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
72523         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
72524         reported by Jim Meyering.  All uses of cache variables renamed
72525         to match Autoconf's.
72526         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
72527         the other one.
72528
72529         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
72530         Fix misspelling in diagnostic.
72531
72532 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
72533
72534         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
72535         defined.  Problem reported by Matthew Woehlke.
72536
72537         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
72538         Add support for Tandem NonStop R series.
72539         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
72540         Use new macro.
72541
72542         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
72543         (has_trailing_slash): Omit size arg; all callers changed.
72544         Omit 'inline', since it doesn't help performance and we'd
72545         need to configure it.
72546         Don't count //, ///, etc. as having a trailing slash.
72547         As a side effect, this removes a C99ism reported by Matthew Woehlke.
72548         (rpl_rename_dest_slash): On failure, use rename's errno rather
72549         than (in some cases) an incorrect or junk errno.
72550         Simplify code by removing need to compute length; this does
72551         cause it to make two passes instead of one over the file name,
72552         but it's worth it.
72553
72554         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
72555         change, since Autoconf's version may no longer be appropriate now
72556         that we are using CVS Autoconf's version.  Add support for Tandem.
72557
72558 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
72559             Bruno Haible  <bruno@clisp.org>
72560
72561         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
72562         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
72563         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
72564         gl_AC_TYPE_LONG_LONG.
72565
72566         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
72567         instead of HAVE_LONG_LONG.
72568         * lib/printf-args.c (printf_fetchargs): Likewise.
72569         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
72570         * lib/vasnprintf.c (VASNPRINTF): Likewise.
72571         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
72572         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
72573         gl_AC_TYPE_LONG_LONG.
72574
72575 2006-10-11  Bruno Haible  <bruno@clisp.org>
72576
72577         * m4/longlong.m4: Add comments.
72578         * m4/ulonglong.m4: Likewise.
72579
72580 2006-10-10  Bruno Haible  <bruno@clisp.org>
72581
72582         Make it possible to #define stpcpy, strdup to aliases.
72583         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
72584         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
72585
72586 2006-10-10  Bruno Haible  <bruno@clisp.org>
72587
72588         Make it possible to #define gcd to an alias.
72589         * lib/gcd.c: Include config.h.
72590
72591 2006-10-10  Bruno Haible  <bruno@clisp.org>
72592
72593         Make it possible to #define c_isascii to an alias.
72594         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
72595         defined. Undefine the macros before defining them, to avoid gcc
72596         warnings.
72597         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
72598         define NO_C_CTYPE_MACROS early.
72599
72600 2006-10-10  Bruno Haible  <bruno@clisp.org>
72601
72602         Make it possible to #define set_program_name to an alias.
72603         * lib/progname.c: Don't undefine set_program_name; instead, undefine
72604         ENABLE_RELOCATABLE early.
72605
72606 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
72607
72608         Port to Tandem NSK OSS, which has 64-bit signed int but at most
72609         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
72610         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
72611         More generally, don't assume that 64-bit signed int is available
72612         if unsigned int is, and vice versa.
72613         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
72614         unsigned symbols, not on their signed counterparts.
72615         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
72616         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
72617         (UINT64_C, UINTMAX_C):
72618         Likewise.
72619         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
72620         unsigned counterparts.
72621         (Have_long_long, Unsigned): New macros.
72622         (Int): Renamed from INT.
72623         (strtoimax): Use the new macros.
72624         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
72625         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
72626         * modules/inttypes (inttypes.h): Substitute
72627         HAVE_UNSIGNED_LONG_LONG_INT.
72628         * modules/stdint (stdint.h): Likewise.
72629         (Files): Add m4/ulonglong.m4.
72630
72631 2006-10-10  Bruno Haible  <bruno@clisp.org>
72632
72633         Fix a gcc -Wshadow warning.
72634         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
72635         to 'bucket'.
72636         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
72637         gl_linked_indexof_from_to): Likewise.
72638         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
72639         Likewise.
72640         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
72641         Likewise.
72642         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
72643         Reported by Eric Blake.
72644
72645 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
72646
72647         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
72648         for NetBSD.  Problem reported by Bruno Haible.
72649
72650 2006-10-09  Jim Meyering  <jim@meyering.net>
72651
72652         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
72653         Patch from Bruno Haible.
72654
72655 2006-10-09  Jim Meyering  <jim@meyering.net>
72656
72657         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
72658         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
72659         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
72660
72661 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
72662
72663         Don't include <config.h> twice; this doesn't work in some cases,
72664         e.g., when config.h has "#define intmax_t long long int" and
72665         we include <config.h>, <inttypes.h>, <config.h> in that order.
72666         Problem reported by Matthew Woehlke in:
72667         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
72668         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
72669         * lib/fts-cycle.c: Don't include config.h.
72670         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
72671         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
72672         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
72673         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
72674         inttypes.h.
72675         * lib/xstrtoumax.c: Likewise.
72676         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
72677         __strtol and the like, so that this module is more like its siblings.
72678         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
72679         Remove; no longer needed now that we assume gnulib inttypes.h.
72680
72681 2006-10-08  Bruno Haible  <bruno@clisp.org>
72682
72683         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
72684         option.
72685
72686 2006-10-07  Jim Meyering  <jim@meyering.net>
72687
72688         * modules/inttypes (inttypes.h): Revert what seems to have been
72689         an inadvertent part of today's change: use "|", not "/" in the
72690         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
72691
72692 2006-10-07  Bruno Haible  <bruno@clisp.org>
72693
72694         * modules/sublist: New file.
72695
72696 2006-10-07  Bruno Haible  <bruno@clisp.org>
72697
72698         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
72699         * modules/argz (argz.h): Likewise.
72700         * modules/arpa_inet (arpa/inet.h): Likewise.
72701         * modules/byteswap (byteswap.h): Likewise.
72702         * modules/configmake (configmake.h): Likewise.
72703         * modules/fcntl (fcntl.h): Likewise.
72704         * modules/fnmatch (fnmatch.h): Likewise.
72705         * modules/getopt (getopt.h): Likewise.
72706         * modules/glob (glob.h): Likewise.
72707         * modules/inttypes (inttypes.h): Likewise.
72708         * modules/netinet_in (netinet/in.h): Likewise.
72709         * modules/poll (poll.h): Likewise.
72710         * modules/stdbool (stdbool.h): Likewise.
72711         * modules/stdint (stdint.h): Likewise.
72712         * modules/sys_select (sys/select.h): Likewise.
72713         * modules/sys_socket (sys/socket.h): Likewise.
72714         * modules/sys_stat (sys/stat.h): Likewise.
72715         * modules/sysexits (sysexits.h): Likewise.
72716         * modules/unistd (unistd.h): Likewise.
72717         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
72718         Add a "DO NOT EDIT" comment to the generated file.
72719         (func_import): Likewise for gnulib-comp.m4.
72720
72721 2006-10-07  Bruno Haible  <bruno@clisp.org>
72722
72723         * lib/gl_sublist.h: New file.
72724         * lib/gl_sublist.c: New file.
72725
72726 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
72727
72728         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
72729         name (relative to the original working directory) and the file
72730         name component (relative to the temporary working directory).  All
72731         callers changed.
72732         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
72733         * lib/mkdir-p.c (make_dir_parents): Likewise.
72734         * lib/mkdir-p.h (make_dir_parents): Likewise.
72735
72736 2006-10-06  Eric Blake  <ebb9@byu.net>
72737
72738         Define several macros for use by the clean-temp module.
72739         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
72740         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
72741         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
72742
72743         * lib/clean-temp.h (close_stream_temp): New declaration.
72744         * lib/clean-temp.c (includes): Pull in headers according to what
72745         other modules are in use.
72746         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
72747
72748 2006-10-06  Bruno Haible  <bruno@clisp.org>
72749
72750         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
72751         instead of fopen, fwriteerror.
72752
72753 2006-10-06  Bruno Haible  <bruno@clisp.org>
72754
72755         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
72756         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
72757         int.
72758         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
72759         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
72760         Return an error indicator.
72761         Suggested by Eric Blake.
72762
72763 2006-10-06  Bruno Haible  <bruno@clisp.org>
72764
72765         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
72766         Reported by Eric Blake.
72767
72768 2006-10-06  Bruno Haible  <bruno@clisp.org>
72769
72770         * modules/closeout (Description): Mention stderr too.
72771
72772 2006-10-06  Bruno Haible  <bruno@clisp.org>
72773         and Paul Eggert  <eggert@cs.ucla.edu>
72774
72775         * lib/closeout.c (close_stdout): Also close stderr.
72776         * lib/closeout.h: Update comment.
72777
72778 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
72779
72780         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
72781         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
72782         * lib/dirchownmod.c: Include lchown.h.
72783         * lib/lchown.c: Don't include files that lchown.h now includes.
72784         Don't declare chown, since lchown.h now does that.
72785         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
72786         (lchown): Define to rpl_chown if lchown is declared but
72787         does not exist.  Declare using a prototype if lchown is not
72788         declared.  Add a copyright notice.
72789         * lib/mkstemp.h: Include <unistd.h>.
72790         * lib/openat.c: Include lchown.h.
72791
72792         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
72793         we now test for that separately.
72794         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
72795         rather than O_NOFOLLOW, when testing whether it's possible to
72796         avoid a race condition reliably.
72797         * lib/savewd.c (savewd_chdir): Likewise.
72798
72799         Remove macros that are no longer needed now that stdint.h is
72800         reliable.
72801         * lib/fsusage.c (UINTMAX_MAX): Remove.
72802         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
72803         * lib/utimecmp.c (SIZE_MAX): Remove.
72804
72805         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
72806
72807         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
72808         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
72809         O_NOATIME works.
72810
72811 2006-10-05  Bruno Haible  <bruno@clisp.org>
72812
72813         * lib/gl_list.h (gl_sortedlist_search_from_to,
72814         gl_sortedlist_indexof_from_to): New declarations.
72815         (gl_list_implementation): New fields sortedlist_search_from_to,
72816         sortedlist_indexof_from_to.
72817         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
72818         inline functions.
72819         * lib/gl_list.c (gl_sortedlist_search_from_to,
72820         gl_sortedlist_indexof_from_to): New functions.
72821         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
72822         function.
72823         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
72824         (gl_array_sortedlist_search_from_to): New function.
72825         (gl_array_list_implementation): Update.
72826         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
72827         function.
72828         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
72829         (gl_carray_sortedlist_search_from_to): New function.
72830         (gl_carray_list_implementation): Update.
72831         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
72832         gl_linked_sortedlist_indexof_from_to): New functions.
72833         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
72834         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
72835         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
72836         gl_tree_sortedlist_indexof_from_to): New functions.
72837         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
72838         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
72839         Update.
72840         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
72841         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
72842         Update.
72843
72844 2006-10-05  Bruno Haible  <bruno@clisp.org>
72845
72846         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
72847         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
72848         (struct gl_list_implementation): Add fields search_from_to,
72849         indexof_from_to. Remove fields search, indexof.
72850         (gl_list_search): Use the search_from_to method.
72851         (gl_list_search_from, gl_list_search_from_to): New functions.
72852         (gl_list_indexof): Use the indexof_from_to method.
72853         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
72854         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
72855         (gl_list_search_from, gl_list_search_from_to): New functions.
72856         (gl_list_indexof): Use the indexof_from_to method.
72857         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
72858         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
72859         gl_array_indexof. Add start_index, end_index arguments.
72860         (gl_array_search_from_to): Renamed from gl_array_search. Add
72861         start_index, end_index arguments.
72862         (gl_array_remove, gl_array_list_implementation): Update.
72863         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
72864         gl_carray_indexof. Add start_index, end_index arguments.
72865         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
72866         start_index, end_index arguments.
72867         (gl_carray_remove, gl_carray_list_implementation): Update.
72868         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
72869         gl_linked_search. Add start_index, end_index arguments.
72870         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
72871         start_index, end_index arguments.
72872         (gl_linked_remove): Update.
72873         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
72874         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
72875         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
72876         field to 'size_t'.
72877         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
72878         gl_tree_search. Add start_index, end_index arguments.
72879         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
72880         start_index, end_index arguments.
72881         (gl_tree_remove): Update.
72882         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
72883         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
72884         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
72885         function.
72886         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
72887         gl_tree_search. Add start_index, end_index arguments.
72888         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
72889         start_index, end_index arguments.
72890         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
72891         Update.
72892         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
72893
72894 2006-10-05  Bruno Haible  <bruno@clisp.org>
72895
72896         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
72897
72898         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
72899         fwriteerror_temp): New declarations.
72900         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
72901         (descriptors): New variable.
72902         (cleanup): First, close the descriptors.
72903         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
72904         fclose_temp, fwriteerror_temp): New functions.
72905
72906 2006-10-04  Jim Meyering  <jim@meyering.net>
72907
72908         * lib/fts.c (fts_open): Tiny comment change.
72909
72910 2006-10-04  Bruno Haible  <bruno@clisp.org>
72911
72912         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
72913         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
72914         gl_LOCK_BODY.
72915         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
72916         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
72917         gl_LOCK_EARLY_BODY.
72918         (gl_LOCK): Require gl_LOCK_BODY.
72919
72920 2006-10-04  Bruno Haible  <bruno@clisp.org>
72921
72922         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
72923         (gl_oset_search_atleast): New declaration.
72924         (struct gl_oset_implementation): Add field 'search_atleast'.
72925         (gl_oset_search_atleast): New inline function.
72926         * lib/gl_oset.c (gl_oset_search_atleast): New function.
72927         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
72928         (gl_array_oset_implementation): Update.
72929         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
72930         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
72931         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
72932
72933 2006-10-04  Bruno Haible  <bruno@clisp.org>
72934
72935         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
72936
72937 2006-10-03  Bruno Haible  <bruno@clisp.org>
72938
72939         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
72940         from gl_avltreehash_list_implementation.
72941
72942 2006-10-03  Bruno Haible  <bruno@clisp.org>
72943
72944         * lib/gl_oset.c (gl_oset_add): Fix return type.
72945
72946 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
72947
72948         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
72949
72950 2006-10-02  Eric Blake  <ebb9@byu.net>
72951
72952         * modules/strnlen (Depends-on): Add extensions.
72953
72954 2006-10-02  Eric Blake  <ebb9@byu.net>
72955
72956         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
72957         definition in 2.60+.
72958
72959 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
72960
72961         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
72962         checks.
72963
72964 2006-10-02  Bruno Haible  <bruno@clisp.org>
72965
72966         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
72967         to the AUTOMAKE_OPTIONS.
72968         Reported by Jim Meyering.
72969
72970 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
72971
72972         Work around bug in Solaris 10 /proc file system:
72973         /proc/self/fd/NNN/.. isn't the parent directory of
72974         the directory whose file descriptor is NNN.  This needs to
72975         be worked around at run time, not compile time, since a
72976         program might be built on Solaris 8, where things work, and
72977         run on Solaris 10.
72978         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
72979         to use the following interface instead:
72980         (OPENAT_BUFFER_SIZE): New macro.
72981         (openat_proc_name): New function.
72982         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
72983         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
72984         Likewise.
72985         * lib/openat-proc.c: New file.
72986         * modules/openat (Files): Add lib/openat-proc.c.
72987         (Depends-on): Add same-inode, stdbool.
72988         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
72989
72990 2006-09-29  Bruno Haible  <bruno@clisp.org>
72991
72992         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
72993         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
72994         argument. Set stdout_closed before testing for ferror, not after.
72995         (fwriteerror, fwriteerror_no_ebadf): New functions.
72996
72997 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72998
72999         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
73000
73001 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
73002
73003         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
73004         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
73005
73006 2006-09-28  Jim Meyering  <jim@meyering.net>
73007
73008         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
73009         Include <unistd.h>.
73010
73011 2006-09-28  Bruno Haible  <bruno@clisp.org>
73012
73013         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
73014         * modules/linkedhash-list (Depends-on): Likewise.
73015         * modules/rbtreehash-list (Depends-on): Likewise.
73016
73017 2006-09-28  Bruno Haible  <bruno@clisp.org>
73018
73019         * lib/strndup.h: Simplify the redefinition of strndup.
73020         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
73021         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
73022
73023 2006-09-28  Bruno Haible  <bruno@clisp.org>
73024
73025         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
73026         * lib/gl_linkedhash_list.c: Likewise.
73027         * lib/gl_rbtreehash_list.c: Likewise.
73028
73029 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
73030
73031         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
73032         getaddrinfo.
73033
73034         * lib/__fpending.h: Don't include <stdio_ext.h> unless
73035         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
73036         it causes <stdio_ext.h> to cause a compile-time error.
73037         Problem reported by Nelson H. F. Beebe.
73038         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
73039         of HAVE_DECL___PENDING.
73040
73041         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
73042         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
73043         declaration.
73044
73045 2006-09-27  Jim Meyering  <jim@meyering.net>
73046
73047         This file could end up with a definition for a function
73048         named __strndup, rather than rpl_strndup on a system with
73049         incomplete weak_alias support.
73050         * lib/strndup.c (strndup): Rename from __strndup.
73051         Remove #defines that used to map __strndup to strndup.
73052         Don't use K&R prototypes.
73053         Remove LIBC-related code, since this file is not sync'd with glibc.
73054         * lib/strndup.h: Revamp, accordingly.
73055         * m4/strndup.m4: Modernize.
73056
73057 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
73058
73059         * modules/savewd (Depends-on): Add 'raise'.
73060         * lib/savewd.c: Include <signal.h>, for 'raise'.
73061
73062 2006-09-26  Jim Meyering  <jim@meyering.net>
73063
73064         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
73065         when we detect Darwin 8.7.0's acl_get_file bug.
73066         Rearrange to perform the new (below) run-test while $LIBS
73067         contains any acl-related library.  Set USE_ACL at the end.
73068         (gl_ACL_GET_FILE): New function.
73069
73070 2006-09-26  Eric Blake  <ebb9@byu.net>
73071
73072         * lib/verror.c: Include <config.h> unconditionally.
73073
73074 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
73075
73076         * modules/clock-time (Maintainer): Add self.
73077         * modules/getlogin_r (Depends-on): Add extensions.
73078
73079 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73080
73081         * modules/clock-time: New module.
73082         * modules/nanosleep (Depends-on): Add clock-time.
73083         * modules/gethrxtime (Depends-on): Likewise.
73084         * modules/gettime (Depends-on): Likewise.
73085         * modules/settime (Depends-on): Likewise.
73086
73087         * modules/fts-lgpl: Depend on openat.
73088         * modules/mkancesdirs: Depend on savewd.
73089         * modules/mkdir-p: Likewise.
73090
73091 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73092
73093         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
73094
73095         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
73096         `gl_have_arbitrary_file_name_length_limit' to
73097         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
73098         actually works between configure runs.
73099
73100 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73101             Bruno Haible  <bruno@clisp.org>
73102
73103         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
73104
73105 2006-09-25  Jim Meyering  <jim@meyering.net>
73106
73107         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
73108         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
73109
73110 2006-09-25  Eric Blake  <ebb9@byu.net>
73111
73112         * gnulib-tool (func_import, func_create_testdir): Fix typos in
73113         exec's in 2006-09-18 patch when shuffling fds.
73114
73115 2006-09-25  Bruno Haible  <bruno@clisp.org>
73116
73117         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
73118         Reported by Jim Meyering.
73119
73120 2006-09-24  Jim Meyering  <jim@meyering.net>
73121
73122         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
73123         compare a pointer against a literal "0".  That caused failures with
73124         at least HP-UX's hpcc.
73125
73126 2006-09-22  Simon Josefsson  <jas@extundo.com>
73127
73128         * modules/gc-sha1:
73129         * modules/gc-md4:
73130         * modules/gc-hmac-sha1:
73131         * modules/gc-hmac-md5:
73132         * modules/gc-des:
73133         * modules/gc-arcfour: Distribute more files.
73134
73135 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73136
73137         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
73138         (gl_linked_iterator_from_to): Initialize struct completely.
73139         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
73140         (gl_tree_iterator_from_to): Likewise
73141         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
73142         * lib/gl_array_list.c [lint] (gl_array_iterator)
73143         (gl_array_iterator_from_to): Likewise.
73144         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
73145         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
73146         (gl_carray_iterator_from_to): Likewise.
73147
73148         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
73149         * lib/md4.c (md4_process_block): Remove unused variable.
73150         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
73151         parentheses for clarity.
73152
73153 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73154
73155         * modules/bison-i18n (Depends-on): Add gettext.
73156
73157 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73158
73159         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
73160         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
73161         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
73162         also add missing comma that caused broken test.
73163         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
73164         stdlib.h, for `abort'.
73165         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
73166         variables.
73167         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
73168         include unistd.h if present, for `rmdir'.
73169         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
73170         variables.
73171         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
73172         in the process include standard headers for prototypes.
73173         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
73174         gets declared on GNU/Linux.
73175         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
73176         unistd.h, for `rmdir'.
73177         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
73178
73179         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
73180         always true.
73181         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
73182
73183         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
73184
73185 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73186
73187         * gnulib-tool (func_version): Create output all at once.  This
73188         may help avoid triggering unnecessary SIGPIPEs, and at any
73189         rate it doesn't hurt.
73190
73191 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73192             Bruno Haible  <bruno@clisp.org>
73193
73194         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
73195         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
73196         * m4/signed.m4 (bh_C_SIGNED): Likewise.
73197
73198         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
73199         (gl_FUNC_VASPRINTF): Invoke it.
73200
73201 2006-09-22  Bruno Haible  <bruno@clisp.org>
73202
73203         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
73204         getloadavg.c as first argument.
73205
73206 2006-09-22  Bruno Haible  <bruno@clisp.org>
73207
73208         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
73209         at the beginning of the gl_INIT macro.
73210         * modules/getloadavg (configure.ac): Pass $gl_source_base to
73211         gl_GETLOADAVG.
73212
73213 2006-09-22  Bruno Haible  <bruno@clisp.org>
73214
73215         * gnulib-tool (func_create_megatestdir): Don't include the config-h
73216         module.
73217         Suggested by Ralf Wildenhues.
73218
73219 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
73220
73221         Import this patch from libc:
73222
73223         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
73224
73225         * lib/regex_internal.c (re_string_reconstruct): Handle
73226         offset < pstr->valid_raw_len && pstr->offsets_needed case.
73227         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
73228         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
73229         re_string_context_at.
73230
73231         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
73232         now requires it.
73233         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
73234         gl_REGEX now does it for us.
73235         (gl_REGEX): Add test taken from
73236         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
73237
73238         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
73239         Check that large offsets work.  Modernize Autoconf usages.
73240         Prefer "yes" to mean a good thing rather than a bad.
73241         Don't put "#define mkstemp" in config.h, as this might interfere
73242         with standard system headers that "#define mkstemp mkstemp64".
73243
73244         * modules/mkstemp (Depends-on): Add extensions, so that
73245         mkstemp is visible on some platforms.
73246         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
73247         (Include): Change to "mkstemp.h" from <stdlib.h>.
73248         (Files): Add mkstemp.h.
73249
73250         * lib/mkstemp.h: New file, since some standard headers
73251         #define mkstemp.
73252         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
73253         Include "mkstemp.h".
73254         Make the _LIBC code resemble glibc original more,
73255         e.g., use K&R style.
73256         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
73257         (mkstemp): Remove, since mkstemp.h does this for us.
73258         * lib/stdlib--.h: Include mkstemp.h.
73259
73260         Import this patch from libc:
73261
73262         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
73263
73264         * lib/tempname.c (__gen_tempname): Change attempts_min
73265         into a macro.  Use preprocessor to decide how to initialize
73266         attempts [Coverity CID 67].
73267
73268 2006-09-20  Bruno Haible  <bruno@clisp.org>
73269
73270         * lib/mkdtemp.c: Import from libc.
73271         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
73272                 * sysdeps/posix/tempname.c (__gen_tempname): Change
73273                 attempts_min into a macro.  Use preprocessor to decide how to
73274                 initialize attempts [Coverity CID 67].
73275         2001-11-27  Paul Eggert  <eggert@twinsun.com>
73276                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
73277                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
73278
73279 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73280
73281         * gnulib-tool (func_exit): New function, to allow to pass the
73282         exit status portably through the trap.  Use everywhere.
73283         (--help, --version): Signal a write error.
73284         (trap): catch SIGPIPE, for write errors.
73285         Exit at the end of the trap, with the correct exit status.
73286
73287 2006-09-19  Karl Berry  <karl@gnu.org>
73288
73289         * doc/gnulib.texi: note about the license texinfo files.
73290
73291 2006-09-19  Eric Blake  <ebb9@byu.net>
73292
73293         * gnulib-tool: Avoid space-tab.
73294
73295 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
73296
73297         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
73298         that prevented coreutils 6.1 from building.  Problem reported
73299         by Petter Reinholdtsen.
73300
73301 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
73302
73303         * gnulib-tool (avoidlist): Fix typo that broke options like
73304         --avoid=lock that are used by coreutils bootstrap.
73305
73306 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
73307
73308         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
73309         more systematically.
73310
73311 2006-09-18  Jim Meyering  <jim@meyering.net>
73312
73313         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
73314
73315 2006-09-18  Bruno Haible  <bruno@clisp.org>
73316
73317         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
73318
73319 2006-09-18  Bruno Haible  <bruno@clisp.org>
73320
73321         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
73322         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
73323         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
73324         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
73325         * m4/gettext.m4: Require autoconf >= 2.52.
73326         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
73327         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
73328         of gl_cv_header_inttypes_h.
73329
73330 2006-09-18  Bruno Haible  <bruno@clisp.org>
73331
73332         * lib/javaversion.c: Include configmake.h.
73333
73334 2006-09-18  Bruno Haible  <bruno@clisp.org>
73335
73336         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
73337         avoid that the while loops be executed in a subshell.
73338
73339 2006-09-18  Bruno Haible  <bruno@clisp.org>
73340
73341         * MODULES.html.sh (func_module): Break long lines.
73342         Suggested by Bruce Korb <bkorb@gnu.org>.
73343
73344 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73345
73346         Speed up by a factor of 1.12.
73347         * gnulib-tool (nl): New variable.
73348         (func_import): Rewrite include directive extraction to only read each
73349         directive once.
73350
73351 2006-09-17  Bruno Haible  <bruno@clisp.org>
73352
73353         * modules/javaversion (Makefile.am): Remove DEFS setting.
73354         (Depends-on): Add configmake, for PKGDATADIR definition.
73355
73356 2006-09-17  Bruno Haible  <bruno@clisp.org>
73357
73358         * gnulib-tool (func_create_testdir): Rewrite all files at once.
73359
73360 2006-09-17  Bruno Haible  <bruno@clisp.org>
73361
73362         * gnulib-tool (func_append): New function, stolen from libtool.m4.
73363         (func_modules_transitive_closure, func_modules_add_dummy,
73364         func_modules_to_filelist, func_import, func_create_testdir,
73365         func_create_megatestdir, ...): Use it wherever possible.
73366         Suggested by Ralf Wildenhues.
73367
73368 2006-09-16  Karl Berry  <karl@gnu.org>
73369
73370         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
73371         to avoid sectioning errors.
73372         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
73373         [ifinfo]: blank line after @center-ed titles.
73374         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
73375         Spell FSF address consistently with others.
73376         (These changes approved by rms.)
73377
73378 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73379
73380         Speed up by a factor of 1.61.
73381         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
73382         already checked module names again.
73383
73384 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73385
73386         Speed up by a factor of 1.13.
73387         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
73388         for new_files, and the input to func_add_or_update.
73389
73390 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73391
73392         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
73393         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
73394
73395 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
73396
73397         * modules/mkancesdirs (Depends-on): Add fcntl.
73398         * modules/savewd: New file.
73399         * MODULES.html.sh (File system functions): Add savewd.
73400
73401         * modules/configmake (Makefile.am): Add support for the
73402         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
73403
73404 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
73405
73406         * m4/savewd.m4: New file.
73407
73408 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
73409
73410         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
73411         (dirchownmod): New arg FD.  All callers changed.
73412         Use FD rather than opening the directory ourself, as opening is
73413         now the caller's responsibility.
73414         * lib/dirchownmod.h: Likewise.
73415         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
73416         hosts that require <sys/types.h> before <sys/stat.h>.  Include
73417         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
73418         (test_dir): Remove.
73419         (mkancesdirs): Return length of prefix of FILE that has already
73420         been made, or -2 if there is a child doing the work.  Redo
73421         algorithm so that it is O(N) rather than O(N**2).  Optimize away
73422         ".", and treat ".." specially since it might stray back into
73423         already-created areas.  Use a subprocess if necessary.  New arg
73424         WD; all users changed.  MAKE_DIR function should now return 1
73425         if it creates a directory that is not readable.  Return -2 if
73426         a child process is spun off.
73427         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
73428         Adjust signature to match code.
73429         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
73430         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
73431         all users changed.
73432         * lib/savewd.c, lib/savewd.h: New files.
73433
73434 2006-09-15  Jim Meyering  <jim@meyering.net>
73435
73436         * modules/rename-dest-slash: New module.
73437         * MODULES.html.sh (posix_compat): Add it here.
73438
73439         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
73440
73441 2006-09-15  Jim Meyering  <jim@meyering.net>
73442
73443         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
73444         file.
73445
73446         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
73447
73448 2006-09-15  Jim Meyering  <jim@meyering.net>
73449
73450         * lib/rename-dest-slash.c (has_trailing_slash): Use
73451         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
73452         (rpl_rename_dest_slash): Perform the cheaper trailing slash
73453         test before testing whether SRC is a directory.
73454         Suggestions from Bruno Haible.
73455
73456         Avoid a warning about an unused variable.
73457         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
73458         into the #ifdef block where it's used.
73459
73460         * lib/rename-dest-slash.c: New file.
73461
73462 2006-09-14  Bruno Haible  <bruno@clisp.org>
73463
73464         * lib/allocsa.c: Include <config.h> unconditionally.
73465         * lib/asnprintf.c: Likewise.
73466         * lib/asprintf.c: Likewise.
73467         * lib/c-strcasecmp.c: Likewise.
73468         * lib/c-strcasestr.c: Likewise.
73469         * lib/c-strncasecmp.c: Likewise.
73470         * lib/c-strstr.c: Likewise.
73471         * lib/classpath.c: Likewise.
73472         * lib/clean-temp.c: Likewise.
73473         * lib/concatpath.c: Likewise.
73474         * lib/copy-file.c: Likewise.
73475         * lib/csharpcomp.c: Likewise.
73476         * lib/csharpexec.c: Likewise.
73477         * lib/execute.c: Likewise.
73478         * lib/fatal-signal.c: Likewise.
73479         * lib/findprog.c: Likewise.
73480         * lib/fwriteerror.c: Likewise.
73481         * lib/gl_array_list.c: Likewise.
73482         * lib/gl_array_oset.c: Likewise.
73483         * lib/gl_avltree_list.c: Likewise.
73484         * lib/gl_avltree_oset.c: Likewise.
73485         * lib/gl_avltreehash_list.c: Likewise.
73486         * lib/gl_carray_list.c: Likewise.
73487         * lib/gl_linked_list.c: Likewise.
73488         * lib/gl_linkedhash_list.c: Likewise.
73489         * lib/gl_list.c: Likewise.
73490         * lib/gl_oset.c: Likewise.
73491         * lib/gl_rbtree_list.c: Likewise.
73492         * lib/gl_rbtree_oset.c: Likewise.
73493         * lib/gl_rbtreehash_list.c: Likewise.
73494         * lib/imaxabs.c: Likewise.
73495         * lib/imaxdiv.c: Likewise.
73496         * lib/javacomp.c: Likewise.
73497         * lib/javaexec.c: Likewise.
73498         * lib/javaversion.c: Likewise.
73499         * lib/linebreak.c: Likewise.
73500         * lib/localcharset.c: Likewise.
73501         * lib/lock.c: Likewise.
73502         * lib/mbchar.c: Likewise.
73503         * lib/mbswidth.c: Likewise.
73504         * lib/mkdtemp.c: Likewise.
73505         * lib/pipe.c: Likewise.
73506         * lib/printf-args.c: Likewise.
73507         * lib/printf-parse.c: Likewise.
73508         * lib/progname.c: Likewise.
73509         * lib/progreloc.c: Likewise.
73510         * lib/readlink.c: Likewise.
73511         * lib/sh-quote.c: Likewise.
73512         * lib/stpcpy.c: Likewise.
73513         * lib/stpncpy.c: Likewise.
73514         * lib/strcasecmp.c: Likewise.
73515         * lib/strcasestr.c: Likewise.
73516         * lib/strcspn.c: Likewise.
73517         * lib/striconv.c: Likewise.
73518         * lib/strncasecmp.c: Likewise.
73519         * lib/strnlen1.c: Likewise.
73520         * lib/strstr.c: Likewise.
73521         * lib/strtok_r.c: Likewise.
73522         * lib/tls.c: Likewise.
73523         * lib/tmpdir.c: Likewise.
73524         * lib/unicodeio.c: Likewise.
73525         * lib/unsetenv.c: Likewise.
73526         * lib/vasnprintf.c: Likewise.
73527         * lib/vasprintf.c: Likewise.
73528         * lib/wait-process.c: Likewise.
73529         * lib/xallocsa.c: Likewise.
73530         * lib/xsetenv.c: Likewise.
73531         * lib/xstriconv.c: Likewise.
73532
73533 2006-09-13  Simon Josefsson  <jas@extundo.com>
73534
73535         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
73536         that internally, suggested by Ralf Wildenhues
73537         <Ralf.Wildenhues@gmx.de>.
73538
73539 2006-09-13  Simon Josefsson  <jas@extundo.com>
73540
73541         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
73542         @LIBOBJS@.
73543         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73544
73545 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
73546
73547         * lib/_fpending.c: Include <config.h> unconditionally, since we no
73548         longer worry about uses that don't define HAVE_CONFIG_H.
73549         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
73550         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
73551         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
73552         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
73553         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
73554         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
73555         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
73556         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
73557         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
73558         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
73559         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
73560         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
73561         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
73562         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
73563         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
73564         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
73565         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
73566         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
73567         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
73568         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
73569         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
73570         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
73571         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
73572         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
73573         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
73574         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
73575         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
73576         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
73577         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
73578         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
73579         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
73580         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
73581         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
73582         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
73583         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
73584         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
73585         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
73586         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
73587         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
73588         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
73589         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
73590         Likewise.
73591
73592 2006-09-13  Eric Blake  <ebb9@byu.net>
73593
73594         * lib/getopt.c: Fix typo in last commit.
73595
73596 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
73597
73598         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
73599         dgettext.
73600
73601 2006-09-12  Jim Meyering  <jim@meyering.net>
73602
73603         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
73604         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
73605         Reported by Nelson H. F. Beebe.
73606
73607 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
73608
73609         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
73610         program_invocation_name and program_invocation_short_name are
73611         initialized.
73612         * lib/argp-namefrob.h: Move declarations of program_invocation_name
73613         and program_invocation_short_name to argp.h, so they are visible
73614         to user programs.
73615         * lib/argp.h: Likewise
73616
73617 2006-09-10  Bruno Haible  <bruno@clisp.org>
73618
73619         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
73620         m4/inttypes_h.m4, m4/uintmax_t.m4.
73621
73622 2006-09-10  Bruno Haible  <bruno@clisp.org>
73623
73624         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
73625         gl_AC_TYPE_UINTMAX_T.
73626
73627 2006-09-10  Bruno Haible  <bruno@clisp.org>
73628
73629         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
73630
73631 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
73632
73633         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
73634         convention.  Text proposed by Bruno Haible.
73635         (struct argp_option): Document the use of N_() wrappers.
73636
73637         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
73638         '\v', and translate the two parts separately, instead of feeding
73639         the whole string to gettext.  This allows to exclude
73640         '\v' from the strings visible to the translator by writing doc
73641         strings as N_("..") "\v" N_("..").
73642
73643 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
73644
73645         * config/srclist.txt: Undo latest change; the bug was fixed.
73646
73647 2006-09-09  Bruno Haible  <bruno@clisp.org>
73648
73649         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
73650         assignments if building a library without libtool.
73651         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
73652         in func_emit_lib_Makefile_am.
73653         (func_import): When building a static library libfoo.a, arrange to
73654         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
73655         (func_create_testdir): Likewise.
73656         * modules/gc (configure.ac, Makefile.am): If building statically,
73657         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
73658         * modules/iconvme (configure.ac, Makefile.am): Likewise.
73659         * modules/striconv (configure.ac, Makefile.am): Likewise.
73660         Based on a suggestion by Ralf Wildenhues.
73661
73662 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
73663
73664         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
73665         Check for unistd.h too, since Autoconf doesn't assume POSIX.
73666         Also:
73667
73668         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
73669         Add year_2050_test to catch glibc bug 2821
73670         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
73671
73672         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
73673         Prefer #ifdef to #if.
73674
73675         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
73676         Return from 'main' instead of calling 'exit'.
73677
73678 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
73679
73680         * lib/mktime.c (guess_time_tm): Fix bug where mktime
73681         returned the maximum time_t value rather than (time_t) -1.
73682         Problem originally reported by William Bardwell
73683         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
73684
73685         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
73686         Moved to here ...
73687         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
73688         ... from here.
73689
73690 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
73691
73692         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
73693         2821 is fixed.
73694
73695 2006-09-08  Jim Meyering  <jim@meyering.net>
73696
73697         Don't make generated files read-only.  That would bother too many
73698         people.  However, do retain the ability to work when targets are
73699         read-only: remove the destination and temporary files before writing
73700         them (when generated via sed or echo), or by using the -f option for
73701         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
73702         * modules/alloca-opt, modules/argz, modules/arpa_inet:
73703         * modules/byteswap, modules/configmake, modules/fcntl:
73704         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
73705         * modules/localcharset, modules/netinet_in, modules/poll:
73706         * modules/stdbool, modules/stdint, modules/sys_select:
73707         * modules/sys_socket, modules/sys_stat, modules/sysexits:
73708
73709 2006-09-08  Jim Meyering  <jim@meyering.net>
73710
73711         Avoid new build failure on FreeBSD 6.0.
73712         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
73713         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
73714         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
73715
73716 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73717
73718         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
73719
73720 2006-09-07  Jim Meyering  <jim@meyering.net>
73721
73722         Fix global typo in last change: use chmod u-w, not chmod u-x.
73723         Spotted by Paul Eggert and Bruce Korb.
73724         * modules/alloca-opt, modules/argz, modules/arpa_inet:
73725         * modules/byteswap, modules/configmake, modules/fcntl:
73726         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
73727         * modules/localcharset, modules/netinet_in, modules/poll:
73728         * modules/stdbool, modules/stdint, modules/sys_select:
73729         * modules/sys_socket, modules/sys_stat, modules/sysexits:
73730
73731 2006-09-06  Jim Meyering  <jim@meyering.net>
73732
73733         Make generated files be read-only.
73734         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
73735         Ensure that each generated file is now read-only.
73736         * modules/argz: Likewise.
73737         * modules/arpa_inet: Likewise.
73738         * modules/byteswap: Likewise.
73739         * modules/configmake: Likewise.
73740         * modules/fcntl: Likewise.
73741         * modules/fnmatch: Likewise.
73742         * modules/getopt: Likewise.
73743         * modules/glob: Likewise.
73744         * modules/inttypes: Likewise.
73745         * modules/netinet_in: Likewise.
73746         * modules/poll: Likewise.
73747         * modules/stdbool: Likewise.
73748         * modules/stdint: Likewise.
73749         * modules/sys_select: Likewise.
73750         * modules/sys_socket: Likewise.
73751         * modules/sys_stat: Likewise.
73752         * modules/sysexits: Likewise.
73753         * modules/localcharset: Same as above, but continue using temporary
73754         file named "t-$@" (why different?) rather than the "$@-t" used
73755         everywhere else.
73756
73757         * modules/sysexits (Makefile.am): Replace literal occurrences
73758         of "sysexit.h" more readable, and more consistent, "$@".
73759
73760 2006-09-06  Bruno Haible  <bruno@clisp.org>
73761
73762         * modules/striconv: New file.
73763         * modules/xstriconv: New file.
73764         * MODULES.html.sh (Internationalization functions): Add striconv,
73765         xstriconv.
73766
73767 2006-09-06  Bruno Haible  <bruno@clisp.org>
73768
73769         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
73770         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
73771         not using libtool correctly.
73772
73773 2006-09-06  Bruno Haible  <bruno@clisp.org>
73774
73775         * lib/striconv.h: New file.
73776         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
73777         iconvstring.c.
73778         * lib/xstriconv.h: New file.
73779         * lib/xstriconv.c: New file.
73780
73781 2006-09-06  Bruno Haible  <bruno@clisp.org>
73782
73783         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
73784         lib_..._LDFLAGS.
73785
73786 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73787
73788         * lib/argz_.h: Sync from Libtool.
73789
73790         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
73791                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
73792
73793         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
73794
73795 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
73796
73797         * modules/trim: New file.
73798
73799 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
73800
73801         * lib/trim.h: New file.
73802         * lib/trim.c: New file.
73803
73804 2006-09-05  Bruno Haible  <bruno@clisp.org>
73805
73806         * MODULES.html.sh (String handling): Add trim.
73807
73808 2006-09-04  Karl Berry  <karl@gnu.org>
73809
73810         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
73811         until next release.
73812
73813 2006-09-03  Bruno Haible  <bruno@clisp.org>
73814
73815         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
73816         correctly.
73817
73818 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
73819
73820         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
73821         not gl_GETLOADAVG.  Omit unneeded semicolons.
73822         Problems reported by Ralf Wildenhues in
73823         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
73824         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
73825         at the end, which is the usual gnulib style.
73826
73827         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
73828         of doing all the work ourselves.
73829         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
73830         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
73831
73832 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
73833
73834         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
73835         Problem reported by Ralf Wildenhues in
73836         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
73837
73838         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
73839         HAVE_STRUCT_STATFS_F_FSTYPENAME.
73840
73841 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
73842
73843         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
73844         yesterday's patch by changing test -n to test -z.
73845
73846 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
73847
73848         * modules/getloadavg (Files): Add m4/getloadavg.m4.
73849         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
73850         the former is now obsolescent.
73851
73852         * modules/chdir-long (Depends-on): Add fcntl.
73853
73854 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
73855
73856         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
73857         obsolescent, and programs should use gnulib instead.
73858         * m4/getloadavg.m4: New file, with contents taken from Autoconf
73859         but with prefixes changed.
73860
73861 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
73862
73863         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
73864         or stdbool.h, because they might not exist while configuring.
73865
73866         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
73867         Don't include unistd.h or limits.h; not needed, since chdir-long.h
73868         does that for us.
73869         (O_DIRECTORY): Remove.
73870
73871 2006-08-31  Eric Blake  <ebb9@byu.net>
73872
73873         * gnulib-tool: Don't let emacs change spaces to TAB.
73874
73875 2006-08-31  Bruno Haible  <bruno@clisp.org>
73876
73877         * gnulib-tool: When calling func_import more than once, do it in a
73878         subshell.
73879         Reported by Eric Blake <ebb9@byu.net>.
73880
73881 2006-08-31  Bruno Haible  <bruno@clisp.org>
73882
73883         * gnulib-tool (nl): Remove variable.
73884         (sed_transform_lib_file): Use more robust test for config-h module.
73885         (func_import): Fix typo in 2006-08-25 patch.
73886
73887 2006-08-31  Bruno Haible  <bruno@clisp.org>
73888
73889         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
73890         specified, augment Makefile.am variables instead of assigning them.
73891
73892 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
73893
73894         Work around a bug in both the Linux and SunOS 64-bit kernels:
73895         nanosleep mishandles sleeps for longer than 2**31 seconds.
73896         Problem reported by Frank v Waveren in
73897         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
73898         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
73899         Check for nanosleep bug.
73900         (LIB_NANOSLEEP): Append clock_gettime library if needed.
73901
73902 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
73903
73904         Work around a bug in both the Linux and SunOS 64-bit kernels:
73905         nanosleep mishandles sleeps for longer than 2**31 seconds.
73906         Problem reported by Frank v Waveren in
73907         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
73908         * lib/nanosleep.c (BILLION): New constant.
73909         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
73910         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
73911         implementation.
73912
73913 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
73914
73915         * modules/nanosleep (Depends-on): Add gettime.
73916
73917 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
73918         and Simon Josefsson  <jas@extundo.com>
73919         and Oskar Liljeblad  <oskar@osk.mine.nu>
73920
73921         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
73922         * gnulib-tool (func_import): New license type 'unmodifiable license
73923         text'.
73924         * modules/fdl: Use it.  Longer description.
73925         * module/gpl, module/lgpl: New files.
73926
73927 2006-08-30  Jim Meyering  <jim@meyering.net>
73928
73929         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
73930         shadowing the parameter.
73931
73932 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73933
73934         Sync from Libtool:
73935
73936         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73937
73938         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
73939         sharing with gnulib.  Report by Eric Blake.
73940
73941 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
73942
73943         * modules/isapipe: New file.
73944         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
73945
73946 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
73947
73948         * modules/configmake (Makefile.am): Add a comment, and omit
73949         the CONFIGMAKE_ prefix from generated macro names.  Suggested
73950         by Bruno Haible.
73951
73952 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
73953
73954         * m4/isapipe.m4: New file.
73955
73956 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
73957
73958         * lib/isapipe.c, lib/isapipe.h: New files.
73959
73960 2006-08-29  Jim Meyering  <jim@meyering.net>
73961
73962         * modules/configmake (Makefile.am): Make configmake.h depend on
73963         Makefile.  Otherwise, a stale configmake.h could hang around.
73964
73965 2006-08-29  Eric Blake  <ebb9@byu.net>
73966
73967         * lib/error.c (error_at_line, print_errno_message): Match libc, after
73968         resolution of upstream bug 3044.
73969
73970 2006-08-29  Bruno Haible  <bruno@clisp.org>
73971
73972         * modules/localcharset (Depends-on): Add configmake.
73973         (Makefile.am): Remove setting of LIBDIR through DEFS.
73974
73975 2006-08-29  Bruno Haible  <bruno@clisp.org>
73976
73977         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
73978         defined.
73979
73980 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
73981
73982         * modules/fcntl: New file.
73983         * modules/chdir-safer (Depends-on): Add fcntl.
73984         * modules/fts: Likewise.
73985         * modules/mkdir-p: Likewise.
73986
73987         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
73988         This undoes the most recent change, since we're now addressing the
73989         problem in a different way.
73990
73991         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
73992         into output, since the output might be called Makefile.am even
73993         if $makefile_name is something different.
73994         (func_import): Use $makefile_am rather than
73995         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
73996         empty.
73997
73998         * modules/inttypes (Files): Add m4/inttypes-h.m4.
73999
74000 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
74001
74002         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
74003         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
74004         recent change to stdint.m4, since we're now addressing the problem in a
74005         different way.
74006
74007 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
74008
74009         * m4/fcntl_h.m4: New file.
74010
74011 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
74012
74013         * lib/fcntl_.h: New file.
74014         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
74015         the fcntl module.
74016         * lib/dirchownmod.c: Likewise.
74017         * lib/fts.c: Likewise.
74018
74019         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
74020         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
74021         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
74022         just before including <inttypes.h>, to avoid circular inclusion.
74023
74024 2006-08-28  Jim Meyering  <jim@meyering.net>
74025
74026         * doc/visibility.texi: Actually read and correct the grammar of the
74027         sentence affected by yesterday's change.
74028
74029 2006-08-28  Eric Blake  <ebb9@byu.net>
74030
74031         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
74032         needs wrapper.
74033
74034 2006-08-28  Eric Blake  <ebb9@byu.net>
74035
74036         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
74037
74038 2006-08-28  Eric Blake  <ebb9@byu.net>
74039
74040         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
74041
74042 2006-08-28  Bruno Haible  <bruno@clisp.org>
74043
74044         * modules/c-strstr: New file, from GNU gettext.
74045         * MODULES.html.sh (String handling): Add c-strstr.
74046
74047 2006-08-28  Bruno Haible  <bruno@clisp.org>
74048
74049         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
74050         macros.
74051         Reported by Eric Blake.
74052
74053 2006-08-28  Bruno Haible  <bruno@clisp.org>
74054
74055         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
74056         (VASNPRINTF): Return a string of length > INT_MAX without failing.
74057         * lib/vasprintf.c: Include errno.h, limits.h.
74058         (EOVERFLOW): New fallback definition.
74059         (vasprintf): Test here whether the string length is > INT_MAX.
74060         * lib/vsnprintf.c: Include errno.h, limits.h.
74061         (EOVERFLOW): New fallback definition.
74062         (vsnprintf): Fix bug when generated string was too long for the buffer.
74063         Test here whether the string length is > INT_MAX.
74064
74065 2006-08-28  Bruno Haible  <bruno@clisp.org>
74066
74067         * lib/inttypes_.h (SCNX*): Remove definitions.
74068         Reported by Eric Blake.
74069
74070 2006-08-28  Bruno Haible  <bruno@clisp.org>
74071
74072         * lib/c-strstr.h: New file, from GNU gettext.
74073         * lib/c-strstr.c: New file, from GNU gettext.
74074
74075 2006-08-28  Bruno Haible  <bruno@clisp.org>
74076
74077         * gnulib-tool: Reorder some statements.
74078
74079 2006-08-28  Bruno Haible  <bruno@clisp.org>
74080
74081         * gnulib-tool: New option --makefile-name.
74082         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
74083         $makefile_name.
74084         (func_import): Write $makefile_name to the cache file, and read it from
74085         there unless explicitly specified. Use $makefile_name as file name
74086         instead of Makefile.am. Adjust the recommendations accordingly.
74087
74088 2006-08-28  Bruno Haible  <bruno@clisp.org>
74089
74090         * gnulib-tool (func_verify_module): Check against misapplying patch.
74091
74092 2006-08-28  Bruno Haible  <bruno@clisp.org>
74093
74094         * gnulib-tool (func_relativize, func_relconcat): New functions.
74095         Give an error if --local-dir is given with --update.
74096         Remove trailing slashes from $local_gnulib_dir.
74097         (func_import): Store the relativized $local_gnulib_dir in
74098         gnulib-cache.m4, and read it from there if not specified explicitly.
74099
74100 2006-08-28  Bruno Haible  <bruno@clisp.org>
74101
74102         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
74103         is the current directory. Respect also $local_gnulib_dir.
74104
74105 2006-08-28  Bruno Haible  <bruno@clisp.org>
74106             Simon Josefsson  <jas@extundo.com>
74107
74108         BeOS portability.
74109         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
74110
74111 2006-08-27  Jim Meyering  <jim@meyering.net>
74112
74113         * doc/visibility.texi: Remove duplicate word: "pointer".
74114
74115 2006-08-26  Bruno Haible  <bruno@clisp.org>
74116
74117         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
74118         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
74119         (Makefile.am): Create inttypes.h from inttypes_.h.
74120         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
74121
74122         * modules/imaxabs: New file.
74123
74124         * modules/imaxdiv: New file.
74125
74126 2006-08-26  Bruno Haible  <bruno@clisp.org>
74127
74128         * m4/inttypes.m4: New file.
74129         * m4/_inttypes_h.m4: Remove file.
74130         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
74131         PRI_MACROS_BROKEN.
74132         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
74133
74134         * m4/imaxabs.m4: New file.
74135
74136         * m4/imaxdiv.m4: New file.
74137
74138 2006-08-26  Bruno Haible  <bruno@clisp.org>
74139
74140         * lib/inttypes_.h: New file.
74141         * lib/inttypes.h: Remove file.
74142         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
74143
74144         * lib/imaxabs.c: New file.
74145
74146         * lib/imaxdiv.c: New file.
74147
74148 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
74149
74150         New config-h module, so that "make" output needn't be cluttered
74151         by -DHAVE_CONFIG_H.
74152         * MODULES.html.sh (Support for building libraries and executables):
74153         Add config-h.
74154         * modules/config-h: New file.
74155         * gnulib-tool (nl, sed_transform_lib_file): New vars.
74156         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
74157         the config-h module is used.
74158
74159         New configmake module, so that "make" output needn't be cluttered
74160         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
74161         * MODULES.html.sh (Support for building libraries and executables):
74162         Add configmake.
74163         * modules/configmake: New file.
74164
74165 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
74166
74167         * m4/config-h.m4: New file.
74168
74169 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
74170
74171         * config/srclist.txt: Add elisp-comp.
74172
74173 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
74174
74175         * MODULES.html.sh (Support for building libraries and executables):
74176         Add elisp-comp.
74177         * build-aux/elisp-comp: New file.
74178         * modules/elisp-comp: New file.
74179
74180 2006-08-24  Bruno Haible  <bruno@clisp.org>
74181
74182         * gnulib-tool (func_create_testdir): Use non-default values of
74183         sourcebase and m4base.
74184
74185 2006-08-24  Bruno Haible  <bruno@clisp.org>
74186
74187         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
74188         HTML structure.
74189
74190 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
74191
74192         * modules/openat (Depends-on): Add lchown.
74193
74194 2006-08-23  Bruno Haible  <bruno@clisp.org>
74195
74196         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
74197         of gl_LOCK_EARLY instead of gl_LOCK.
74198
74199 2006-08-23  Bruno Haible  <bruno@clisp.org>
74200
74201         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
74202         on OSF/1 to no.
74203         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
74204
74205 2006-08-23  Bruno Haible  <bruno@clisp.org>
74206
74207         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
74208         as unusable.
74209
74210         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
74211         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
74212         (gl_LOCK): New macro.
74213
74214 2006-08-22  Simon Josefsson  <jas@extundo.com>
74215
74216         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
74217         to md5 module.
74218
74219 2006-08-22  Simon Josefsson  <jas@extundo.com>
74220
74221         * MODULES.html.sh: Add "Support for maintaining and release
74222         projects".
74223
74224         * build-aux/gnupload: New file, from coreutils.
74225
74226 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
74227
74228         Avoid the need for AC_LIBSOURCES in m4 macros.
74229         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
74230         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
74231         * modules/check-version (EXTRA_DIST): Add check-version.h.
74232         * modules/crc (EXTRA_DIST): Add crc.h.
74233         * modules/des (EXTRA_DIST): Add des.h.
74234         * modules/gc (EXTRA_DIST): Add gc.h.
74235         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
74236         * modules/getline (EXTRA_DIST): Add getline.h.
74237         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
74238         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
74239         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
74240         * modules/md2 (EXTRA_DIST): Add md2.h.
74241         * modules/md4 (EXTRA_DIST): Add md4.h.
74242         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
74243         * modules/read-file (EXTRA_DIST): Add read-file.h.
74244         * modules/readline (EXTRA_DIST): Add readline.h.
74245         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
74246         rijndael-api-fst.h.
74247
74248 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
74249
74250         * m4/rijndael.m4 (gl_ARCFOUR):
74251         * m4/arctwo.m4 (gl_ARCTWO):
74252         * m4/check-version.m4 (gl_CHECK_VERSION):
74253         * m4/crc.m4 (gl_CRC):
74254         * m4/des.m4 (gl_DES):
74255         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
74256         * m4/gc.m4 (gl_GC):
74257         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
74258         * m4/getline.m4 (gl_FUNC_GETLINE):
74259         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
74260         * m4/hmac-md5.m4 (gl_HMAC_MD5):
74261         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
74262         * m4/md2.m4 (gl_MD2):
74263         * m4/md4.m4 (gl_MD4):
74264         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
74265         * m4/read-file.m4 (gl_FUNC_READ_FILE):
74266         * m4/readline.m4 (gl_FUNC_READLINE):
74267         * m4/rijndael.m4 (gl_RIJNDAEL):
74268         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
74269         to get the necessary .h files and whatnot.
74270
74271 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
74272
74273         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
74274         gnulib rather than the other way around.
74275         * config/srclistvars.sh (COREUTILS): Remove.
74276
74277 2006-08-22  Jim Meyering  <jim@meyering.net>
74278
74279         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
74280
74281         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
74282
74283 2006-08-22  Eric Blake  <ebb9@byu.net>
74284
74285         * modules/regexprops-generic: New file.
74286         * MODULES.html.sh (Support for building documentation): List it.
74287
74288 2006-08-22  Eric Blake  <ebb9@byu.net>
74289
74290         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
74291         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
74292         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
74293         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
74294
74295 2006-08-22  Bruno Haible  <bruno@clisp.org>
74296
74297         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
74298         and lib_LTLIBRARIES like the other lib_* variables.
74299
74300 2006-08-22  Bruno Haible  <bruno@clisp.org>
74301
74302         * build-aux/x-to-1.in: New file, from GNU gettext.
74303
74304 2006-08-22  Bruno Haible  <bruno@clisp.org>
74305
74306         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
74307         <utmpx.h> exists.
74308
74309 2006-08-22  Bruno Haible  <bruno@clisp.org>
74310
74311         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
74312         <utmpx.h> exists.
74313
74314 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
74315
74316         BeOS portability.
74317         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
74318         exist.
74319         Problem reported by Bruno Haible.
74320
74321 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
74322
74323         Avoid the need for AC_LIBSOURCES in m4 macros.
74324         * modules/acl (EXTRA_DIST): Add acl.h.
74325         * modules/argmatch (Files): Add m4/argmatch.m4.
74326         (configure.ac): Add gl_ARGMATCH.
74327         (EXTRA_DIST): Renamed from lib_SOURCES, for
74328         consistency with the other modules.  Remove argmatch.c.
74329         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
74330         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
74331         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
74332         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
74333         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
74334         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
74335         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
74336         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
74337         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
74338         * modules/closeout (EXTRA_DIST): Add closeout.h.
74339         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
74340         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
74341         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
74342         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
74343         dirname.h; remove basename.c and stripslash.c.
74344         * modules/exclude (EXTRA_DIST): Add exclude.h.
74345         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
74346         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
74347         * modules/file-type (EXTRA_DIST): Add file-type.h.
74348         * modules/filemode (EXTRA_DIST): Add filemode.h.
74349         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
74350         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
74351         * modules/fpending (EXTRA_DIST): Add __fpending.h.
74352         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
74353         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
74354         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
74355         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
74356         * modules/getdate (EXTRA_DIST): Add getdate.c.
74357         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
74358         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
74359         * modules/getpass (EXTRA_DIST): Add getpass.h.
74360         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
74361         * modules/group-member (EXTRA_DIST): Add group-member.h.
74362         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
74363         * modules/hash (EXTRA_DIST): Add hash.h.
74364         * modules/human (EXTRA_DIST): Add human.h.
74365         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
74366         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
74367         * modules/lchown (EXTRA_DIST): Add lchown.h.
74368         * modules/long-options (EXTRA_DIST): Add long-options.h.
74369         * modules/lstat (EXTRA_DIST): Add lstat.h.
74370         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
74371         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
74372         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
74373         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
74374         * modules/memxor (EXTRA_DIST): Add memxor.h.
74375         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
74376         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
74377         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
74378         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
74379         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
74380         * modules/physmem (EXTRA_DIST): Add physmem.h.
74381         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
74382         * modules/posixver (EXTRA_DIST): Add posixver.h.
74383         * modules/quote (EXTRA_DIST): Add quote.h.
74384         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
74385         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
74386         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
74387         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
74388         regex_internal.h regexec.c.
74389         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
74390         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
74391         * modules/same (EXTRA_DIST): Add same.h.
74392         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
74393         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
74394         * modules/savedir (EXTRA_DIST): Add savedir.h.
74395         * modules/sha1 (EXTRA_DIST): Add sha1.h.
74396         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
74397         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
74398         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
74399         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
74400         * modules/strdup (EXTRA_DIST): Add strdup.h.
74401         * modules/strftime (EXTRA_DIST): Add strftime.h.
74402         * modules/strndup (EXTRA_DIST): Add strndup.h.
74403         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
74404         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
74405         * modules/time_r (EXTRA_DIST): Add time_r.h.
74406         * modules/timespec (EXTRA_DIST): Add timespec.h.
74407         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
74408         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
74409         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
74410         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
74411         * modules/userspec (EXTRA_DIST): Add userspec.h.
74412         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
74413         * modules/utimens (EXTRA_DIST): Add utimens.h.
74414         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
74415         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
74416         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
74417         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
74418         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
74419         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
74420         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
74421         * modules/yesno (EXTRA_DIST): Add yesno.h.
74422
74423 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
74424
74425         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
74426
74427         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
74428         * m4/dev-ino.m4, same-inode.m4: Remove.
74429
74430         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
74431         * m4/acl.m4 (AC_FUNC_ACL):
74432         * m4/backupfile.m4 (gl_BACKUPFILE):
74433         * m4/c-strtod.m4 (gl_C99_STRTOLD):
74434         * m4/canon-host.m4 (gl_CANON_HOST):
74435         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
74436         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
74437         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
74438         * m4/cloexec.m4 (gl_CLOEXEC):
74439         * m4/close-stream.m4 (gl_CLOSE_STREAM):
74440         * m4/closeout.m4 (gl_CLOSEOUT):
74441         * m4/dirfd.m4 (gl_FUNC_DIRFD):
74442         * m4/dirname.m4 (gl_DIRNAME):
74443         * m4/exclude.m4 (gl_EXCLUDE):
74444         * m4/exitfail.m4 (gl_EXITFAIL):
74445         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
74446         * m4/file-type.m4 (gl_FILE_TYPE):
74447         * m4/filemode.m4 (gl_FILEMODE):
74448         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
74449         * m4/fpending.m4 (gl_FUNC_FPENDING):
74450         * m4/fprintftime.m4 (gl_FPRINTFTIME):
74451         * m4/fts.m4 (gl_FUNC_FTS):
74452         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
74453         * m4/getdate.m4 (gl_GETDATE):
74454         * m4/gethrxtime.m4 (gl_GETHRXTIME):
74455         * m4/getpagesize.m4 (gl_GETPAGESIZE):
74456         * m4/getpass.m4 (gl_FUNC_GETPASS):
74457         * m4/gettime.m4 (gl_GETTIME):
74458         * m4/getugroups.m4 (gl_GETUGROUPS):
74459         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
74460         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
74461         * m4/hard-locale.m4 (gl_HARD_LOCALE):
74462         * m4/hash.m4 (gl_HASH):
74463         * m4/idcache.m4 (gl_IDCACHE):
74464         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
74465         * m4/lchown.m4 (gl_FUNC_LCHOWN):
74466         * m4/long-options.m4 (gl_LONG_OPTIONS):
74467         * m4/lstat.m4 (gl_FUNC_LSTAT):
74468         * m4/md5.m4 (gl_MD5):
74469         * m4/memcasecmp.m4 (gl_MEMCASECMP):
74470         * m4/memcoll.m4 (gl_MEMCOLL):
74471         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
74472         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
74473         * m4/memxor.m4 (gl_MEMXOR):
74474         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
74475         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
74476         * m4/modechange.m4 (gl_MODECHANGE):
74477         * m4/mountlist.m4 (gl_MOUNTLIST):
74478         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
74479         * m4/openat.m4 (gl_FUNC_OPENAT):
74480         * m4/pathmax.m4 (gl_PATHMAX):
74481         * m4/physmem.m4 (gl_PHYSMEM):
74482         * m4/posixtm.m4 (gl_POSIXTM):
74483         * m4/posixver.m4 (gl_POSIXVER):
74484         * m4/quote.m4 (gl_QUOTE):
74485         * m4/quotearg.m4 (gl_QUOTEARG):
74486         * m4/readtokens.m4 (gl_READTOKENS):
74487         * m4/readutmp.m4 (gl_READUTMP):
74488         * m4/regex.m4 (gl_REGEX):
74489         * m4/safe-read.m4 (gl_SAFE_READ):
74490         * m4/safe-write.m4 (gl_SAFE_WRITE):
74491         * m4/same.m4 (gl_SAME):
74492         * m4/save-cwd.m4 (gl_SAVE_CWD):
74493         * m4/savedir.m4 (gl_SAVEDIR):
74494         * m4/settime.m4 (gl_SETTIME):
74495         * m4/sha1.m4 (gl_SHA1):
74496         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
74497         * m4/stat-macros.m4 (gl_STAT_MACROS):
74498         * m4/stat-time.m4 (gl_STAT_TIME):
74499         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
74500         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
74501         * m4/strdup.m4 (gl_FUNC_STRDUP):
74502         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
74503         * m4/strndup.m4 (gl_FUNC_STRNDUP):
74504         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
74505         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
74506         * m4/time_r.m4 (gl_TIME_R):
74507         * m4/timespec.m4 (gl_TIMESPEC):
74508         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
74509         * m4/unlinkdir.m4 (gl_UNLINKDIR):
74510         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
74511         * m4/userspec.m4 (gl_USERSPEC):
74512         * m4/utimecmp.m4 (gl_UTIMECMP):
74513         * m4/utimens.m4 (gl_UTIMENS):
74514         * m4/xalloc.m4 (gl_XALLOC):
74515         * m4/xgetcwd.m4 (gl_XGETCWD):
74516         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
74517         * m4/xreadlink.m4 (gl_XREADLINK):
74518         * m4/xstrtod.m4 (gl_XSTRTOD):
74519         * m4/yesno.m4 (gl_YESNO):
74520         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
74521         to get the necessary .h files and whatnot.
74522
74523 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
74524             Bruno Haible  <bruno@clisp.org>
74525
74526         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
74527         /bin/sh understanding of '!' conditional negation.
74528
74529 2006-08-21  Jim Meyering  <jim@meyering.net>
74530
74531         * modules/openat (Depends-on): Really alphabetize.
74532
74533         * modules/acl (Depends-on): Add error and quote.
74534
74535         * check-module (find_included_lib_files): Add at-func.c to the
74536         ok-to-include-more-than-once white list.
74537
74538         * modules/openat (Depends-on): Add lstat.  Alphabetize.
74539
74540 2006-08-21  Bruno Haible  <bruno@clisp.org>
74541
74542         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
74543         Emit a pkgdata_DATA variable only if some snippets add contents to it.
74544         Reported by Martin Lambers <marlam@marlam.de>.
74545
74546 2006-08-21  Bruno Haible  <bruno@clisp.org>
74547
74548         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
74549         specify an installation location, don't emit a noinst_LIBRARIES or
74550         noinst_LTLIBRARIES assignment.
74551
74552 2006-08-21  Bruno Haible  <bruno@clisp.org>
74553
74554         BeOS portability.
74555         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
74556         BeOS has mbrtowc() but no <wctype.h>.
74557
74558 2006-08-21  Bruno Haible  <bruno@clisp.org>
74559
74560         BeOS portability.
74561         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
74562         exist.
74563
74564 2006-08-21  Bruno Haible  <bruno@clisp.org>
74565
74566         BeOS portability.
74567         * lib/mbchar.h: Include <wctype.h> only if it exists.
74568
74569 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
74570
74571         Remove files that are no longer needed by their respective modules.
74572         * m4/obstack.m4: Remove.
74573         * m4/strerror_r.m4: Remove.
74574         * m4/uint32_t.m4: Remove.
74575         * m4/uintptr_t.m4: Remove.
74576         * m4/ullong_max.m4: Remove.
74577         * m4/xstrtoimax.m4: Remove.
74578         * m4/xstrtoumax.m4: Remove.
74579
74580         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
74581         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
74582         dependencies now capture this.
74583
74584         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
74585         Do not use AC_LIBSOURCES, since gnulib modules now do this.
74586         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
74587         * m4/human.m4 (gl_HUMAN): Likewise.
74588         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
74589         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
74590
74591         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
74592
74593         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
74594         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
74595         stdint.
74596         * m4/human.m4 (gl_HUMAN): Likewise.
74597         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
74598         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
74599         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
74600         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
74601         * m4/xstrtol (gl_XSTRTOL): Likewise.
74602
74603         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
74604         AC_TYPE_LONG_LONG_INT.
74605         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
74606         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
74607         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
74608         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
74609
74610         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
74611         on stdbool.
74612
74613         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
74614         (gl_PREREQ_XSTRTOUL): Remove.
74615
74616         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
74617
74618         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
74619         mode.
74620
74621 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
74622
74623         Add and change modules to make it easier for coreutils to use
74624         gnulib-tool.
74625         * modules/backupfile (Files): Remove m4/d-ino.m4.
74626         (Depends-on): Add d-ino.
74627         * modules/cycle-check (Depends-on): Add stdint.
74628         (lib_SOURCES): Add cycle-check.h.
74629         * modules/d-ino: New module.
74630         * modules/d-type: New module.
74631         * modules/error (Files): Remove m4/strerror_r.m4.
74632         * modules/filemode (Files): Add m4/st_dm_mode.m4.
74633         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
74634         m4/inttypes_h.m4, m4/uintmax_t.m4.
74635         (Depends-on): Add stdint.
74636         (lib_SOURCES): Add fsusage.h.
74637         * modules/getcwd (Files): Remove d-ino.m4.
74638         (Depends-on): Add d-ino.
74639         * modules/getndelim2 (Depends-on): Add stdint.
74640         * modules/glob (Files): Remove m4/d-type.m4.
74641         (Depends-on): Add d-type.
74642         * modules/host-os: New module.
74643         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
74644         m4/inttypes_h.m4, m4/uintmax_t.m4.
74645         * Depends-on: Add stdint.
74646         (lib_SOURCES): Add human.h.
74647         * modules/inttostr (Files): Remove m4/intmax_t.m4,
74648         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
74649         m4/uintmax_t.m4, m4/ulonglong.m4.
74650         (Depends-on): Add stdint.
74651         (EXTRA_DIST): Add inttostr.h.
74652         * modules/lchmod: New module.
74653         * modules/link-follow: New module.
74654         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
74655         (Depends-on): Add lchmod.
74656         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
74657         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
74658         (Depends-on): Add stdint.
74659         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
74660         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
74661         (Depends-on): Add stdint.
74662         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
74663         * modules/perl: New module.
74664         * modules/regex (Depends-on): Add stdint.
74665         * modules/rmdir-errno: New module.
74666         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
74667         m4/intmax_t.m4.
74668         (Depends-on): Add stdint.
74669         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
74670         m4/uintmax_t.m4.
74671         (Depends-on): Add stdint.
74672         * modules/unlink-busy: New module.
74673         * modules/utimecmp (Depends-on): Add stdint.
74674         * modules/uptime: New module.
74675         * modules/winsz-ioctl: New module.
74676         * modules/winsz-termios: New module.
74677         * modules/xnanosleep (Depends-on): Add nanosleep.
74678         * modules/ullong_max: Remove.
74679         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
74680         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
74681         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
74682         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
74683         (Depends-on): Add inttypes.
74684         (lib_SOURCES): Add xstrtol.h.
74685         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
74686         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
74687         * MODULES.html.sh: Move 'assert' into the assert section.
74688         Move 'dummy' into the linking section.
74689         Remove ullong_max.
74690         Add section for compatibility checks for POSIX:2001 functions,
74691         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
74692         winsz-ioctl, and winsz-termios into it.
74693         Add lchmod.
74694         Add top-level Misc section and put host-os, perl, and uptime
74695         into it.
74696
74697 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
74698
74699         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
74700         now assume the stdint module.  Do not include inttypes.h.
74701         * lib/fsusage.h: Likewise.
74702         * lib/getndelim2.c: Likewise.
74703         * lib/human.h: Likewise.
74704         * lib/inttostr.h: Likewise.
74705         * lib/obstack.c: Likewise.
74706         * lib/regex_internal.h: Likewise.
74707         * lib/tempname.c: Likewise.
74708         * lib/utimecmp.c: Likewise.
74709         * lib/xstrtol.h: Likewise.
74710
74711         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
74712
74713         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
74714         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
74715         * lib/xtime.h: Likewise.
74716
74717 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
74718
74719         * modules/openat (Files): Add lib/fchmodat.c.
74720         Fixes problem reported by Jay Youngman.
74721
74722 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
74723
74724         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
74725         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
74726
74727 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
74728             Bruno Haible  <bruno@clisp.org>
74729
74730         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
74731         and is a script that invokes bison. Tighten the code. Add comments.
74732
74733 2006-08-18  Jim Meyering  <jim@meyering.net>
74734
74735         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
74736         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
74737         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
74738         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
74739
74740 2006-08-18  Bruno Haible  <bruno@clisp.org>
74741
74742         * modules/bison-i18n: New file.
74743         * MODULES.html.sh (Internationalization functions): Add it.
74744
74745 2006-08-18  Bruno Haible  <bruno@clisp.org>
74746
74747         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
74748         sys/statvfs.h. When getmntinfo was found, check its declaration and
74749         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
74750
74751 2006-08-18  Bruno Haible  <bruno@clisp.org>
74752
74753         * m4/bison-i18n.m4: New file, from bison.
74754
74755 2006-08-18  Bruno Haible  <bruno@clisp.org>
74756
74757         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
74758         (ME_DUMMY): Treat "kernfs" as a dummy.
74759         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
74760
74761 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
74762
74763         Update from coreutils.
74764
74765         2006-08-15  Jim Meyering  <jim@meyering.net>
74766
74767         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
74768
74769         2006-01-17  Jim Meyering  <jim@meyering.net>
74770
74771         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
74772
74773         2006-01-11  Jim Meyering  <jim@meyering.net>
74774
74775         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
74776         Check for the lchmod function.
74777
74778 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
74779
74780         Update from coreutils.
74781
74782         * lib/__fpending.h: Add copyright notice.
74783         * lib/fprintftime.h: Likewise.
74784         * lib/savedir.c: Use (C) in copyright notice.
74785         * lib/savedir.h: Likewise.
74786
74787         2006-08-15  Jim Meyering  <jim@meyering.net>
74788
74789         * lib/at-func.c: New file, with the logic of all emulated at-functions.
74790         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
74791         in support of the EXPECTED_ERRNO macro.
74792         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
74793         definitions.  Instead, define the appropriate symbols and include
74794         "at-func.c".
74795         * lib/mkdirat.c (mkdirat): Likewise.
74796         * lib/fchmodat.c (fchmodat): Likewise.
74797         (ENOSYS): Remove definition.
74798         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
74799         it.  Don't include "unistd--.h" -- it wasn't ever used.
74800
74801         2006-01-17  Jim Meyering  <jim@meyering.net>
74802
74803         Rewrite fts.c not to change the current working directory,
74804         by using openat, fstatat, fdopendir, etc..
74805
74806         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
74807         (HAVE_OPENAT_SUPPORT): Define.
74808         [_LIBC] (fchdir): Don't undef or define; no longer used.
74809         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
74810         Now, this `function' always succeeds, and consumes its file descriptor
74811         parameter -- so callers must not close such FDs.  Update callers.
74812         (diropen_fd, opendirat, cwd_advance_fd): New functions.
74813         (diropen): Add parameter, SP.  Adjust all callers.
74814         Implement using diropen_fd, rather than open.
74815         (fts_open): Initialize new member, fts_cwd_fd.
74816         Remove fts_rft-setting code.
74817         (fts_close): Close fts_cwd_fd, if necessary.
74818         (__opendir2): Define in terms of opendir or opendirat,
74819         depending on whether the FST_NOCHDIR flag is set.
74820         (fts_build): Since fts_safe_changedir consumes its FD, and since
74821         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
74822         and close the dup'd file descriptor upon failure.
74823         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
74824         (fts_safe_changedir): Tweak semantics to reflect that this function
74825         now calls cwd_advance_fd and hence consumes its FD argument.
74826         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
74827         [struct FTS] (fts_rft): Remove now-unused member.
74828         [struct FTS] (fts_cycle.state): Improve comment.
74829
74830         * lib/openat.c (openat_needs_fchdir): New function.
74831         * lib/openat.h (openat_needs_fchdir): Declare it.
74832
74833 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
74834
74835         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
74836         Problem and fix reported by Pádraig Brady in
74837         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
74838
74839 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
74840
74841         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
74842
74843 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
74844
74845         * lib/memcoll.c (memcoll): Optimize for the common case where the
74846         arguments are bytewise equal.
74847
74848 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
74849
74850         * doc/regexprops-generic.texi: Add a copyright notice.
74851
74852 2006-08-15  Bruno Haible  <bruno@clisp.org>
74853
74854         * modules/tmpdir (License): Change to LGPL.
74855
74856 2006-08-15  Bruno Haible  <bruno@clisp.org>
74857
74858         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
74859         module.
74860
74861 2006-08-14  Simon Josefsson  <jas@extundo.com>
74862
74863         * config/srclist.txt: Add gnupload.
74864
74865 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
74866
74867         Change copyright notice from LGPL 2 to GPL 2, since that's the
74868         standard form used in the gnulib repository.
74869         * tests/test-lock.c: Likewise.
74870         * tests/test-stdint.c: Likewise.
74871         * tests/test-tls.c: Likewise.
74872
74873         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
74874         prelude-manager.  User shorter URLs for GNU projects, without '?'.
74875         Add copyright notice.
74876
74877         * check-module: Add copyright notice.  Output a copyright
74878         notice if "--version" is specified.
74879         * modules/COPYING: New file.
74880         * tests/test-getaddrinfo.c: Add copyright notice.
74881         * tests/test-verify.c: Likewise.
74882
74883 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
74884
74885         Change copyright notice from LGPL 2 to GPL 2, since that's the
74886         standard form used in the gnulib repository.
74887         * lib/lock.c: LGPL -> GPL.
74888         * lib/lock.h: Likewise.
74889         * lib/strnlen1.c: Likewise.
74890         * lib/strnlen1.h: Likewise.
74891         * lib/tls.c: Likewise.
74892         * lib/tls.h: Likewise.
74893         * lib/tmpdir.c: Likewise.
74894
74895         * lib/TODO: Remove; this belongs only in coreutils.
74896
74897 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
74898
74899         Add copyright notices to long-enough files that lack them, since
74900         otherwise the files aren't clearly free.  Use the same notice that
74901         getdate.texi already uses.
74902         * doc/alloca-opt.texi: Add copyright notice.
74903         * doc/alloca.texi: Likewise.
74904         * doc/ctime.texi: Likewise.
74905         * doc/functions.texi: Likewise.
74906         * doc/gcd.texi: Likewise.
74907         * doc/gnulib-tool.texi: Likewise.
74908         * doc/inet_ntoa.texi: Likewise.
74909         * doc/visibility.texi: Likewise.
74910
74911         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
74912         * doc/quote.texi: Add copyright notice.
74913
74914         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
74915         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
74916         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
74917         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
74918         is now obsolete, and give a pointer to the Sun list.
74919         Add copyright notice.
74920
74921 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
74922
74923         * config/srclistvars.sh: Add copyright notice.
74924
74925 2006-08-14  Eric Blake  <ebb9@byu.net>
74926
74927         Import the following change from libc:
74928
74929         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
74930
74931         Upstream bug 2997.
74932         * lib/misc/error.c: Add space between program name and message if file
74933         name is missing.
74934
74935 2006-08-12  Karl Berry  <karl@gnu.org>
74936
74937         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
74938         remove, these originate in gnulib now.
74939
74940 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74941
74942         * doc/Makefile (standards.info standards.html standards.dvi):
74943         Also depend on make-stds.texi.
74944
74945 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
74946
74947         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
74948         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
74949
74950         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
74951         in wchar_t.  Problem reported by Eric Blake.
74952
74953         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
74954         LEN is smaller than SIZE.  Suggested by Bruno Haible.
74955         Also, help the compiler to keep LEN in a register.
74956
74957 2006-08-11  Eric Blake  <ebb9@byu.net>
74958
74959         * users.txt: Sort.  Add tar.
74960
74961 2006-08-11  Bruno Haible  <bruno@clisp.org>
74962
74963         * users.txt: New file.
74964
74965 2006-08-11  Bruno Haible  <bruno@clisp.org>
74966
74967         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
74968         before <wchar.h>. Needed for OSF/1 and BSD/OS.
74969
74970 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
74971
74972         * modules/snprintf (Depends-on): Remove minmax.
74973         (Maintainer): Add self and Bruno.
74974
74975 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
74976
74977         * lib/.cppi-disable: Add snprintf.h, socket_.h.
74978         * lib/snprintf.c: Include <errno.h> and <limits.h>.
74979         (EOVERFLOW): Define if the system does not.
74980         Do not include "minmax.h"; it wasn't used.
74981         (snprintf): Don't assume size_t promotes to an unsigned type.
74982         Fix bug when generated string was too long for the buffer: the
74983         buffer's contents are supposed to be the initial prefix of the
74984         output.  Don't assume vasnprintf returns EOVERFLOW if the size
74985         exceeds INT_MAX; do the check ourselves.
74986
74987         Import the following changes from libc:
74988
74989         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
74990
74991         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
74992         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
74993         set wc to the byte which couldn't be converted.
74994         (re_string_reconstruct): Don't clear valid_raw_len before calling
74995         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
74996         tip_context using re_string_context_at.
74997
74998         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
74999
75000         * lib/posix/regex.h: g++ still cannot handled [restrict].
75001
75002         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
75003
75004         * lib/posix/regex.h: Remove special handling for VMS.
75005
75006 2006-08-10  Jim Meyering  <jim@meyering.net>
75007
75008         * modules/same-inode: New module.
75009         * modules/dev-ino: New module.
75010         * modules/cycle-check: Depend on these modules, rather than simply
75011         including their .h files.
75012         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
75013         required via m4/cycle-check.m4.
75014         * modules/same: Depend on new same-inode module, rather than
75015         including same-inode.h.
75016         * modules/chdir-safer: New file.
75017
75018         * modules/chown (Depends-on): Add stat-macros.
75019
75020 2006-08-10  Jim Meyering  <jim@meyering.net>
75021
75022         * m4/cycle-check.m4: New file.
75023         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
75024         * m4/dev-ino.m4, m4/same-inode.m4: New files.
75025
75026 2006-08-10  Eric Blake  <ebb9@byu.net>
75027
75028         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
75029         in from original proposal.
75030
75031 2006-08-10  Eric Blake  <ebb9@byu.net>
75032         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
75033
75034         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
75035         namespace.
75036
75037 2006-08-10  Bruno Haible  <bruno@clisp.org>
75038
75039         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
75040         as well.
75041
75042 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
75043
75044         Sync from coreutils.
75045
75046         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
75047
75048         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
75049         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
75050
75051 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
75052
75053         * modules/restrict: Remove; no longer needed now that we assume
75054         Autoconf 2.59 or later.
75055         * MODULES.html.sh: Remove 'restrict'.
75056         * modules/argp (Depends-on): Remove 'restrict'.
75057         * modules/base64 (Depends-on): Likewise.
75058         * modules/gc (Depends-on): Likewise.
75059         * modules/getaddrinfo (Depends-on): Likewise.
75060         * modules/glob (Depends-on): Likewise.
75061         * modules/inet_ntop (Depends-on): Likewise.
75062         * modules/inet_pton (Depends-on): Likewise.
75063         * modules/memxor (Depends-on): Likewise.
75064         * modules/regex (Depends-on): Likewise.
75065         * modules/strtok_r (Depends-on): Likewise.
75066         * modules/time_r (Depends-on): Likewise.
75067
75068 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
75069
75070         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
75071         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
75072         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
75073         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
75074         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
75075         * m4/memxor.m4 (gl_MEMXOR): Likewise.
75076         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
75077         gl_C_RESTRICT replaced by AC_C_RESTRICT.
75078
75079         Merge from coreutils.
75080         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
75081         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
75082         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
75083         * m4/time_r.m4 (gl_TIME_R): Likewise.
75084
75085 2006-08-09  Karl Berry  <karl@gnu.org>
75086
75087         * config/srclist.txt: no more gettext-tools, per Bruno.
75088
75089 2006-08-08  Eric Blake  <ebb9@byu.net>
75090
75091         * modules/verror: New module.
75092         * MODULES.html.sh: Document it.
75093
75094 2006-08-08  Eric Blake  <ebb9@byu.net>
75095
75096         * lib/verror.h, lib/verror.c: New files.
75097
75098 2006-08-08  Eric Blake  <ebb9@byu.net>
75099
75100         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
75101         verror_at_line output complies with GNU Coding Standards even when
75102         file is NULL.
75103
75104 2006-08-07  Bruno Haible  <bruno@clisp.org>
75105
75106         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
75107         versions of AIX.
75108         Reported by Ralf Wildenhues.
75109
75110 2006-08-07  Bruno Haible  <bruno@clisp.org>
75111
75112         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
75113         in an AC_DEFUN. Needed so that the autoconf snippets can use
75114         AC_REQUIRE.
75115
75116 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75117
75118         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
75119         Initialize pkgdata_DATA.
75120         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
75121         overriding it.
75122
75123 2006-08-06  Eric Blake  <ebb9@byu.net>
75124
75125         * lib/error.h: Fold in some upstream changes from glibc.
75126         * lib/error.c: Likewise.
75127
75128 2006-08-04  Bruno Haible  <bruno@clisp.org>
75129
75130         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
75131         Make the mostlyclean-local rule depend on mostlyclean-generic.
75132         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
75133
75134 2006-07-31  Bruno Haible  <bruno@clisp.org>
75135
75136         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
75137         <stdlib.h>, <string.h>.
75138
75139 2006-07-30  Bruno Haible  <bruno@clisp.org>
75140
75141         * modules/readlink (License): Change to LGPL.
75142
75143 2006-07-30  Bruno Haible  <bruno@clisp.org>
75144
75145         * modules/javaversion (Makefile.am): Distribute javaversion.java and
75146         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
75147         set PKGDATADIR to point to it.
75148
75149 2006-07-30  Bruno Haible  <bruno@clisp.org>
75150
75151         * modules/csharpexec (configure.ac): Comment out macro invocation.
75152         * modules/javaexec (configure.ac): Likewise.
75153         * modules/javacomp-script (configure.ac): Likewise.
75154
75155         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
75156
75157 2006-07-30  Bruno Haible  <bruno@clisp.org>
75158
75159         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
75160         linked-list.
75161
75162 2006-07-30  Bruno Haible  <bruno@clisp.org>
75163
75164         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
75165
75166 2006-07-30  Bruno Haible  <bruno@clisp.org>
75167
75168         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
75169         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
75170         get removed.
75171
75172 2006-07-29  Bruno Haible  <bruno@clisp.org>
75173
75174         Make it possible for gnulib-tool to work with locally modified or
75175         augmented gnulib repositories.
75176         * gnulib-tool (func_usage): Document --local-dir option.
75177         (local_gnulib_dir): New variable.
75178         Handle --local-dir option.
75179         (func_lookup_file): New function.
75180         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
75181         (func_get_description, func_get_filelist, func_get_description,
75182         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
75183         func_get_automake_snippet, func_get_include_directive,
75184         func_get_license, func_get_maintainer): Use func_lookup_file.
75185         (func_import, func_create_testdir): Use func_lookup_file.
75186
75187 2006-07-29  Bruno Haible  <bruno@clisp.org>
75188
75189         * modules/setenv (Depends-on): Add unistd.
75190
75191 2006-07-29  Bruno Haible  <bruno@clisp.org>
75192
75193         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
75194
75195 2006-07-29  Bruno Haible  <bruno@clisp.org>
75196
75197         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
75198
75199 2006-07-29  Bruno Haible  <bruno@clisp.org>
75200
75201         * gnulib-tool (import, update): If there is no Makefile.am, look at
75202         aclocal.m4, instead of bailing out.
75203
75204 2006-07-29  Bruno Haible  <bruno@clisp.org>
75205
75206         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
75207         Categorize the options by when they are useful.
75208
75209 2006-07-29  Bruno Haible  <bruno@clisp.org>
75210
75211         * gnulib-tool (func_usage): Document option --no-libtool.
75212         Handle option --no-libtool.
75213         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
75214         for changed semantics of $libtool variable.
75215         (func_import): Likewise. If libtool is not used, show this through
75216         an option --no-libtool.
75217         (func_create_testdir): Update.
75218
75219 2006-07-29  Bruno Haible  <bruno@clisp.org>
75220
75221         * gnulib-tool (func_import): Extend error message about missing
75222         --doc-base.
75223
75224 2006-07-29  Bruno Haible  <bruno@clisp.org>
75225
75226         * gnulib-tool (func_import): Don't create the $docbase directory if
75227         there is no file to store there.
75228
75229 2006-07-29  Bruno Haible  <bruno@clisp.org>
75230
75231         * gnulib-tool (autoconf_minversion): If a --dir option is given and
75232         relevant, look for configure.ac there, not in the current directory.
75233         Also use a simple search for AC_PREREQ, not "autoconf --trace".
75234
75235 2006-07-29  Bruno Haible  <bruno@clisp.org>
75236
75237         * gnulib-tool (SORT): New variable.
75238         (func_usage): Undocument --assume-autoconf option.
75239         Remove --assume-autoconf option handling.
75240         (autoconf_minversion): Determine from the contents of configure.ac.
75241         (func_import): Remove autoconf_minversion handling.
75242         Suggested by Eric Blake.
75243
75244 2006-07-29  Bruno Haible  <bruno@clisp.org>
75245
75246         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
75247
75248 2006-07-29  Bruno Haible  <bruno@clisp.org>
75249
75250         * config/srclist.txt (*setenv.[ch]): Remove rules.
75251
75252 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75253
75254         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
75255
75256 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75257
75258         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
75259         arpa/inet.h.
75260
75261 2006-07-28  Simon Josefsson  <jas@extundo.com>
75262
75263         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
75264         * modules/inet_pton (Depends-on): Likewise.
75265
75266 2006-07-28  Simon Josefsson  <jas@extundo.com>
75267
75268         * m4/netinet_in_h.m4: New file.
75269
75270 2006-07-28  Simon Josefsson  <jas@extundo.com>
75271
75272         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
75273         #include's.
75274
75275 2006-07-28  Simon Josefsson  <jas@extundo.com>
75276
75277         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
75278         #include's.
75279
75280 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
75281
75282         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
75283         setgid on directories only if they set these bits.
75284         * lib/modechange.h: Remove obsolete comment about masks.
75285
75286 2006-07-28  Eric Blake  <ebb9@byu.net>
75287
75288         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
75289         macro expansion.
75290
75291 2006-07-28  Bruno Haible  <bruno@clisp.org>
75292
75293         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
75294
75295 2006-07-28  Bruno Haible  <bruno@clisp.org>
75296
75297         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
75298
75299 2006-07-28  Bruno Haible  <bruno@clisp.org>
75300
75301         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
75302         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
75303         Define fallbacks.
75304         Avoids link error on FreeBSD 4.x.
75305         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
75306
75307         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
75308         encoding.
75309         * lib/mbswidth.c (iswcntrl): Likewise.
75310
75311 2006-07-27  Bruno Haible  <bruno@clisp.org>
75312
75313         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
75314         test.
75315
75316 2006-07-27  Bruno Haible  <bruno@clisp.org>
75317
75318         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
75319         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
75320         defined.
75321
75322 2006-07-26  Eric Blake  <ebb9@byu.net>
75323
75324         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
75325
75326 2006-07-26  Eric Blake  <ebb9@byu.net>
75327
75328         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
75329         like mingw that lack mkstemp.
75330         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
75331         avoid compilation warning on mingw.
75332
75333 2006-07-26  Bruno Haible  <bruno@clisp.org>
75334
75335         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
75336         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
75337         INT_FAST*_MIN, INTPTR_MIN.
75338
75339 2006-07-25  Bruno Haible  <bruno@clisp.org>
75340
75341         * modules/version-etc (Depends-on): Add stdarg.
75342
75343 2006-07-25  Bruno Haible  <bruno@clisp.org>
75344
75345         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
75346         complex commands.
75347
75348 2006-07-25  Bruno Haible  <bruno@clisp.org>
75349
75350         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
75351         defined in <stdarg.h> or config.h.
75352
75353 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
75354
75355         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
75356         (gl_STDIO_SAFER): Remove.
75357
75358 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
75359
75360         * MODULES.html.sh (File stream based Input/Output):
75361         Add fopen-safer, tmpfile-safer; remove stdio-safer.
75362         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
75363         * modules/fopen-safer, modules/tmpfile-safer: New files.
75364         * modules/stdio-safer: Remove.
75365
75366 2006-07-24  Bruno Haible  <bruno@clisp.org>
75367
75368         * modules/tmpdir: New file.
75369         * MODULES.html.sh (File system functions): Add it.
75370
75371 2006-07-24  Bruno Haible  <bruno@clisp.org>
75372
75373         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
75374         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
75375
75376 2006-07-24  Bruno Haible  <bruno@clisp.org>
75377
75378         * modules/clean-temp: New file.
75379
75380 2006-07-24  Bruno Haible  <bruno@clisp.org>
75381
75382         * m4/tmpdir.m4: New file, from GNU gettext.
75383
75384 2006-07-24  Bruno Haible  <bruno@clisp.org>
75385
75386         * lib/tmpdir.h: New file, from GNU gettext.
75387         * lib/tmpdir.c: New file, from GNU gettext.
75388
75389 2006-07-24  Bruno Haible  <bruno@clisp.org>
75390
75391         * lib/clean-temp.h: New file, from GNU gettext.
75392         * lib/clean-temp.c: New file, from GNU gettext.
75393
75394 2006-07-23  Eric Blake  <ebb9@byu.net>
75395
75396         * modules/stdio-safer (Files): Add tmpfile-safer.c.
75397         (Depends-on): Add binary-io.
75398
75399 2006-07-23  Eric Blake  <ebb9@byu.net>
75400
75401         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
75402
75403 2006-07-23  Eric Blake  <ebb9@byu.net>
75404
75405         * lib/tmpfile-safer.c: New file.
75406         * lib/stdio-safer.h (fopen_safer): Add prototype.
75407         * lib/stdio--.h (tmpfile): Make safer.
75408
75409 2006-07-23  Bruno Haible  <bruno@clisp.org>
75410
75411         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
75412         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
75413         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
75414         gl_linked_remove_at): Use it.
75415
75416 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75417         and Simon Josefsson <jas@extundo.com>
75418
75419         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
75420
75421         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
75422
75423 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
75424
75425         * modules/close-stream: New file.
75426         * modules/closeout (Description): Make it clear that it exits
75427         with a diagnostic on error.
75428         (Depends-on): Add close-stream.  Remove fpending, stdbool.
75429         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
75430
75431 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
75432
75433         * m4/close-stream.m4: New file.
75434
75435 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
75436
75437         * lib/close-stream.c, lib/close-stream.h: New files.
75438
75439 2006-07-22  Bruno Haible  <bruno@clisp.org>
75440
75441         Merge from GNU gettext 0.15.
75442
75443         2006-05-01  Bruno Haible  <bruno@clisp.org>
75444
75445                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
75446
75447         2006-07-22  Bruno Haible  <bruno@clisp.org>
75448
75449                 * modules/javaversion: New file.
75450                 * MODULES.html.sh (Java): Add javaversion.
75451
75452         2006-03-12  Bruno Haible  <bruno@clisp.org>
75453
75454                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
75455
75456         2005-12-04  Bruno Haible  <bruno@clisp.org>
75457
75458                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
75459                 (untested).
75460
75461         2006-06-21  Bruno Haible  <bruno@clisp.org>
75462
75463                 Avoid warnings from recent versions of mcs.
75464                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
75465                 -o, -L, -r any more. Use options documented since mcs-1.0
75466                 instead. Similarly for -g.
75467
75468         2005-12-04  Bruno Haible  <bruno@clisp.org>
75469
75470                 * build-aux/csharpcomp.sh.in: Suffix for resources is
75471                 .resources, not .resource.
75472
75473         2005-07-09  Bruno Haible  <bruno@clisp.org>
75474
75475                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
75476                 add a .dll suffix.
75477                 Reported by Mark Junker <mjscod@gmx.de>.
75478
75479         2006-07-22  Bruno Haible  <bruno@clisp.org>
75480
75481                 * modules/gettext: Upgrade to gettext-0.15.
75482                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
75483                 m4/visibility.m4.
75484                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
75485
75486 2006-07-22  Bruno Haible  <bruno@clisp.org>
75487
75488         Merge from GNU gettext 0.15.
75489
75490         2006-03-25  Bruno Haible  <bruno@clisp.org>
75491
75492                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
75493
75494         2006-07-21  Bruno Haible  <bruno@clisp.org>
75495
75496                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
75497                 "1.1".
75498
75499         2006-05-09  Bruno Haible  <bruno@clisp.org>
75500
75501                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
75502                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
75503                 for the conftestver execution.
75504
75505         2006-05-01  Bruno Haible  <bruno@clisp.org>
75506
75507                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
75508                 optional target-version argument. Verify that the compiler
75509                 groks source of the specified source-version, or add -source
75510                 option as necessary. Verify that the compiler produces
75511                 bytecode in the specified target-version, or add -target and
75512                 -source options as necessary. Make the result of the test
75513                 available as variable CONF_JAVAC. Also log error output in
75514                 config.log.
75515
75516         2006-03-11  Bruno Haible  <bruno@clisp.org>
75517
75518                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
75519
75520         2006-05-09  Bruno Haible  <bruno@clisp.org>
75521
75522                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
75523                 CLASSPATH_SEPARATOR to a semicolon.
75524
75525         2006-03-12  Bruno Haible  <bruno@clisp.org>
75526
75527                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
75528                 available as variable CONF_JAVA, for subsequent autoconf
75529                 tests. Also log error output in config.log.
75530
75531         2006-07-19  Bruno Haible  <bruno@clisp.org>
75532
75533                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
75534                 that getline works on glibc2 systems. Needed to avoid trouble
75535                 in relocatable.c.
75536                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
75537
75538         2005-12-04  Bruno Haible  <bruno@clisp.org>
75539
75540                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
75541                 launcher (untested).
75542
75543         2005-12-04  Bruno Haible  <bruno@clisp.org>
75544
75545                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
75546
75547         2006-07-22  Bruno Haible  <bruno@clisp.org>
75548
75549                 * gettext.m4: Update from GNU gettext-0.15.
75550                 * nls.m4: Likewise.
75551                 * po.m4: Likewise.
75552                 * inttypes-pri.m4: Likewise.
75553                 * inttypes-h.m4: Renamed from inttypes.m4.
75554                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
75555
75556 2006-07-22  Bruno Haible  <bruno@clisp.org>
75557
75558         Merge from GNU gettext 0.15.
75559
75560         2005-07-05  Bruno Haible  <bruno@clisp.org>
75561
75562                 * printf-args.c (printf_fetchargs): Work around broken
75563                 definition of wint_t on mingw.
75564
75565         2005-02-12  Bruno Haible  <bruno@clisp.org>
75566
75567                 * xallocsa.h: Add extern "C" for C++.
75568
75569         2006-05-17  Bruno Haible  <bruno@clisp.org>
75570
75571                 Cygwin portability.
75572                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
75573
75574         2006-04-30  Bruno Haible  <bruno@clisp.org>
75575
75576                 * progreloc.c: Include <mach-o/dyld.h> if available.
75577                 (find_executable): Use _NSGetExecutablePath when possible.
75578
75579         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
75580
75581                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
75582                 function.
75583
75584         2005-12-29  Bruno Haible  <bruno@clisp.org>
75585
75586                 * progreloc.c (set_program_name_and_installdir): Fix
75587                 compilation error.
75588
75589         2005-12-04  Bruno Haible  <bruno@clisp.org>
75590
75591                 Cygwin portability.
75592                 * progreloc.c: Include <windows.h> also on Cygwin.
75593                 (find_executable): Add support for Cygwin.
75594                 (set_program_name_and_installdir): Handle also platforms with
75595                 nonempty EXEEXT.
75596
75597         2006-07-11  Bruno Haible  <bruno@clisp.org>
75598
75599                 * javacomp.c: Fix a comment.
75600                 Reported by Jim Meyering.
75601
75602         2006-04-30  Bruno Haible  <bruno@clisp.org>
75603
75604                 * javacomp.h (compile_java_class): Add source_version,
75605                 target_version arguments.
75606                 * javacomp.c: Rewritten to choose only a compiler that
75607                 respects the specified source_version and target_version.
75608
75609         2006-06-27  Bruno Haible  <bruno@clisp.org>
75610
75611                 Assume correct S_ISDIR macro.
75612                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
75613
75614         2006-07-22  Bruno Haible  <bruno@clisp.org>
75615
75616                 * javaversion.h: New file, from GNU gettext.
75617                 * javaversion.c: New file, from GNU gettext.
75618                 * javaversion.java: New file, from GNU gettext.
75619                 * javaversion.class: New file, from GNU gettext.
75620
75621         2006-05-17  Bruno Haible  <bruno@clisp.org>
75622
75623                 Cygwin portability.
75624                 * javaexec.c (execute_java_class): Test for jview program
75625                 also on Cygwin.
75626
75627         2006-04-09  Bruno Haible  <bruno@clisp.org>
75628
75629                 * fatal-signal.c: Don't include string.h.
75630                 (at_fatal_signal): Use a copying loop instead of memcpy.
75631
75632         2005-12-04  Bruno Haible  <bruno@clisp.org>
75633
75634                 * csharpexec.c: Add support for 'clix' launcher (untested).
75635                 (execute_csharp_using_sscli): New function.
75636                 (execute_csharp_program): Call it.
75637
75638         2006-06-21  Bruno Haible  <bruno@clisp.org>
75639
75640                 Avoid warnings from recent versions of mcs.
75641                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
75642                 -o, -L, -r any more. Use options documented since mcs-1.0
75643                 instead. Similarly for -g.
75644
75645         2005-07-09  Bruno Haible  <bruno@clisp.org>
75646
75647                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
75648                 add a .dll suffix.
75649                 Reported by Mark Junker <mjscod@gmx.de>.
75650
75651         2006-06-17  Bruno Haible  <bruno@clisp.org>
75652
75653                 * config.charset: Update for NetBSD 3.0.
75654
75655         2006-05-17  Bruno Haible  <bruno@clisp.org>
75656
75657                 Cygwin portability.
75658                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
75659
75660         2006-05-16  Bruno Haible  <bruno@clisp.org>
75661
75662                 * localcharset.c [CYGWIN]: Include <windows.h>.
75663                 (get_charset_aliases): For Cygwin, return the same CPxxx
75664                 aliases list as under WIN32.
75665                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
75666                 the environment variables. Fall back to GetACP().
75667
75668         2006-04-05  Bruno Haible  <bruno@clisp.org>
75669
75670                 * config.charset: Update Juan Manuel Guerrero's address.
75671
75672         2005-02-12  Bruno Haible  <bruno@clisp.org>
75673
75674                 * allocsa.h: Add extern "C" for C++.
75675
75676         2005-02-10  Bruno Haible  <bruno@clisp.org>
75677
75678                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
75679                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
75680
75681         2006-07-22  Bruno Haible  <bruno@clisp.org>
75682
75683                 * gettext.h: Update to GNU gettext-0.15.
75684
75685 2006-07-22  Bruno Haible  <bruno@clisp.org>
75686
75687         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
75688         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
75689         lib-prefix.m4, longdouble.m4, ssize_t.m4.
75690
75691 2006-07-21  Eric Blake  <ebb9@byu.net>
75692
75693         * modules/stdlib-safer: New file.
75694         * MODULES.html.sh (File stream based Input/Output): Add
75695         stdlib-safer.
75696
75697 2006-07-21  Eric Blake  <ebb9@byu.net>
75698
75699         * lib/stdlib-safer.h: New file from coreutils, required by
75700         stdlib--.h.
75701
75702 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
75703
75704         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
75705
75706 2006-07-20  Bruno Haible  <bruno@clisp.org>
75707
75708         * gnulib-tool: Recognize new option --assume-autoconf.
75709         (autoconf_minversion): New variable.
75710         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
75711
75712 2006-07-20  Bruno Haible  <bruno@clisp.org>
75713
75714         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
75715
75716 2006-07-19  Derek R. Price  <derek@ximbiot.com>
75717
75718         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
75719         Reindent and repaginate.
75720
75721 2006-07-19  Derek Price  <derek@ximbiot.com>
75722
75723         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
75724         Correct grammar.
75725
75726 2006-07-17  Bruno Haible  <bruno@clisp.org>
75727
75728         * modules/list: New file.
75729         * modules/array-list: New file.
75730         * modules/carray-list, modules/carray-list-tests: New files.
75731         * modules/linked-list, modules/linked-list-tests: New files.
75732         * modules/avltree-list, modules/avltree-list-tests: New files.
75733         * modules/rbtree-list, modules/rbtree-list-tests: New files.
75734         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
75735         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
75736         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
75737         * modules/oset: New file.
75738         * modules/array-oset: New file.
75739         * modules/avltree-oset, modules/avltree-oset-tests: New files.
75740         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
75741         * tests/test-carray_list.c: New file.
75742         * tests/test-linked_list.c: New file.
75743         * tests/test-avltree_list.c: New file.
75744         * tests/test-rbtree_list.c: New file.
75745         * tests/test-linkedhash_list.c: New file.
75746         * tests/test-avltreehash_list.c: New file.
75747         * tests/test-rbtreehash_list.c: New file.
75748         * tests/test-avltree_oset.c: New file.
75749         * tests/test-rbtree_oset.c: New file.
75750         * MODULES.html.sh (Container data structures): New section.
75751
75752 2006-07-17  Bruno Haible  <bruno@clisp.org>
75753
75754         * m4/gl_list.m4: New file.
75755
75756 2006-07-17  Bruno Haible  <bruno@clisp.org>
75757
75758         * lib/gl_list.h: New file.
75759         * lib/gl_list.c: New file.
75760         * lib/gl_array_list.h: New file.
75761         * lib/gl_array_list.c: New file.
75762         * lib/gl_carray_list.h: New file.
75763         * lib/gl_carray_list.c: New file.
75764         * lib/gl_linked_list.h: New file.
75765         * lib/gl_linked_list.c: New file.
75766         * lib/gl_anylinked_list1.h: New file.
75767         * lib/gl_anylinked_list2.h: New file.
75768         * lib/gl_avltree_list.h: New file.
75769         * lib/gl_avltree_list.c: New file.
75770         * lib/gl_anyavltree_list1.h: New file.
75771         * lib/gl_anyavltree_list2.h: New file.
75772         * lib/gl_rbtree_list.h: New file.
75773         * lib/gl_rbtree_list.c: New file.
75774         * lib/gl_anyrbtree_list1.h: New file.
75775         * lib/gl_anyrbtree_list2.h: New file.
75776         * lib/gl_anytree_list1.h: New file.
75777         * lib/gl_anytree_list2.h: New file.
75778         * lib/gl_linkedhash_list.h: New file.
75779         * lib/gl_linkedhash_list.c: New file.
75780         * lib/gl_anyhash_list1.h: New file.
75781         * lib/gl_anyhash_list2.h: New file.
75782         * lib/gl_avltreehash_list.h: New file.
75783         * lib/gl_avltreehash_list.c: New file.
75784         * lib/gl_rbtreehash_list.h: New file.
75785         * lib/gl_rbtreehash_list.c: New file.
75786         * lib/gl_anytreehash_list1.h: New file.
75787         * lib/gl_anytreehash_list2.h: New file.
75788
75789         * lib/gl_oset.h: New file.
75790         * lib/gl_oset.c: New file.
75791         * lib/gl_array_oset.h: New file.
75792         * lib/gl_array_oset.c: New file.
75793         * lib/gl_avltree_oset.h: New file.
75794         * lib/gl_avltree_oset.c: New file.
75795         * lib/gl_rbtree_oset.h: New file.
75796         * lib/gl_rbtree_oset.c: New file.
75797         * lib/gl_anytree_oset.h: New file.
75798
75799 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
75800
75801         * m4/mkancesdirs.m4: New file.
75802         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
75803         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
75804         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
75805         it.
75806
75807 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
75808
75809         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
75810         * lib/mkancesdirs.h: New files.
75811         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
75812         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
75813         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
75814         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
75815         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
75816         callers changed.  Revamp internals significantly, by not
75817         attempting to create directories that are temporarily more
75818         permissive than the final results.  Do not attempt to use
75819         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
75820         This removes some race conditions, fixes some bugs, and simplifies
75821         things.  Use new dirchownmod function to do owner and mode changes.
75822         * lib/mkdir-p.h: Likewise.
75823         * lib/modechange.c (octal_to_mode): New function.
75824         (struct mode_change): New member mentioned.
75825         (make_node_op_equals): New arg mentioned.  All callers changed.
75826         (mode_compile): Keep track of which mode bits the user has explicitly
75827         mentioned.
75828         (mode_adjust): New arg DIR, so that we implement the X op correctly.
75829         New arg PMODE_BITS, to keep track of which mode bits the user
75830         mentioned; it treats S_ISUID and S_ISGID speciall.
75831         All callers changed.
75832         * lib/modechange.h: Likewise.
75833
75834 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
75835
75836         * MODULES.html.sh: Add mkancestors.
75837         * modules/mkancesdirs: New module.
75838         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
75839         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
75840         The chdir-safer and afs files are now orphans; I'll remove them
75841         unless someone speaks up.
75842         Add lib/dirchownmod.c, lib/dirchownmod.h.
75843         (Depends-on): Remove alloca, chown, save-cwd, dirname.
75844         Add lchown, mkancesdirs.
75845         (Maintainer): Add self.
75846
75847 2006-07-15  Karl Berry  <karl@gnu.org>
75848
75849         * gnulib-tool: help message wording/arrangement.
75850
75851 2006-07-14  Simon Josefsson  <jas@extundo.com>
75852
75853         * doc/gnulib.texi (Libtool and Windows): New section.
75854
75855 2006-07-12  Simon Josefsson  <jas@extundo.com>
75856
75857         * modules/gendocs (License): Fix license, approved by Karl.
75858
75859 2006-07-12  Eric Blake  <ebb9@byu.net>
75860
75861         * MODULES.html.sh: Add gendocs.
75862
75863 2006-07-11  Eric Blake  <ebb9@byu.net>
75864
75865         * modules/fdl: New module, to install doc/fdl.texi.
75866         * MODULES.html.sh: Add new section for documentation modules.
75867         * gnulib-tool: Avoid space-tab.
75868         (--doc-base): New option, to manage files from doc.
75869
75870 2006-07-11  Eric Blake  <ebb9@byu.net>
75871
75872         * m4/absolute-header.m4: Fix comments to match recent change.
75873
75874 2006-07-11  Eric Blake  <ebb9@byu.net>
75875
75876         * gnulib-tool: List --doc-base before --tests-base.
75877
75878 2006-07-11  Derek R. Price  <derek@ximbiot.com>
75879
75880         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
75881
75882 2006-07-11  Bruno Haible  <bruno@clisp.org>
75883
75884         * README: Mention where to put documentation.
75885
75886 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75887
75888         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
75889
75890 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
75891
75892         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
75893         to stdint.m4.
75894
75895 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
75896
75897         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
75898         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
75899         "no/such/file/stdint.h" when there is no such file, so that
75900         the resulting C code can be parsed by dodgy compilers.
75901         Problems reported by Bob Proulx.
75902
75903 2006-07-10  Derek R. Price  <derek@ximbiot.com>
75904
75905         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
75906         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
75907         macros into the GNU _D_EXACT_NAMLEN.
75908         * lib/savedir.c:  Likewise.
75909         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
75910
75911 2006-07-10  Derek R. Price  <derek@ximbiot.com>
75912         and Paul Eggert  <eggert@cs.ucla.edu>
75913
75914         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
75915         * m4/savedir.m4:
75916         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
75917         macros into the GNU _D_EXACT_NAMLEN.
75918
75919 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
75920
75921         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
75922         around the absolute name, to work around a problem with the HP-UX
75923         11.23 native C compiler, reported by Bob Proulx.
75924
75925 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
75926
75927         * doc/maintain.texi, make-stds.texi: Sync from
75928         <http://savannah.gnu.org/projects/gnustandards>.
75929
75930 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
75931
75932         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
75933
75934 2006-07-09  Jim Meyering  <jim@meyering.net>
75935
75936         * m4/glob.m4: Remove a doubled word in a comment.
75937
75938 2006-07-09  Jim Meyering  <jim@meyering.net>
75939
75940         * lib/argp-pv.c: Remove a doubled word in a comment.
75941         * lib/check-version.c (check_version): Likewise.
75942         * lib/javacomp.c (compile_java_class): Likewise.
75943
75944 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
75945
75946         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
75947         for the benefit of people using Autoconf 2.60.  If you want to
75948         support older Autoconf versions you can copy m4/onceonly_2_57.m4
75949         (or m4/onceonly.m4, if pre-2.57) manually.
75950
75951 2006-07-08  Jim Meyering  <jim@meyering.net>
75952
75953         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
75954         comment.
75955         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
75956         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
75957         comment.
75958
75959 2006-07-08  Jim Meyering  <jim@meyering.net>
75960
75961         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
75962
75963 2006-07-07  Simon Josefsson  <jas@extundo.com>
75964
75965         * tests/test-crc.c: Change expected crc value, the test vector
75966         were probably computed using the old broken crc.c?
75967
75968 2006-07-06  Simon Josefsson  <jas@extundo.com>
75969
75970         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
75971         now the canonical place for the M4 file).
75972
75973         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
75974         from the sys_socket dependency now.
75975
75976         * modules/inet_pton (Files): Ditto.
75977
75978         * modules/inet_ntop (Files): Ditto.
75979
75980 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
75981
75982         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
75983         not gl_PREREQ_GETUSERSHELL.
75984
75985 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75986
75987         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
75988         with only one argument, for Autoconf 2.60.
75989         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
75990         expand to nothing, so add a shell command to avoid syntax error.
75991         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
75992
75993 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75994
75995         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
75996
75997 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
75998
75999         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
76000         no longer needed.  Check for isblank decl.
76001         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
76002         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
76003         of existence.
76004
76005 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
76006
76007         * lib/getloadavg.c: Use __VMS, not VMS.
76008         * lib/getopt.c: Likewise.
76009         * lib/getpagesize.h: Likewise.
76010         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
76011         and probably does not work.
76012
76013 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
76014
76015         * lib/.cppi-disable: Add wcwidth.
76016         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
76017         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
76018         (ISGRAPH): Remove.  All uses changed to isgraph.
76019         (FOLD) [!defined _LIBC]: Remove special case.
76020         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
76021         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
76022         HAVE_ISBLANK.
76023         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
76024         case.
76025
76026 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
76027
76028         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
76029         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
76030         brackets.  Other minor changes to suppress some compiler
76031         warnings.
76032
76033 2006-07-06  Derek R. Price  <derek@ximbiot.com>
76034         and Paul Eggert  <eggert@cs.ucla.edu>
76035
76036         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
76037         of invoking obsolescent AC_HEADER_DIRENT macro.
76038         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
76039         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
76040         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
76041         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
76042         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
76043         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
76044         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
76045         * m4/readdir.m4: Remove; no longer needed.
76046
76047 2006-07-06  Derek R. Price  <derek@ximbiot.com>
76048         and Paul Eggert  <eggert@cs.ucla.edu>
76049
76050         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
76051         Don't worry about this obsolete case any more.
76052         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
76053         directories.
76054         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
76055         worry about this obsolete case any more.
76056         * lib/fts.c: Likewise.
76057         * lib/getcwd.c: Likewise.
76058         * lib/glob.h: Likewise.
76059         * lib/savedir.c: Likewise.
76060
76061 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
76062
76063         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
76064         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
76065         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
76066         needed.
76067         All uses removed.
76068         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
76069         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
76070         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
76071         needed.
76072         * m4/getdate.m4 (gl_GETDATE): Likewise.
76073         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
76074         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
76075         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
76076         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
76077         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
76078         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
76079         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
76080         needed.
76081
76082 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
76083
76084         * lib/memcasecmp.c: Include <limits.h>.
76085         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
76086         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
76087         Don't assume isdigit succeeds only on '0' through '9'.
76088
76089 2006-07-05  Eric Blake  <ebb9@byu.net>
76090
76091         * modules/getaddrinfo (Depends-on): Add snprintf.
76092
76093 2006-07-05  Eric Blake  <ebb9@byu.net>
76094
76095         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
76096         to avoid 'header present but could not be compiled' on cygwin.
76097
76098 2006-07-05  Eric Blake  <ebb9@byu.net>
76099
76100         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
76101         missing from netdb.h.
76102         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
76103
76104 2006-07-05  Derek R. Price  <derek@ximbiot.com>
76105
76106         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
76107         no longer needed.
76108         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
76109         * m4/getdate.m4 (gl_GETDATE): Likewise.
76110         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
76111         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
76112         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
76113         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
76114         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
76115
76116 2006-07-05  Derek R. Price  <derek@ximbiot.com>
76117
76118         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
76119         All uses of is_space replaced by isspace.
76120         * lib/exit.h: Don't talk about STDC_HEADERS.
76121         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
76122         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
76123         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
76124         replaced by isprint etc.
76125         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
76126         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
76127         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
76128         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
76129         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
76130         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
76131
76132 2006-07-05  Bruno Haible  <bruno@clisp.org>
76133
76134         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
76135         the function exists, before testing against AIX.
76136         Reported by Martin Lambers <marlam@marlam.de>.
76137
76138 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
76139
76140         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
76141         From Mark D. Baushke.
76142
76143 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
76144
76145         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
76146         to the absolute name, not just one, to bypass Sun C 5.8's
76147         "warning: #include of /usr/include/... may be non-portable".
76148
76149 2006-07-04  Eric Blake  <ebb9@byu.net>
76150
76151         * modules/dirname-tests: New test module.
76152         * tests/test-dirname.c: New file, replacing dirname.c
76153         TEST_DIRNAME section that was recently deleted.
76154
76155 2006-07-04  Bruno Haible  <bruno@clisp.org>
76156
76157         Assume ANSI C header files and <ctype.h> functions.
76158         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
76159         (mbsnwidth): Use isprint, iscntrl instead.
76160
76161 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
76162
76163         Merge from coreutils.
76164         * MODULES.html.sh: Add xstrtold.
76165         * modules/xstrtold: New file.
76166         * modules/cycle-check (Files): Add lib/same-inode.h.
76167         * modules/dirname (Files): Add m4/double-slash-root.m4.
76168         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
76169         * modules/mkdir-p (Files): Add lib/same-inode.h.
76170         * modules/same (Files): Add lib/same-inode.h.
76171
76172 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
76173
76174         * m4/absolute-header.m4: Renamed from full-header-path.m4.
76175         This is to keep the terminology clean; POSIX talks about
76176         "absolute pathnames", not "full pathnames", but the GNU
76177         Coding Standards say to use "path" for something else;
76178         so use "absolute" to keep both sides happy.
76179         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
76180         Set gl_absolute_header, not gl_full_header_path.
76181         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
76182         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
76183         All uses changed.
76184
76185         Merge from coreutils.
76186
76187         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
76188
76189         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
76190         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
76191         want to require the building of c-strtod.o.
76192         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
76193         needs -lm directly.
76194         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
76195
76196         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
76197
76198         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
76199         --as-needed option if available.  Problem reported by Albert Chin in
76200         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
76201         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
76202         cc merely issues a bunch of annoying warnings for --as-needed
76203         (this problem was reported by Bob Proulx).  Also, try linking with
76204         -lm to detect a bug in binutils 2.16 (this problem was reported
76205         by Ralf Wildenhues).
76206
76207         2006-06-18  Jim Meyering  <jim@meyering.net>
76208
76209         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
76210         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
76211         macro.
76212         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
76213         also check for glibc-2.4's abort-inducing bug.
76214
76215         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
76216         Low-probability clean-up should be to use rmdir to get rid of
76217         the just-created directory, not unlink.
76218
76219         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
76220         configure fail, and request a bug report to inform us about it.
76221         Add a comment that, barring reports to the contrary, in 2007 we'll
76222         assume ftruncate is universally available.
76223
76224         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
76225
76226         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
76227
76228         2006-03-12  Jim Meyering  <jim@meyering.net>
76229
76230         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
76231         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
76232         * m4/same.m4 (gl_SAME): Likewise.
76233         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
76234
76235         2006-03-11  Eric Blake  <ebb9@byu.net>
76236
76237         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
76238         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
76239         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
76240         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
76241
76242 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
76243
76244         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
76245         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
76246         reported by Mark D. Baushke, one in
76247         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
76248
76249         Merge from coreutils.
76250
76251         * lib/.cppi-disable: Add stdint_.h.
76252         * lib/.cvsignore: Add stdint.h.
76253
76254         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
76255
76256         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
76257         both double and long double versions.
76258         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
76259         * lib/xstrtold.c: New file.
76260         * lib/xstrtod.h (xstrtold): New decl.
76261
76262         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
76263
76264         * lib/filemode.c (setst): Remove.
76265         (strmode): Rewrite to avoid setst.  This makes the code shorter,
76266         (arguably) clearer, and the generated code is a bit smaller on my
76267         Debian GNU/Linux stable x86 host.
76268
76269         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
76270
76271         * lib/filemode.c: Include "filemode.h" first, to test the interface.
76272         Assume that filemode.h includes sys/types.h and sys/stat.h.
76273         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
76274         (ftypelet): Reorder to put common cases first, for efficiency.
76275         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
76276         to do 'M'.
76277         (strmode): Renamed from mode_string, and now stores 12 bytes instead
76278         of 10, for compatibility with FreeBSD.  All callers changed.
76279         (filemodestring): Now stores 12 bytes instead of 10, and sets file
76280         types that can't be deduced solely from st_mode.  First arg is now a
76281         const pointer.
76282         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
76283         (strmode): Renamed from mode_string.
76284         (filemodestring): New decl.
76285         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
76286         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
76287         needed.
76288         (S_ISPORT, S_ISWHT): New macros, if not already defined.
76289
76290         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
76291
76292         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
76293         fsusage.h now does that.  Include fsusage.h first, to test interface.
76294         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
76295         at most one method (the old code could have generated decls that
76296         didn't conform to C89, not that this was ever exercised).
76297         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
76298
76299         2006-03-19  Jim Meyering  <jim@meyering.net>
76300
76301         Work even in a chroot where d_ino values for entries in "/"
76302         don't match the stat.st_ino values for the same names.
76303         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
76304         number, iterate through all entries again, using lstat instead.
76305         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
76306         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
76307
76308         * lib/getcwd.c (__getcwd): Clarify a comment.
76309         Use memcpy in place of a call to strcpy.
76310
76311         2006-03-12  Jim Meyering  <jim@meyering.net>
76312
76313         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
76314         matches that of the current directory (which we're about to chdir ".."
76315         out of), then save the dev-ino of the parent, instead.
76316
76317         * lib/same-inode.h (SAME_INODE): New file/macro.
76318         * lib/chdir-safer.c (SAME_INODE): Remove definition.
76319         Include "same-inode.h", instead.
76320         * lib/same.c: Likewise.
76321         * lib/cycle-check.h: Include "same-inode.h".
76322         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
76323         * lib/cycle-check.c (SAME_INODE): Remove definition.
76324         * lib/root-dev-ino.h: Include "same-inode.h".
76325
76326         2006-03-11  Eric Blake  <ebb9@byu.net>
76327
76328         * lib/same.c (same_name): s/base_name/last_component/
76329         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
76330         * lib/filenamecat.c (file_name_concat): Likewise.
76331
76332         2006-03-11  Eric Blake  <ebb9@byu.net>,
76333                     Paul Eggert  <eggert@cs.ucla.edu>
76334
76335         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
76336         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
76337         drive prefix.
76338         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
76339         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
76340         (last_component): New method.
76341         * lib/dirname.c (dir_len): Determine when drive letters need a
76342         subsequent slash.  Preserve // when it is special.
76343         (dir_name): Don't append dot when drive letter is absolute.
76344         [TEST_DIRNAME]: Move into a full-blown gnulib test.
76345         * lib/basename.c (base_name): New semantics - malloc the result.
76346         Preserve // when it is special.  Preserve relative files that look
76347         like drive letters.
76348         (base_len): Preserve // when it is special.
76349         (last_component): New method, similar to old base_name semantics.
76350         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
76351         base_name.  Strip redundant slashes from ///.
76352
76353 2006-07-03  Jim Meyering  <jim@meyering.net>
76354
76355         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
76356         macro is used before the first cycle_check call.
76357
76358 2006-07-03  Eric Blake  <ebb9@byu.net>
76359
76360         * modules/dirname (Depends-on): Add xstrndup.
76361
76362 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
76363
76364         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
76365         test cases, so that config.log is a bit easier to follow.
76366
76367 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
76368
76369         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
76370         both are 64 bits, since this seems to be the tradition, and this
76371         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
76372         we ever run into a host that prefers long long to long in this
76373         case, we'll need another configure-time test.  Problem reported by
76374         Jim Meyering.
76375
76376 2006-07-02  Eric Blake  <ebb9@byu.net>
76377
76378         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
76379
76380 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
76381
76382         * modules/inttypes (Depends-on): No longer depends on stdint.
76383         * modules/stdint (Description): Say more about assumptions.
76384         Say that the fast types might differ.  Say macros are used.
76385         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
76386         (Makefile.am): Revise list of substituted symbols to match
76387         new stdint.m4.
76388         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
76389         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
76390         * tests/test-stdint.c (verify_same_types)
76391         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
76392         the code conforms to C99/C89.
76393         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
76394         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
76395
76396 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
76397
76398         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
76399         but fix a bug, by requiring at least 64 bits.
76400         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
76401         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
76402         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
76403         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
76404
76405         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
76406         changes.  Make 2.59 a prerequisite.  Check and substitute for
76407         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
76408         inttypes.h.  Do not use special include files; just use the
76409         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
76410         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
76411         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
76412         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
76413         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
76414         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
76415         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
76416         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
76417         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
76418         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
76419         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
76420         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
76421         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
76422         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
76423         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
76424         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
76425         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
76426         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
76427         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
76428         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
76429         WINT_MAX.  Check for C99 conformance more strictly, by detecting
76430         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
76431         not check for things that C99 does not require, e.g., int8_t.  If
76432         a test isn't needed unless <stdint.h> isn't working, and is
76433         unlikely to be needed for any other reason, then don't do it
76434         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
76435         size_t, since we assume C89 freestanding at least.  Do not check
76436         for sig_atomic_t, wchar_t, or wint_t, since the code now does
76437         the right thing even if the types are not defined.  Instead use:
76438         (gl_STDINT_TYPE_PROPERTIES): New macro.
76439         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
76440         testing whether <sys/types.h> clashes, as Autoconf does this for
76441         us now.  All uses removed.
76442         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
76443         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
76444         (gl_CHECK_TYPE_SAME):
76445         Remove; no longer needed.
76446         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
76447         exists, since we'll return 0 anyway in that case.
76448         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
76449
76450 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
76451
76452         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
76453         possible collision with system files.
76454         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
76455         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
76456         WCHAR_MIN and WCHAR_MAX in this case.
76457         (<stddef.h>): Do not include; no longer needed.
76458         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
76459         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
76460         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
76461         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
76462         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
76463         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
76464         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
76465         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
76466         !defined(__c99))]: Include in this case too, since it's harmless
76467         now.
76468         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
76469         dangerous to do so.
76470         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
76471         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
76472         (_STDINT_MIN, _STDINT_MAX): New macros.
76473         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
76474         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
76475         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
76476         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
76477         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
76478         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
76479         macros, not typedefs; this simplifies things quite a bit.
76480         Use long int for all types narrower than int64_t.
76481         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
76482         Define in terms of long long int or int64_t or long int,
76483         not int64_t or int32_t.  This saves some compile-time testing.
76484         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
76485         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
76486         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
76487         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
76488         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
76489         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
76490         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
76491         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
76492         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
76493         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
76494         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
76495         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
76496         undef any previous version and define our own version, for
76497         simplicity and consistency with the new macros for types.
76498         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
76499         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
76500         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
76501         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
76502         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
76503         @WINT_T_SUFFIX@ to keep things simple here.
76504         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
76505         Simplify by assuming typical 8/16/32/64 host, since we're
76506         already doing that elsewhere anyway.
76507         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
76508         and assume long long int is 64 bits if available.  This
76509         speeds up 'configure'.
76510
76511 2006-07-01  Eric Blake  <ebb9@byu.net>
76512
76513         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
76514         Reported by Andreas Buening.
76515
76516 2006-07-01  Eric Blake  <ebb9@byu.net>
76517
76518         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
76519
76520 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
76521
76522         * lib/getaddrinfo.c: fixed typo
76523
76524 2006-06-29  Jim Meyering  <jim@meyering.net>
76525
76526         * modules/strftime (Maintainer): Add my name, since with the
76527         FPRINTFTIME changes strftime.c has forked from glibc.
76528
76529 2006-06-29  Eric Blake  <ebb9@byu.net>
76530
76531         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
76532
76533 2006-06-29  Eric Blake  <ebb9@byu.net>
76534
76535         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
76536
76537 2006-06-29  Eric Blake  <ebb9@byu.net>
76538
76539         * lib/stat_.h: New file.
76540
76541 2006-06-29  Eric Blake  <ebb9@byu.net>
76542
76543         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
76544         unused static function.
76545
76546 2006-06-29  Eric Blake  <ebb9@byu.net>
76547
76548         * doc/functions.texi (Function Portability): Document missing lstat
76549         on mingw.
76550
76551 2006-06-29  Eric Blake  <ebb9@byu.net>
76552
76553         * MODULES.html.sh: Add sys_stat.
76554         * modules/sys_stat: New module.
76555         * modules/mkstemp (Depends-on): Add sys_stat.
76556
76557 2006-06-29  Derek R. Price  <derek@ximbiot.com>
76558
76559         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
76560
76561 2006-06-29  Derek R. Price  <derek@ximbiot.com>
76562
76563         * m4/c-bs-a.m4: Removed.
76564
76565 2006-06-29  Derek R. Price  <derek@ximbiot.com>
76566
76567         * lib/strftime.c: Assume strftime() exists.
76568
76569 2006-06-29  Derek Price  <derek@ximbiot.com>
76570
76571         * modules/c-bs-a: Removed - \a is C89.
76572         * MODULES.html.sh: Remove c-bs-a.
76573
76574 2006-06-29  Bruno Haible  <bruno@clisp.org>
76575
76576         * modules/wcwidth (License): Change to LGPL.
76577
76578 2006-06-28  Simon Josefsson  <jas@extundo.com>
76579
76580         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
76581         on _WIN32.
76582
76583         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
76584         getnameinfo.
76585
76586 2006-06-28  Simon Josefsson  <jas@extundo.com>
76587
76588         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
76589
76590 2006-06-28  Simon Josefsson  <jas@extundo.com>
76591
76592         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
76593         functions there.  It will succeed on Windows XP, but on Windows
76594         2000 and (presumably) earlier, it will fail, and use the internal
76595         re-implementation.
76596         (use_win32_p): New function.
76597         (getaddrinfo): Use strtoul on servname, to support numeric ports.
76598         Support AI_NUMERICSERV to disable getservbyname.
76599         (getnameinfo): New function, only supports
76600         NI_NUMERICHOST|NI_NUMERICSERV for now.
76601
76602         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
76603         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
76604         getnameinfo.
76605
76606 2006-06-28  Eric Blake  <ebb9@byu.net>
76607
76608         * modules/wcwidth: New file.
76609         * modules/mbchar (Depends-on): Add wcwidth.
76610         * modules/mbswidth (Depends-on): Add wcwidth.
76611         * MODULES.html.sh: Add wcwidth.
76612
76613 2006-06-28  Eric Blake  <ebb9@byu.net>
76614
76615         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
76616         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
76617
76618 2006-06-28  Eric Blake  <ebb9@byu.net>
76619
76620         * lib/xvasprintf.h: Fix comments.
76621
76622 2006-06-28  Eric Blake  <ebb9@byu.net>
76623
76624         * lib/mbchar.h (wcwidth): Include wcwidth.h.
76625         * lib/mbswidth.c (wcwidth): Move from here...
76626         * lib/wcwidth.h: ...to this new file.
76627
76628 2006-06-28  Derek R. Price  <derek@ximbiot.com>
76629
76630         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
76631
76632         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
76633         it's obsolete.
76634         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
76635
76636 2006-06-28  Derek R. Price  <derek@ximbiot.com>
76637
76638         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
76639         Autoconf 2.60 says this stuff was obsolete.
76640
76641 2006-06-28  Bruno Haible  <bruno@clisp.org>
76642
76643         * modules/wcwidth (Files): Add m4/wchar_t.m4.
76644
76645 2006-06-28  Bruno Haible  <bruno@clisp.org>
76646
76647         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
76648         gt_TYPE_WCHAR_T.
76649
76650 2006-06-28  Bruno Haible  <bruno@clisp.org>
76651
76652         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
76653         declaration for wcwidth.
76654         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
76655
76656 2006-06-28  Bruno Haible  <bruno@clisp.org>
76657
76658         * lib/mkdtemp.c [MINGW]: Include <io.h>.
76659         (mkdir): Define using _mkdir.
76660
76661 2006-06-28  Bruno Haible  <bruno@clisp.org>
76662
76663         * lib/getaddrinfo.h: Fix POSIX URL.
76664         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
76665         _WIN32.
76666         (use_win32_p): Make static.
76667         (getaddrinfo): Reject service name if it is empty or does not consist
76668         solely of decimal digits, or if its value is > 65535.
76669         (getnameinfo): Remove useless casts.
76670
76671 2006-06-27  Simon Josefsson  <jas@extundo.com>
76672
76673         * modules/sys_select: New file, suggested by Bruno Haible, Paul
76674         Eggert and Martin Lambers.
76675
76676 2006-06-27  Simon Josefsson  <jas@extundo.com>
76677
76678         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
76679         Eggert and Martin Lambers.
76680
76681 2006-06-27  Bruno Haible  <bruno@clisp.org>
76682
76683         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
76684         result to 0, not to empty.
76685         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
76686
76687 2006-06-27  Bruno Haible  <bruno@clisp.org>
76688
76689         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
76690
76691 2006-06-26  Simon Josefsson  <jas@extundo.com>
76692
76693         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
76694         present.
76695
76696 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
76697
76698         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
76699         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
76700         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
76701
76702 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
76703
76704         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
76705
76706 2006-06-26  Bruno Haible  <bruno@clisp.org>
76707
76708         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
76709
76710 2006-06-26  Bruno Haible  <bruno@clisp.org>
76711
76712         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
76713
76714 2006-06-26  Bruno Haible  <bruno@clisp.org>
76715
76716         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
76717         SGI C compiler in pre-C99 mode.
76718         Suggested by Mark D. Baushke and Larry Jones.
76719
76720 2006-06-26  Bruno Haible  <bruno@clisp.org>
76721
76722         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
76723         WCHAR_MAX.
76724         Reported by Mark D. Baushke and Larry Jones.
76725
76726 2006-06-26  Bruno Haible  <bruno@clisp.org>
76727
76728         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
76729         in pre-C99 mode.
76730         Suggested by Mark D. Baushke and Larry Jones.
76731
76732 2006-06-23  Simon Josefsson  <jas@extundo.com>
76733             Bruno Haible  <bruno@clisp.org>
76734
76735         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
76736         Emit mostlyclean-local rule.
76737         (func_emit_tests_Makefile_am): Likewise.
76738         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
76739
76740 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
76741
76742         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
76743
76744 2006-06-23  Bruno Haible  <bruno@clisp.org>
76745
76746         * tests/test-stdint.c: Update to match ISO C 99 Technical
76747         Corrigendum 1.
76748
76749 2006-06-23  Bruno Haible  <bruno@clisp.org>
76750
76751         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
76752
76753 2006-06-23  Bruno Haible  <bruno@clisp.org>
76754
76755         * lib/stdint_.h: Treat IRIX like OpenBSD.
76756
76757 2006-06-23  Bruno Haible  <bruno@clisp.org>
76758
76759         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
76760         ISO C 99 Technical Corrigendum 1.
76761
76762 2006-06-22  Simon Josefsson  <jas@extundo.com>
76763
76764         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
76765         MinGW.
76766
76767 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
76768
76769         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
76770         needed.  Some compiler complained about some of them.  Problem reported
76771         by Larry Jones in
76772         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
76773
76774 2006-06-21  Simon Josefsson  <jas@extundo.com>
76775
76776         * tests/test-getaddrinfo.c: New file.
76777
76778         * modules/getaddrinfo-tests: New file.
76779
76780         * MODULES.html.sh: Add inet_pton.
76781
76782         * modules/inet_pton: New file.
76783
76784 2006-06-21  Simon Josefsson  <jas@extundo.com>
76785
76786         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
76787         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
76788         of using the (limited) gnulib implementation on Windows XP.
76789
76790         * m4/inet_pton.m4: New file.
76791
76792 2006-06-21  Simon Josefsson  <jas@extundo.com>
76793
76794         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
76795         variable.
76796
76797         * lib/socket_.h: Don't define WINVER.
76798
76799         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
76800         slightly modified to work in gnulib.
76801
76802 2006-06-21  Simon Josefsson  <jas@extundo.com>
76803
76804         * doc/gnulib.texi (Windows sockets): Add.
76805
76806 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
76807
76808         * lib/read-file.c (fread_file): Start with buffer allocation of
76809         0 bytes rather than 1 byte; this simplifies the code.
76810         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
76811         code to free buffer and save/restore errno.
76812         (internal_read_file): Remove unused local.
76813
76814 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
76815
76816         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
76817         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
76818         Problem reported by Denis Excoffier in
76819         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
76820
76821 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76822
76823         * modules/sys_socket, modules/socklen: Include sys/types since
76824         FreeBSD 4.x's sys/socket.h needs it.
76825
76826 2006-06-19  Simon Josefsson  <jas@extundo.com>
76827
76828         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
76829
76830 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
76831
76832         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
76833
76834 2006-06-19  Bruno Haible  <bruno@clisp.org>
76835
76836         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
76837         and FULL_PATH_INTTYPES_H in angle brackets.
76838         Reported by Mark D. Baushke <mdb@gnu.org>.
76839
76840 2006-06-17  Eric Blake  <ebb9@byu.net>
76841
76842         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
76843         errno.
76844
76845 2006-06-17  Bruno Haible  <bruno@clisp.org>
76846
76847         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
76848         <sys/inttypes.h>.
76849
76850 2006-06-17  Bruno Haible  <bruno@clisp.org>
76851
76852         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
76853         whether errno is declared. Assume <errno.h> declares errno.
76854
76855 2006-06-17  Bruno Haible  <bruno@clisp.org>
76856
76857         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
76858
76859 2006-06-17  Bruno Haible  <bruno@clisp.org>
76860
76861         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
76862         problem on Solaris 2.5.1.
76863
76864 2006-06-16  Eric Blake  <ebb9@byu.net>
76865
76866         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
76867         * lib/unicodeio.c [!defined errno]: Likewise.
76868         * lib/strtol.c [!defined errno]: Likewise.
76869         * lib/strtod.c [!defined errno]: Likewise.
76870
76871 2006-06-15  Eric Blake  <ebb9@byu.net>
76872
76873         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
76874
76875 2006-06-15  Eric Blake  <ebb9@byu.net>
76876
76877         * config/srclist.txt (ssize_t.m4): Lose sync.
76878
76879 2006-06-15  Bruno Haible  <bruno@clisp.org>
76880
76881         * modules/stdint (Files): Include m4/full-header-path.m4,
76882         m4/size_max.m4, m4/wchar_t.m4.
76883         (Makefile.am): Many more substitutions.
76884         * modules/stdint-tests: New file.
76885         * tests/test-stdint.c: New file.
76886
76887 2006-06-15  Bruno Haible  <bruno@clisp.org>
76888
76889         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
76890         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
76891         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
76892         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
76893         gl_CHECK_TYPE_SAME): New macros.
76894
76895 2006-06-15  Bruno Haible  <bruno@clisp.org>
76896
76897         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
76898
76899 2006-06-15  Bruno Haible  <bruno@clisp.org>
76900
76901         * lib/stdint_.h: Rewritten to be fully auto-configured.
76902         Fixes bug on HP-UX/IA64.
76903
76904 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
76905
76906         * lib/getdate.y (__attribute__): Don't define if already defined.
76907         Problem reported by Larry Jones.
76908         * lib/utimens.c (__attribute__): Likewise.
76909
76910 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
76911
76912         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
76913         reported by Andreas Schwab.
76914
76915 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76916             Bruno Haible  <bruno@clisp.org>
76917
76918         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
76919         check for the declaration of strnlen and a run test that exposes the
76920         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
76921         rpl_strndup.
76922
76923 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76924             Bruno Haible  <bruno@clisp.org>
76925
76926         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
76927
76928 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76929
76930         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
76931         compile test, for Tru64 4.0D.
76932
76933 2006-05-28  Karl Berry  <karl@gnu.org>
76934
76935         * config/srclist.txt (printf-args.c): lose sync.
76936
76937 2006-05-26  Martin Lambers  <marlam@marlam.de>
76938
76939         * lib/getpass.c: Updates the test for the native W32 API, and adds
76940         missing includes, thus fixing compilation warnings.
76941
76942 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
76943
76944         * lib/exclude.c (exclude_fnmatch): New function.
76945         (excluded_file_name): Call exclude_fnmatch.
76946         * lib/exclude.h (excluded_file_name): New prototype
76947
76948 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
76949
76950         * lib/tempname.c (small_open, large_open): New macros.
76951         (__open, __open64) [!_LIBC]: Remove.
76952         (__gen_tempname): Use small_open and large_open instead of __open
76953         and __open64.  This fixes a portability bug on HP-UX 11.11i
76954         reported by Simon Wing-Tang in
76955         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
76956
76957 2006-05-24  Bruno Haible  <bruno@clisp.org>
76958
76959         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
76960         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
76961         Reported by Thorsten Maerz <torte@netztorte.de> via
76962         Aaron Stone <aaron@serendipity.cx>.
76963
76964 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
76965
76966         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
76967         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
76968         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
76969         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
76970         not really conditional on the cache.
76971         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
76972
76973 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
76974
76975         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
76976         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
76977         (my_usleep): Don't mishandle maximum value.
76978
76979 2006-05-19  Jim Meyering  <jim@meyering.net>
76980
76981         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
76982
76983 2006-05-17  Bruno Haible  <bruno@clisp.org>
76984
76985         Cygwin portability.
76986         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
76987
76988 2006-05-17  Bruno Haible  <bruno@clisp.org>
76989
76990         * lib/stdint_.h: Fix recognition of Cygwin.
76991
76992 2006-05-15  Bruno Haible  <bruno@clisp.org>
76993
76994         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
76995         on libtool patch by Ralf Wildenhues.
76996
76997 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
76998
76999         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
77000         test for C99 conformance; (bool) 0.5 is an integer constant
77001         expression, but (bool) -0.5 is not.  Problem reported by Fedor
77002         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
77003
77004 2006-05-11  Simon Josefsson  <jas@extundo.com>
77005
77006         * m4/xvasprintf.m4: Fix obvious typo.
77007
77008 2006-05-11  Jim Meyering  <jim@meyering.net>
77009
77010         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
77011         James Lemley.
77012
77013 2006-05-10  Simon Josefsson  <jas@extundo.com>
77014
77015         * lib/md4.c: Typo fix, update copyright years.
77016         (K1, K2): Don't use L because it turn computations into 64-bit on
77017         64-bit platforms.
77018
77019 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
77020
77021         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
77022         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
77023         unwanted sign propagation, e.g., on hosts with 64-bit int.
77024         There still are some problems with reeelly weird theoretical hosts
77025         (e.g., 33-bit int) but it's not worth worrying about now.
77026         * lib/sha1.c (rol): Likewise.
77027         (K1, K2, K3, K4): Remove unnecessary L suffix.
77028
77029 2006-05-10  Bruno Haible  <bruno@clisp.org>
77030
77031         * lib/des.c: Cast to avoid warnings.
77032
77033 2006-05-09  Bruno Haible  <bruno@clisp.org>
77034
77035         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
77036         (Depends-on): Depend also on xsize, stdarg.
77037         (configure.ac): Add gl_XVASPRINTF.
77038
77039 2006-05-09  Bruno Haible  <bruno@clisp.org>
77040
77041         * m4/xvasprintf.m4: New file.
77042
77043 2006-05-09  Bruno Haible  <bruno@clisp.org>
77044
77045         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
77046         (EOVERFLOW): Define fallback value.
77047         (xstrcat): New function.
77048         (xvasprintf): Recognize the special case of a string concatenation.
77049
77050 2006-05-08  Eric Blake  <ebb9@byu.net>
77051
77052         * gnulib-tool (func_version): Base copyright year on CVS date.
77053         (func_emit_copyright_notice): New function.
77054         (func_emit_lib_Makefile_am): Use it.
77055         (func_emit_tests_Makefile_am): Likewise.
77056         (func_import): Likewise.
77057
77058 2006-05-08  Bruno Haible  <bruno@clisp.org>
77059
77060         * modules/stdarg: New file.
77061         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
77062
77063 2006-05-08  Bruno Haible  <bruno@clisp.org>
77064
77065         * m4/stdarg.m4: New file, from GNU gettext.
77066
77067 2006-05-08  Bruno Haible  <bruno@clisp.org>
77068
77069         * config/srclist.txt (build-aux/config.rpath): different from latest
77070         release.
77071
77072 2006-05-08  Bruno Haible  <bruno@clisp.org>
77073
77074         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
77075
77076 2006-05-05  Jim Meyering  <jim@meyering.net>
77077
77078         * m4/warning.m4: New file, derived from bison's file by the same name.
77079
77080 2006-05-03  Bruno Haible  <bruno@clisp.org>
77081
77082         * lib/stdint_.h: Shorter URL.
77083         * lib/inttypes.h: Likewise.
77084
77085 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
77086
77087         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
77088
77089 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
77090
77091         * lib/verify.h: Document the internals better.  Most of this change
77092         was written by Bruno Haible.
77093
77094 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
77095
77096         * doc/verify.texi: New file, partly based on a proposal by
77097         Bruno Haible.
77098
77099 2006-05-02  Bruno Haible  <bruno@clisp.org>
77100
77101         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
77102         test from here...
77103         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
77104
77105 2006-04-29  Bruno Haible  <bruno@clisp.org>
77106
77107         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
77108         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
77109
77110 2006-04-29  Bruno Haible  <bruno@clisp.org>
77111
77112         * gnulib-tool: Make --update option actually work.
77113
77114 2006-04-29  Bruno Haible  <bruno@clisp.org>
77115
77116         * doc/gcd.texi: New file.
77117         * doc/gnulib.texi: Include it.
77118
77119 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
77120
77121         * lib/getdate.y (get_date): When adding relative date, start with the
77122         initial time, not with the result of the first mktime call.
77123
77124 2006-04-25  Bruno Haible  <bruno@clisp.org>
77125
77126         * gnulib-tool (func_import): Output the include directives in three
77127         blocks, sorted separately.
77128         Reported by Ben Pfaff <blp@cs.stanford.edu>.
77129
77130 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
77131
77132         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
77133         to define main with arguments, for C++.  Reported by Eric Blake.
77134         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
77135         Prefer 'int main ()' to 'int main (void)', for C++.
77136         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
77137         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
77138         for 'main', for C99 and C++.
77139
77140 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
77141
77142         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
77143         Don't assume that exit status -1 is valid.
77144         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
77145         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
77146         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
77147         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
77148         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
77149         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
77150         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
77151         functions can be used without declaring them, or that you can
77152         exit with status -1.
77153         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
77154
77155 2006-04-24  Karl Berry  <karl@gnu.org>
77156
77157         * config/srclist.txt (longdouble.m4): sync lost.
77158
77159 2006-04-24  Eric Blake  <ebb9@byu.net>
77160
77161         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
77162
77163 2006-04-24  Bruno Haible  <bruno@clisp.org>
77164
77165         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
77166         poll() implementation in AIX.
77167         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
77168
77169 2006-04-24  Bruno Haible  <bruno@clisp.org>
77170
77171         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
77172         assigned exactly once.
77173
77174 2006-04-23  Claudio Fontana  <claudio@gnu.org>
77175             Bruno Haible  <bruno@clisp.org>
77176
77177         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
77178         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
77179         for AM_CPPFLAGS.
77180
77181 2006-04-23  Bruno Haible  <bruno@clisp.org>
77182
77183         * modules/copy-file: Depend on unistd.
77184         * modules/execute: Likewise.
77185         * modules/fatal-signal: Likewise.
77186         * modules/findprog: Likewise.
77187         * modules/mkdtemp : Likewise.
77188         * modules/pipe: Likewise.
77189         * modules/wait-process: Likewise.
77190
77191 2006-04-23  Bruno Haible  <bruno@clisp.org>
77192
77193         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
77194         condition was already detected.
77195         Reported by Ben Pfaff <blp@cs.stanford.edu>.
77196
77197 2006-04-23  Bruno Haible  <bruno@clisp.org>
77198
77199         * lib/copy-file.c: Include <unistd.h> unconditionally.
77200         * lib/execute.c: Likewise.
77201         * lib/fatal-signal.c: Likewise.
77202         * lib/findprog.c: Likewise.
77203         * lib/mkdtemp.c: Likewise.
77204         * lib/pipe.h: Likewise.
77205         * lib/pipe.c: Likewise.
77206         * lib/wait-process.h: Likewise.
77207
77208 2006-04-23  Bruno Haible  <bruno@clisp.org>
77209
77210         * gnulib-tool (func_usage): Fix --import description. Document
77211         --update.
77212         (func_import): Create temporary file in a temporary directory, if
77213         --dry-run is specified. Silence errors from 'grep' when there are no
77214         m4 files in $m4dir.
77215         (func_create_testdir): Silence errors from 'grep' when there are no
77216         m4 files in $m4dir.
77217         Reported by Karl Berry <karl@freefriends.org>.
77218
77219 2006-04-20  Bruno Haible  <bruno@clisp.org>
77220
77221         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
77222         one argument, so that the code will be portable to Autoconf 2.60.
77223         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
77224         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
77225         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
77226
77227 2006-04-19  Derek Price  <derek@ximbiot.com>
77228             Eric Blake  <ebb9@byu.net>
77229
77230         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
77231         rather than "/full/path.h".  Update comment to match.  Shorten &
77232         generalize m4_translit call via AS_TR_CPP.
77233
77234 2006-04-19  Derek Price  <derek@ximbiot.com>
77235             Eric Blake  <ebb9@byu.net>
77236
77237         * lib/inttypes.h: Correct grammar in comment.
77238
77239 2006-04-18  Derek Price  <derek@ximbiot.com>
77240             Paul Eggert  <eggert@cs.ucla.edu>
77241
77242         * modules/inttypes: New file.
77243         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
77244
77245 2006-04-18  Derek Price  <derek@ximbiot.com>
77246             Paul Eggert  <eggert@cs.ucla.edu>
77247
77248         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
77249         New files.
77250
77251 2006-04-18  Derek Price  <derek@ximbiot.com>
77252             Paul Eggert  <eggert@cs.ucla.edu>
77253
77254         * lib/inttypes.h: New file.
77255         * lib/strtoimax.c: Assume <inttypes.h>.
77256
77257 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
77258
77259         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
77260         isn't mounted.  Problem reported by Kir Kolyshkin.
77261
77262 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
77263
77264         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
77265         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
77266         Derek R. Price.
77267         * lib/regex.h (RE_DUP_MAX): Update comment to match current
77268         implementation.
77269
77270 2006-04-12  Eric Blake  <ebb9@byu.net>
77271
77272         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
77273         is now done automatically by the corresponding Autoconf macro.
77274
77275 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
77276
77277         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
77278         time_r.h.
77279
77280 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
77281
77282         Merge regex changes from libc, removing some of our
77283         POSIX-conformance changes that were rejected and redoing them in a
77284         less-intrusive way.
77285
77286         * lib/regcomp.c (re_compile_internal, init_dfa):
77287         Length arg is now size_t, not Idx.  All uses changed.
77288         (peek_token): Forward decl now says internal_function.
77289         (__re_error_msgid, __re_error_msgid_idx):
77290         Now static rather than extern with attribute_hidden.
77291         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
77292         For some reason libc prefers K&R style defns for external functions.
77293         (regerror) [!defined _LIBC]: Likewise.
77294         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
77295         (seek_collating_symbol_entry, lookup_collation_sequence_value):
77296         (build_range_exp, build_collating_symbol):
77297         Use K&R-style defn.
77298         (re_compile_fastmap): Use '\0' to memset, not 0.
77299         (utf8_sb_map): Make the calculations more obvious.
77300         (init_dfa, parse_bracket_exp, build_charclass_op):
77301         Call calloc and cast result, as glibc does.
77302         (init_word_char, fetch_token, peek_token, peek_token_bracket):
77303         (build_range_exp, build_collating_symbol):
77304         Now internal functions.
77305
77306         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
77307
77308         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
77309         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
77310         Don't depend on VMS; depend on __VMS instead, for POSIX
77311         namespace cleanness.
77312         (regoff_t): Define to ssize_t, not long int.
77313
77314         Remove the REG_ macros named below.  Instead, make the old names
77315         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
77316         __USE_GNU_REGEX.
77317         (REG_BACKSLASH_ESCAPE_IN_LISTS):
77318         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
77319         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
77320         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
77321         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
77322         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
77323         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
77324         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
77325         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
77326         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
77327         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
77328         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
77329         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
77330         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
77331         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
77332         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
77333         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
77334         (REG_NREGS):
77335         Remove.  All uses replaced by the old RE_* names.
77336         (RE_BACKSLASH_ESCAPE_IN_LISTS):
77337         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
77338         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
77339         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
77340         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
77341         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
77342         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
77343         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
77344         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
77345         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
77346         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
77347         Don't bother having these macros be independent of each others'
77348         values, since they no longer exist in the POSIX name space.
77349
77350         Rename the following member names back to their old names,
77351         unless !__USE_GNU_REGEX.  All uses changed back.
77352         (buffer): Renamed from re_buffer.
77353         (allocated): Renamed from re_allocated.
77354         (used): Renamed from re_used.
77355         (syntax): Renamed from re_syntax.
77356         (fastmap): Renamed from re_fastmap.
77357         (translate): Renamed from re_translate.
77358         (can_be_null): Renamed from re_can_be_null.
77359         (regs_allocated): Renamed from re_regs_allocated.
77360         (fastmap_accurate): Renamed from re_fastmap_accurate.
77361         (no_sub): Renamed from re_no_sub.
77362         (not_bol): Renamed from re_not_bol.
77363         (not_eol): Renamed from re_not_eol.
77364         (newline_anchor): Renamed from re_newline_anchor.
77365         (num_regs): Renamed from rm_num_regs.
77366         (start): Renamed from rm_start.
77367         (end): Renamed from rm_end.
77368
77369         (free_state): Move up a bit.
77370
77371         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
77372         #define to be empty.
77373         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
77374         when that is what is intended.
77375         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
77376         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
77377         (MAX): New macro.
77378         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
77379         All uses changed back to re_malloc, etc.  It's now the caller's
77380         responsibility to check for overflow; all callers changed.
77381         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
77382         (re_x2nrealloc): Remove.
77383         (free_state): Remove decl.
77384
77385         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
77386         (re_set_registers, re_exec):
77387         Use K&R-style defn.
77388
77389         2006-01-31  Roland McGrath  <roland@redhat.com>
77390
77391         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
77392         Reported by Mike Frysinger <vapier@gentoo.org>.
77393
77394         2006-01-15  Andreas Jaeger  <aj@suse.de>
77395
77396         [BZ #1950]
77397         * lib/regex_internal.c (re_string_reconstruct): Adjust for
77398         build_wcs_upper_buffer change.
77399         (build_wcs_upper_buffer): Change return type.
77400
77401         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
77402
77403         * lib/regex_internal.h: Include <stdint.h> if available.
77404
77405         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
77406
77407         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
77408
77409         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
77410
77411         * lib/regcomp.c: Adjust for changed secondary hash function.
77412
77413         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
77414
77415         * lib/regex.h: Pretty printing.
77416         Clean up namespace a bit.
77417
77418         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
77419
77420         * lib/regexec.c (update_cur_sifted_state, check_arrival,
77421         check_arrival_add_next_nodes): Avoid using uninitialized variable.
77422
77423         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
77424                     Ulrich Drepper  <drepper@redhat.com>
77425
77426         [BZ #1302]
77427         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
77428         changed.
77429         (bitset_word_t): Renamed from bitset_word.  All uses changed.
77430
77431         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
77432
77433         [BZ #281]
77434         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
77435         * lib/regcomp.c: Remove unnecessary uses of
77436         unsigned RE_TRANSLATE_TYPE.
77437         * lib/regex_internal.h: Likewise.
77438         * lib/regex_internal.c: Likewise.
77439         * lib/regexec.c: Likewise.
77440         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
77441
77442         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
77443
77444         * lib/regexec.c (find_recover_state): Remove unnecessary
77445         initialization.
77446         (transit_state_bkref): Make DFA a const pointer.
77447         (get_subexp): Likewise.
77448         (check_arrival): Likewise.
77449         (update_cur_sifted_state): Likewise.
77450         (re_search_internal): Likewise.
77451         (prune_impossible_nodes): Likewise.
77452         (acquire_init_state_context): Likewise.
77453         (proceed_next_node): Likewise.
77454         (set_regs): Likewise.
77455         (free_fail_stack_return): Likewise.
77456         (check_arrival_expand_ecl): Mark DFA parameter as const.
77457         (check_arrival_expand_ecl_sub): Likewise.
77458         (check_subexp_limits): Likewise.
77459         (sub_epsilon_src_nodes):  Likewise.
77460         (add_epsilon_src_nodes):  Likewise.
77461         (merge_state_array): Likewise.
77462         (update_regs): Likewise.
77463         (build_trtable): Likewise.
77464         (sift_states_backward): Mark MCTX parameter as const.
77465         (build_sifted_states): Likewise.
77466         (update_cur_sifted_state): Likewise.
77467         (sift_states_mkref): Likewise.
77468         (check_arrival_expand_ecl): Mark eclosure as const.
77469         (check_dst_limits_calc_pos_1): Likewise.
77470         * lib/regex_internal.h (re_match_context_t): Make dfa a const
77471         pointer.
77472
77473         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
77474
77475         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
77476         (transit_state_sb): Likewise.
77477         (transit_state_mb): Likewise.
77478         (sift_states_iter_mb): Likewise.
77479         (check_arrival_add_next_nodes): Likewise.
77480         (check_node_accept_bytes): Change first parameter to pointer-to-const.
77481         [_LIBC] (re_search_2_stub): Use mempcpy.
77482
77483         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
77484         mbrtowc for very simple UTF-8 case.
77485
77486         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
77487         a pointer-to-const.
77488         (re_acquire_state_context): Likewise.
77489         * lib/regex_internal.h: Adjust prototypes.
77490
77491         * lib/regex.c: Prevent using C++ compilers.
77492
77493         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
77494         (re_acquire_state_context): Likewise.
77495
77496 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
77497
77498         * modules/regex (Depends-on): Add ssize_t.
77499
77500 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
77501
77502         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
77503         translation table.
77504
77505 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
77506
77507         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
77508
77509 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
77510             Bruno Haible  <bruno@clisp.org>
77511
77512         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
77513         <sys/types.h> and <inttypes.h>.
77514
77515 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77516
77517         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
77518         `__error_t_defined', so argp.h will not typedef the former.
77519
77520 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
77521
77522         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
77523         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
77524         glibc names.  Even if glibc is changed to conform to POSIX, the
77525         traditional names will be available anyway, since regex depends on
77526         the extensions module.  Also, fix a longstanding typo in the
77527         implementation of Spencer ERE test #75 from grep 2.3.  Problems
77528         reported by Emanuele Giaquinta.  Also, change sense of cached
77529         variable, so that the message makes sense.
77530
77531 2006-03-24  Simon Josefsson  <jas@extundo.com>
77532
77533         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
77534         including some doc fixes.
77535         (base64_encode_alloc): Fix +1 bug on allocation failures.
77536
77537 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77538
77539         * lib/base64.c (base64_encode): Do not read past end of array with
77540         unsanitized input on systems with CHAR_BIT > 8.
77541
77542 2006-03-24  Eric Blake  <ebb9@byu.net>
77543
77544         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
77545
77546 2006-03-22  Karl Berry  <karl@gnu.org>
77547
77548         * config/srclist.txt (*setenv.[ch]): get from coreutils.
77549         * config/srclistvars.sh (COREUTILS): new var.
77550
77551 2006-03-17  Jim Meyering  <jim@meyering.net>
77552
77553         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
77554         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
77555
77556 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
77557
77558         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
77559         no longer needs it.  Instead, check that regoff_t is as least
77560         as wide as ptrdiff_t.
77561
77562         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
77563         so that our regex.h stays compatible with the installed regex.
77564         This is helpful for installers who configure --without-included-regex.
77565         Problem reported by Emanuele Giaquinta.
77566
77567 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
77568
77569         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
77570         Typedef to long int, not to off_, as POSIX will likely change
77571         in that direction.
77572
77573 2006-03-15  Eric Blake  <ebb9@byu.net>
77574
77575         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
77576
77577 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
77578
77579         * lib/argp-help.c (validate_uparams): Fix typo
77580         * lib/argp-parse.c (argp_default_options): Consistently begin help
77581         messages with a lowercase letter.
77582
77583 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
77584
77585         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
77586         overrun buffers and shouldn't be used (much as gets shouldn't be
77587         used).
77588         * lib/time_r.c (asctime_r, ctime_r): Likewise.
77589
77590 2006-03-08  Simon Josefsson  <jas@extundo.com>
77591
77592         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
77593         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
77594
77595 2006-03-08  Simon Josefsson  <jas@extundo.com>
77596
77597         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
77598         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
77599
77600 2006-03-08  Simon Josefsson  <jas@extundo.com>
77601
77602         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
77603         signal that configure disabled the device.
77604
77605 2006-03-08  Simon Josefsson  <jas@extundo.com>
77606
77607         * build-aux/maint.mk: Fix refresh-po, to handle no translated
77608         languages.
77609
77610 2006-03-07  Simon Josefsson  <jas@extundo.com>
77611
77612         * modules/getopt (Depends-on): Add unistd.
77613
77614         * modules/unistd: New file.
77615
77616 2006-03-07  Simon Josefsson  <jas@extundo.com>
77617
77618         * modules/gc-random: New file.
77619
77620 2006-03-07  Simon Josefsson  <jas@extundo.com>
77621
77622         * m4/unistd_h.m4: New file.
77623
77624 2006-03-07  Simon Josefsson  <jas@extundo.com>
77625
77626         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
77627         test to be side-effect free by storing the result in the cache
77628         variable gl_cv_lib_readline, and moving the assignment of
77629         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
77630         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
77631
77632 2006-03-07  Simon Josefsson  <jas@extundo.com>
77633
77634         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
77635         error on missing devices (the functions will return an error).
77636
77637         * m4/gc.m4: Move random stuff to gc-random.m4
77638
77639 2006-03-07  Simon Josefsson  <jas@extundo.com>
77640
77641         * lib/unistd_.h: New file.
77642
77643 2006-03-07  Simon Josefsson  <jas@extundo.com>
77644
77645         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
77646
77647 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
77648
77649         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
77650         Problem reported by Juan Manuel Guerrero.
77651
77652 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
77653
77654         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
77655         the unistd module.
77656         * lib/getlogin_r.c: Likewise.
77657         * lib/getlogin_r.h: Likewise.
77658         * lib/glob.c: Likewise.
77659         * lib/pagealign_alloc.c: Likewise.
77660         * lib/unistd_.h: Remove; no longer needed.
77661
77662 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
77663
77664         * MODULES.html.sh (Support for systems lacking POSIX:2001):
77665         Add unistd.
77666         * modules/c-stack (Depends-on): Add unistd.
77667         * modules/getlogin_r: Likewise.
77668         * modules/glob: Likewise.
77669         * modules/pagealign_alloc: Likewise.
77670         * modules/unistd (Files): Remove lib/unistd_.h.
77671         (EXTRA_DIST): Remove.
77672         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
77673         need unistd_.h.
77674         (MOSTLYCLEANFILES): Remove unistd.h-t.
77675
77676 2006-03-03  Simon Josefsson  <jas@extundo.com>
77677
77678         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
77679
77680 2006-03-03  Simon Josefsson  <jas@extundo.com>
77681
77682         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
77683         libidn and bison.
77684
77685 2006-03-03  Simon Josefsson  <jas@extundo.com>
77686
77687         * build-aux/maint.mk: Add indent target.
77688
77689 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
77690
77691         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
77692         our replacement poll.h in any case, to avoid a differing
77693         declaration from a system header.  Seen on AIX.
77694
77695 2006-03-01  Simon Josefsson  <jas@extundo.com>
77696
77697         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
77698         <kasal@ucw.cz>.
77699
77700 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
77701
77702         * modules/gettime (Depends-on): Add extensions module.
77703         * modules/nanosleep (Depends-on): Likewise.
77704         * modules/settime (Depends-on): Likewise.
77705
77706 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
77707
77708         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
77709         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
77710         pedantically.
77711         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
77712         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
77713
77714         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
77715         not "==".  Reported by Ralf Wildenhues.
77716
77717 2006-03-01  Karl Berry  <karl@gnu.org>
77718
77719         * doc/Copyright/request-*: new files, synced from gnuorg.
77720
77721 2006-03-01  Karl Berry  <karl@gnu.org>
77722
77723         * config/srclist.txt (Copyright/*): new entries.
77724
77725 2006-02-28  Simon Josefsson  <jas@extundo.com>
77726
77727         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
77728
77729 2006-02-27  Simon Josefsson  <jas@extundo.com>
77730
77731         * lib/base64.h: Indent #define's.  From Jim Meyering
77732         <jim@meyering.net>.
77733
77734 2006-02-27  Jim Meyering  <jim@meyering.net>
77735
77736         Revert the change of 2006-02-24, so these files can continue
77737         to be sync'd from gettext.
77738         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
77739         of `config.h'.
77740
77741 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
77742
77743         * modules/intprops: New file.
77744         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
77745         Add intprops.
77746         * modules/getloadavg (Files): Remove lib/intprops.h.
77747         (Depends-on): Add intprops.
77748         * modules/human: Likewise.
77749         * modules/inttostr: Likewise.
77750         * modules/openat: Likewise.
77751         * modules/sig2str: Likewise.
77752         * modules/userspec: Likewise.
77753         * modules/utimecmp: Likewise.
77754         * modules/xnanosleep: Likewise.
77755         * modules/xstrtol: Likewise.
77756
77757 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
77758
77759         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
77760         * modules/lock-tests (TESTS): Use $(EXEEXT).
77761         * modules/tls-tests: Likewise.
77762         * modules/argp-tests: Likewise.
77763         (check_PROGRAMS): New var, replacing...
77764         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
77765
77766 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77767
77768         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
77769         `config.h'.
77770
77771 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
77772
77773         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
77774
77775 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77776
77777         Sync from coreutils.
77778         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
77779         gl_CHDIR_SAFER.
77780
77781 2006-02-22  Jim Meyering  <jim@meyering.net>
77782
77783         Sync from coreutils.
77784         * m4/chdir-safer.m4: New file.
77785
77786 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
77787
77788         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
77789         AT_FDCWD exceeds INT_MAX.
77790         * lib/openat.h (AT_FDCWD): Likewise.
77791
77792 2006-02-17  Eric Blake  <address@hidden>
77793
77794         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
77795
77796 2006-02-16  Simon Josefsson  <jas@extundo.com>
77797
77798         * modules/getaddrinfo (Depends-on): Add sys_socket.
77799
77800 2006-02-15  Simon Josefsson  <jas@extundo.com>
77801
77802         * build-aux/maint.mk: Add dsyntax-check rule.
77803
77804 2006-02-15  Eric Blake  <ebb9@byu.net>
77805
77806         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
77807         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
77808         'present but cannot compile' warnings on cygwin.
77809         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
77810         use ws2tcpip.h if sys/socket.h works.
77811         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
77812         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
77813
77814 2006-02-14  Simon Josefsson  <jas@extundo.com>
77815
77816         * modules/maintainer-makefile (Files): Rename.
77817
77818         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
77819         and (the local) Makefile.cfg to maint-cfg.mk.
77820
77821         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
77822         to the latter.
77823
77824         * modules/maintainer-makefile: New module.
77825
77826         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
77827         severaly stripped to make it possible to build it up from scratch
77828         with reliable tests.
77829
77830         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
77831         fixes to permit overriding the default actions when configure and
77832         makefile are not available.
77833
77834 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
77835
77836         Sync from coreutils.
77837         * modules/lstat (Depends-on): Don't depend on xalloc.
77838         (License): Change from GPL to LGPL, since this is now simply a
77839         replacement for a libc function.
77840
77841 2006-02-14  Jim Meyering  <jim@meyering.net>
77842
77843         Sync from coreutils.
77844
77845         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
77846         failure on deficient systems, and simplify gnulib lgpl dependencies.
77847         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
77848         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
77849
77850         * lib/xalloc-die.c: Remove unused definition of N_.
77851
77852 2006-02-14  Jim Meyering  <jim@meyering.net>
77853
77854         Sync from coreutils.
77855         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
77856         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
77857         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
77858         double-quote uses of that variable, to accommodate the rare case in
77859         which getmntent is available in none of the libraries checked.  This
77860         happens at least on FreeBSD 5.0.
77861
77862 2006-02-13  Simon Josefsson  <jas@extundo.com>
77863
77864         * gnulib-tool (Usage): Fix --import, from
77865         karl@freefriends.org (Karl Berry).
77866
77867 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
77868
77869         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
77870
77871 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
77872
77873         * lib/argp-namefrob.h: Restore changes accidentally lost during the
77874         "autoupdate" on 2005-12-12.
77875
77876 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
77877
77878         * modules/closeout (Depends-on): Remove atexit.
77879
77880 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
77881
77882         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
77883         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
77884
77885 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
77886
77887         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
77888         __EXTENSIONS__ if this causes compilation to fail.  Problem
77889         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
77890         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
77891
77892 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
77893
77894         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
77895         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
77896         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
77897         All uses changed.
77898
77899 2006-01-26  Simon Josefsson  <jas@extundo.com>
77900
77901         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
77902         prototype is visible on mingw32.
77903
77904         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
77905         for mingw32.
77906
77907         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
77908         mingw32).
77909
77910 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
77911
77912         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
77913         attempt to open for write; this always fails, at least on POSIX
77914         hosts.  This reinstates the 2006-01-09 change, which was
77915         inadvertently removed.
77916
77917 2006-01-26  Bruno Haible  <bruno@clisp.org>
77918
77919         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
77920         Reported by Paul Eggert.
77921
77922 2006-01-26  Bruno Haible  <bruno@clisp.org>
77923             Paul Eggert  <eggert@cs.ucla.edu>
77924
77925         * lib/stdbool_.h (_Bool)
77926         [(! (defined __cplusplus || defined __BEOS__)
77927           && !defined __GNUC__
77928           && !(defined __HP_cc || defined __xlc__
77929                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
77930                || defined __sgi))]:
77931         #define to signed char in these cases too; this simplifies
77932         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
77933         etc., separately) and makes it more conservative.
77934
77935 2006-01-25  Simon Josefsson  <jas@extundo.com>
77936
77937         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
77938         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
77939         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
77940
77941 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
77942
77943         * lib/argp-namefrob.h: Bugfix. Remove stray #
77944
77945 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
77946
77947         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
77948         so that we test the test.
77949         Check for yet another HP-UX cc bug involving *bool |= bool.
77950
77951 2006-01-25  Karl Berry  <karl@gnu.org>
77952
77953         * config/srclist.txt (vasnprintf.c): sync lost.
77954
77955 2006-01-25  Jim Meyering  <jim@meyering.net>
77956
77957         Sync from the stable (b5) branch of coreutils:
77958
77959         * lib/fts.c (fts_children): Don't let close() clobber errno from
77960         failed fchdir().
77961
77962         * lib/fts.c (fts_stat): When following a symlink-to-directory,
77963         don't necessarily interpret stat-fails+lstat-succeeds as indicating
77964         a dangling symlink.  That can also happen at least for ELOOP.
77965         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
77966         FYI, this bug predates the inclusion of fts.c in coreutils.
77967
77968         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
77969         in their own block, so pre-c99 compilers don't object.
77970
77971         Avoid the double-free (first in fts_read, second in fts_close) that
77972         would occur when an `active' directory is made inaccessible (e.g.,
77973         via chmod a-x) during a traversal.
77974         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
77975         before returning.  Reproduce this failure by
77976         mkdir -p a/b; cd a; chmod a-x . b
77977         Reported by Stavros Passas.
77978
77979 2006-01-25  Jim Meyering  <jim@meyering.net>
77980
77981         * lib/fileblocks.c: Remove more useless parentheses.
77982         * lib/readutmp.h: Likewise.
77983
77984 2006-01-25  Bruno Haible  <bruno@clisp.org>
77985
77986         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
77987         warnings.
77988         Reported by Paul Eggert.
77989
77990 2006-01-25  Bruno Haible  <bruno@clisp.org>
77991
77992         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
77993         rid of a trap command. For Solaris sh.
77994         Reported by Mark D. Baushke <mdb@gnu.org>.
77995
77996 2006-01-24  Simon Josefsson  <jas@extundo.com>
77997
77998         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
77999         Bruno.
78000
78001 2006-01-24  Karl Berry  <karl@gnu.org>
78002
78003         * config/srclist.txt (argp-namefrob.h): sync lost.
78004
78005 2006-01-24  Jim Meyering  <jim@meyering.net>
78006
78007         * modules/openat (Files): Add lib/intprops.h.
78008         From Mark D. Baushke.
78009
78010 2006-01-24  Jim Meyering  <jim@meyering.net>
78011
78012         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
78013         Reported by Mark D. Baushke.
78014
78015 2006-01-24  Jim Meyering  <jim@meyering.net>
78016
78017         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
78018
78019 2006-01-24  Bruno Haible  <bruno@clisp.org>
78020
78021         * modules/strnlen (Maintainer): Change from glibc to all.
78022
78023 2006-01-24  Bruno Haible  <bruno@clisp.org>
78024
78025         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
78026         Patch by Paul Eggert.
78027
78028 2006-01-24  Bruno Haible  <bruno@clisp.org>
78029
78030         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
78031         already has it.
78032         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
78033         2005-11-26.
78034
78035         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
78036         'signed char' to avoid problems with the built-in _Bool type.
78037         Reported by Paul Eggert on 2005-11-26.
78038
78039 2006-01-24  Bruno Haible  <bruno@clisp.org>
78040
78041         * gnulib-tool (func_import): Avoid constructing complicated sed
78042         expressions inside backquote.
78043         Report and solution by Mark D. Baushke <mdb@gnu.org>.
78044
78045 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
78046
78047         These changes imported from libc.
78048         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
78049         test and two separate function calls.
78050         * lib/strndup.c (__strndup): Add libc_hidden_def.
78051
78052 2006-01-23  Simon Josefsson  <jas@extundo.com>
78053
78054         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
78055         Remove the test_*_SOURCES variable: automake infers it by default.
78056         * modules/tls-tests: Likewise.
78057
78058 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
78059
78060         Work around porting bugs reported by Dieter in
78061         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
78062         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
78063         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
78064         Include "getopt.h" first, to check interface.
78065         (getenv): Declare only if defined HAVE_DECL_GETENV &&
78066         !HAVE_DECL_GETENV.
78067         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
78068         (__strndup): Revert to K&R-style function dfns, the glibc style.
78069         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
78070         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
78071         Include strnlen.h first, to get prototype properly.
78072         (strnlen): Renamed from __strnlen.
78073         Remove weak alias.
78074
78075 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
78076
78077         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
78078
78079 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
78080
78081         * config/srclist.txt: Adjust to reflect glibc reorganization.
78082         This affects only comments.
78083
78084 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
78085
78086          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
78087          Reported by Bruce Korb <bkorb@gnu.org>.
78088
78089 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
78090
78091         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
78092         to pacify gcc -Wswitch-default.
78093
78094 2006-01-22  Bruno Haible  <bruno@clisp.org>
78095
78096         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
78097         temporary buffer for sprintf, take into account the precision also
78098         for 'd', 'i', 'u', 'o', 'x', 'X'.
78099
78100 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
78101
78102         * modules/argp-tests: New module
78103         * tests/test-argp.c: New file
78104         * tests/test-argp-2.sh: New file
78105
78106 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
78107
78108         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
78109         (__argp_base_name): Removed
78110         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
78111         typo.
78112         (__argp_base_name): Provide macro definition or extern declaration
78113         depending on the configuration
78114
78115 2006-01-20  Simon Josefsson  <jas@extundo.com>
78116
78117         * modules/inet_ntop (Depends-on): Depend on sys_socket.
78118
78119 2006-01-20  Simon Josefsson  <jas@extundo.com>
78120
78121         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
78122
78123 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
78124
78125         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
78126         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
78127         Suggested by Bruno Haible.
78128
78129 2006-01-20  Karl Berry  <karl@gnu.org>
78130
78131         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
78132         until changes propagate, I guess.
78133
78134 2006-01-19  Simon Josefsson  <jas@extundo.com>
78135
78136         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
78137
78138 2006-01-19  Simon Josefsson  <jas@extundo.com>
78139
78140         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
78141
78142 2006-01-19  Simon Josefsson  <jas@extundo.com>
78143
78144         * gnulib-tool: Set check_PROGRAMS.
78145
78146         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
78147         modules/des-tests, modules/gc-arcfour-tests,
78148         modules/gc-arctwo-tests, modules/gc-des-tests,
78149         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
78150         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
78151         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
78152         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
78153         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
78154         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
78155         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
78156         test_*_SOURCES.
78157
78158 2006-01-18  Simon Josefsson  <jas@extundo.com>
78159
78160         * modules/socklen (Depends-on): Depend on sys_socket.
78161
78162 2006-01-18  Simon Josefsson  <jas@extundo.com>
78163
78164         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
78165         modules/des-tests, modules/gc-arcfour-tests,
78166         modules/gc-arctwo-tests, modules/gc-des-tests,
78167         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
78168         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
78169         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
78170         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
78171         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
78172         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
78173         $(EXEEXT) to automake TESTS variable, for mingw32.
78174
78175 2006-01-17  Simon Josefsson  <jas@extundo.com>
78176
78177         * modules/socklen (Include): Need sys/socket.h.
78178
78179 2006-01-17  Bruno Haible  <bruno@clisp.org>
78180
78181         * modules/ssize_t (Include): Add <sys/types.h>.
78182
78183 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
78184
78185         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
78186         it's not portable and it doesn't work with cross-compiles.
78187         Problem reported by Bruno Haible.  Fix missing-$ typo in
78188         'test "gl_cv_ignore_unused_libraries" ...' that prevented
78189         -zignore from being used with Sun's C compiler.
78190
78191 2006-01-12  Simon Josefsson  <jas@extundo.com>
78192
78193         * lib/base64.c: Fix warning, reported by Bruno Haible
78194         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
78195
78196 2006-01-12  Bruno Haible  <bruno@clisp.org>
78197
78198         * modules/ldd: New file.
78199         * build-aux/ldd.sh.in: New file.
78200         * MODULES.html.sh (Support for building libraries and executables): Add
78201         ldd.
78202
78203 2006-01-12  Bruno Haible  <bruno@clisp.org>
78204
78205         * m4/ldd.m4: New file.
78206
78207 2006-01-12  Bruno Haible  <bruno@clisp.org>
78208
78209         * gnulib-tool (func_import, func_create_testdir): Don't go into an
78210         endless loop while replacing $auxdir with build-aux.
78211
78212 2006-01-11  Simon Josefsson  <jas@extundo.com>
78213
78214         * lib/stdint_.h (SIZE_MAX): Add missing (.
78215
78216 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
78217
78218         Sync from coreutils.
78219         * lib/md5.c: Fix commentary typos.
78220         (alignof, UNALIGNED_P): No need for a GCC-specific version.
78221         * lib/md5.h (__attribute__): Remove; unused.
78222         * lib/sha1.c: Fix commentary to match md5 better.
78223         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
78224         so that we don't need to worry about alignment.  All uses changed.
78225         This merges the 2005-10-28 md5 change into sha1.
78226
78227 2006-01-11  Jim Meyering  <jim@meyering.net>
78228
78229         Sync from coreutils.
78230         * lib/md5.c (OP): Fix spacing.
78231
78232 2006-01-11  Bruno Haible  <bruno@clisp.org>
78233
78234         Ensure automatic ordering between gl_LOCK and gl_ARGP.
78235         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
78236         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
78237
78238 2006-01-11  Bruno Haible  <bruno@clisp.org>
78239
78240         Ensure automatic ordering between gl_LOCK and gl_ARGP.
78241         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
78242         the "early" section as well.
78243
78244 2006-01-11  Bruno Haible  <bruno@clisp.org>
78245
78246         Avoid "ar: no archive members specified" error on MacOS X.
78247         * gnulib-tool (func_modules_add_dummy): New function.
78248         (func_import, func_create_testdir): Invoke it.
78249
78250 2006-01-11  Bruno Haible  <bruno@clisp.org>
78251
78252         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
78253         with $auxdir in AC_CONFIG_FILES statements.
78254
78255 2006-01-11  Bruno Haible  <bruno@clisp.org>
78256
78257         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
78258         Initialize also noinst_HEADERS to empty.
78259
78260 2006-01-11  Bruno Haible  <bruno@clisp.org>
78261
78262         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
78263         variables.
78264         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
78265         autoreconf.
78266
78267 2006-01-11  Bruno Haible  <bruno@clisp.org>
78268
78269         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
78270         overridable by the user.
78271         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78272
78273 2006-01-10  Simon Josefsson  <jas@extundo.com>
78274
78275         * modules/sys_socket: New file.
78276
78277 2006-01-10  Simon Josefsson  <jas@extundo.com>
78278
78279         * m4/sys_socket_h.m4: New file.
78280
78281 2006-01-10  Simon Josefsson  <jas@extundo.com>
78282
78283         * lib/socket_.h: New file.
78284
78285 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
78286
78287         * modules/readutmp (Maintainer): Add myself.
78288
78289 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
78290
78291         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
78292         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
78293         People who are still concerned with buggy memcmp implementations
78294         can invoke gl_FUNC_MEMCMP themselves.
78295
78296 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
78297
78298         * lib/regex_internal.h (BITSET_WORD_BITS):
78299         Work around a bug in 64-bit PGC (before version 6.1-2), where the
78300         preprocessor mishandles large unsigned values as if they were signed.
78301         Problem reported by Claudio Fontana in
78302         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
78303
78304 2006-01-10  Jim Meyering  <jim@meyering.net>
78305
78306         Avoid the double-free (first in fts_read, second in fts_close) that
78307         would occur when an `active' directory is made inaccessible (e.g.,
78308         via chmod a-x) during a traversal.
78309         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
78310         before returning.  Reproduce this failure by
78311         mkdir -p a/b; cd a; chmod a-x . b
78312         Reported by Stavros Passas.
78313
78314         Sync from coreutils.
78315         * lib/sha1.c: Tweak grammar in a comment.
78316
78317 2006-01-10  Jim Meyering  <jim@meyering.net>
78318
78319         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
78320         Patch by Joerg Sonnenberger.
78321
78322 2006-01-10  Bruno Haible  <bruno@clisp.org>
78323
78324         * modules/readutmp: Depend on module free.
78325         * modules/strtok_r: Depend on module restrict.
78326
78327 2006-01-10  Bruno Haible  <bruno@clisp.org>
78328
78329         * modules/gettext (configure.ac): Add an invocation of
78330         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
78331
78332 2006-01-10  Bruno Haible  <bruno@clisp.org>
78333
78334         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
78335         Reported by Werner Lemberg <wl@gnu.org>.
78336
78337 2006-01-10  Bruno Haible  <bruno@clisp.org>
78338
78339         * lib/localcharset.c: Update from GNU gettext.
78340
78341 2006-01-10  Bruno Haible  <bruno@clisp.org>
78342
78343         * lib/argp.h (__const): Remove macro. Use const instead.
78344         * lib/argp-fmtstream.h (__const): Likewise.
78345         * lib/glob_.h (__const): Remove macro.
78346         * lib/glob-libc.h: Use const instead of __const.
78347
78348 2006-01-10  Bruno Haible  <bruno@clisp.org>
78349
78350         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
78351         variable.
78352         Needed to avoid an automake error regarding the 'gettext' module.
78353
78354 2006-01-09  Simon Josefsson  <jas@extundo.com>
78355
78356         * modules/inet_ntop (Depends-on): Add restrict.
78357
78358 2006-01-09  Simon Josefsson  <jas@extundo.com>
78359
78360         * modules/gc-rijndael-tests (License): Put under LGPL.
78361
78362         * modules/gc-des-tests (License): Likewise.
78363
78364         * modules/gc-arcfour-tests (License): Likewise.
78365
78366         * modules/gc-arctwo-tests (License): Likewise.
78367
78368         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
78369
78370         * modules/gc-hmac-sha1-tests (Files): Likewise.
78371
78372         * modules/gc-hmac-md5-tests (License): Likewise.
78373
78374         * modules/gc-sha1-tests (License): Likewise.
78375
78376         * modules/gc-md5-tests (License): Likewise.
78377
78378         * modules/gc-md4-tests (License): Likewise.
78379
78380         * modules/gc-md2-tests (License): Likewise.
78381
78382         * modules/gc-tests (License): Likewise.
78383
78384         * modules/des-tests (License): Likewise.
78385
78386         * modules/md4-tests (License): Likewise.
78387
78388         * modules/md2-tests (License): Likewise.
78389
78390 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
78391
78392         Sync from coreutils:
78393
78394         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
78395         * modules/lib-ignore: New file.
78396         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
78397         chdir-safer.m4, lchmod.m4.
78398         * modules/openat: Add mkdirat.c, openat-priv.h.
78399
78400 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
78401
78402         Sync from coreutils.
78403         * m4/lib-ignore.m4: New file.
78404         * m4/lchmod.m4: New file.
78405
78406 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
78407
78408         Sync from coreutils.
78409         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
78410         for write access: POSIX says that must fail.
78411         * lib/fts.c (diropen): Likewise.
78412         * lib/save-cwd.c (save_cwd): Likewise.
78413         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
78414         well, for minor improvements on hosts that lack O_DIRECTORY.
78415         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
78416         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
78417         Fall back on chown if open failed with EACCES.
78418
78419         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
78420         Report an error at compile-time if only a 1-second nominal clock
78421         resolution is found.
78422
78423         * lib/lchmod.h: New file.
78424         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
78425         (make_dir_parents): Use lchown rather than chown, and
78426         lchmod rather than chmod.
78427
78428         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
78429         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
78430         "proc" reported by n0dalus.
78431
78432         * lib/mountlist.c: Include <limits.h>.
78433         (dev_from_mount_options)
78434         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
78435         New function.  It no longer assumes "dev=" has the System V meaning
78436         on Linux (since it doesn't).  It also parses "dev=" more carefully.
78437         (read_file_system_list)
78438         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
78439         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
78440         dev= in that case.
78441
78442         * lib/posixtm.h (PDS_PRE_2000): New macro.
78443         * lib/posixtm.c (year): Arg is now syntax_bits rather than
78444         allow_century.  All usages changed.  Reject dates outside the range
78445         1969-1999 if PDS_PRE_2000 is used.
78446
78447 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
78448
78449         Sync from coreutils.
78450         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
78451         (Time of day items): Mention the possibility of leap seconds.
78452         Problem reported by Dr. David Alan Gilbert.
78453
78454 2006-01-09  Jim Meyering  <jim@meyering.net>
78455
78456         Sync from coreutils.
78457
78458         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
78459
78460         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
78461
78462         * lib/modechange.c (mode_compile): Reject an invalid mode string
78463         that starts with an octal digit.  From Andreas Gruenbacher.
78464
78465         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
78466         and dup to open_safer and dup_safer, respectively.
78467         (openat_permissive): Fix typo in comment.
78468
78469         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
78470         "gettext.h"; either no longer needed or are guaranteed by openat.h.
78471         (_): Remove; no longer needed.
78472         (openat): Renamed from rpl_openat; no need for rpl_openat
78473         since openat.h renames openat for us.
78474         Replace most of the body with a call to openat_permissive,
78475         to avoid duplicate code.
78476         Port to (probably hypothetical) environments were mode_t is
78477         wider than int.
78478         (openat_permissive): Require mode arg, so that we can check
78479         types better.  Put it just after flags.  Change cwd failure
78480         indicator from pointer-to-bool to pointer-to-errno-value.
78481         All callers changed.
78482         Invoke openat_save_fail and/or openat_restore_fail if
78483         cwd_errno is null, so that openat can call us.
78484         (openat_permissive, fdopendir, fstatat, unlinkat):
78485         Simplify errno handling to avoid some duplicate code,
78486         as it's OK to set errno on success.
78487         * lib/openat.h: Revamp code so that function macros depend on
78488         __OPENAT_PREFIX only, not also on AT_FDCWD.
78489         (openat_ro): Remove.  Caller changed to use openat_permissive.
78490         (openat_permissive): Now a macro, if not a function.
78491         (openat_restore_fail, openat_save_fail): Now always functions,
78492         since mkdirat needs them even if __OPENAT_PREFIX is defined.
78493
78494         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
78495         and openat.c.
78496         * lib/mkdirat.c: Include openat-priv.h.
78497         Remove definitions of macros defined therein.
78498         * lib/openat.c: Likewise.
78499
78500         * lib/mkdirat.c (mkdirat): New file and function.
78501         * lib/openat.h (mkdirat): Declare.
78502
78503         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
78504
78505         * lib/openat.h (openat_permissive): Declare.
78506         (openat_ro): Define.
78507
78508         * lib/openat.c (EXPECTED_ERRNO): New macro.
78509         (openat_permissive): New function -- used in remove.c rewrite.
78510         (all functions): Set errno just before returning, only if there
78511         was an actual failure.
78512         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
78513
78514         Emulate openat-family functions using Linux's procfs, if possible.
78515         Idea and some code based on Ulrich Drepper's glibc changes.
78516
78517         * lib/openat.c: (BUILD_PROC_NAME): New macro.
78518         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
78519         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
78520         before falling back on save_cwd and restore_cwd.
78521         (fdopendir, fstatat, unlinkat): Likewise.
78522
78523         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
78524         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
78525
78526         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
78527         as second argument to va_arg.  Otherwise, some versions of gcc
78528         warn that `if this code is reached, the program will abort'.
78529
78530 2006-01-09  Jim Meyering  <jim@meyering.net>
78531
78532         Sync from coreutils.
78533         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
78534         Require openat-priv.h.
78535
78536 2006-01-09  Bruno Haible  <bruno@clisp.org>
78537
78538         * modules/strnlen (Include): Use strnlen.h.
78539
78540 2006-01-09  Bruno Haible  <bruno@clisp.org>
78541
78542         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
78543
78544 2006-01-09  Bruno Haible  <bruno@clisp.org>
78545
78546         * lib/sysexit_.h (EX_OK): New macro.
78547         Suggested by Martin Lambers <marlam@marlam.de>.
78548
78549 2006-01-09  Bruno Haible  <bruno@clisp.org>
78550
78551         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
78552         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
78553
78554 2006-01-09  Bruno Haible  <bruno@clisp.org>
78555
78556         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
78557         numbers.
78558
78559 2006-01-09  Bruno Haible  <bruno@clisp.org>
78560
78561         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
78562         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
78563         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
78564         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
78565
78566 2006-01-09  Bruno Haible  <bruno@clisp.org>
78567
78568         * build-aux/javacomp.sh.in: New file, moved from lib/.
78569         * modules/javacomp-script (Files): Update.
78570         (configure.ac): Add AC_CONFIG_FILES invocation.
78571         (EXTRA_DIST): Remove variable.
78572
78573         * build-aux/javaexec.sh.in: New file, moved from lib/.
78574         * modules/javaexec (Files): Update.
78575         (configure.ac): Add AC_CONFIG_FILES invocation.
78576         (EXTRA_DIST): Remove javaexec.sh.in.
78577
78578         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
78579         * modules/csharpcomp-script (Files): Update.
78580         (configure.ac): Add AC_CONFIG_FILES invocation.
78581         (EXTRA_DIST): Remove variable.
78582
78583         * build-aux/csharpexec.sh.in: New file, moved from lib/.
78584         * modules/csharpexec (Files): Update.
78585         (configure.ac): Add AC_CONFIG_FILES invocation.
78586         (EXTRA_DIST): Remove csharpexec.sh.in.
78587
78588 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
78589
78590         Sync from coreutils.
78591
78592         Add POSIX ACL support
78593         * lib/acl.h (copy_acl, set_acl): Add declarations.
78594         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
78595         systems other than Linux.
78596         (chmod_or_fchmod): New function: use fchmod when possible,
78597         and chmod otherwise.
78598         (file_has_acl): Add a POSIX ACL implementation, with a
78599         Linux-specific subcase.
78600         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
78601         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
78602         acls are unsupported.
78603         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
78604         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
78605         are unsupported.
78606
78607 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
78608
78609         Sync from coreutils.
78610         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
78611
78612 2006-01-07  Bruno Haible  <bruno@clisp.org>
78613
78614         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
78615         gl_EARLY.
78616
78617 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
78618
78619         * lib/strftime.c (tzname): Don't declare if it is already #defined.
78620         Problem reported for Mingw by Mark Junker.
78621
78622 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
78623
78624         * README: Gnulib normally doesn't generate a tarball.
78625
78626 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
78627
78628         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
78629         long int, not int, for nanosecond counts, so that people who are
78630         used to POSIX struct timespec won't be surprised.  Reported by Jim
78631         Meyering.
78632
78633 2005-12-28  Bruno Haible  <bruno@clisp.org>
78634
78635         * build-aux/config.rpath: Update from GNU gettext.
78636
78637 2005-12-16  Jim Meyering  <jim@meyering.net>
78638
78639         * modules/fprintftime: New module.
78640         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
78641
78642 2005-12-16  Jim Meyering  <jim@meyering.net>
78643
78644         * m4/fprintftime.m4: New file.
78645
78646 2005-12-16  Jim Meyering  <jim@meyering.net>
78647
78648         * lib/fprintftime.c, lib/fprintftime.h: New files.
78649
78650 2005-12-15  Simon Josefsson  <jas@extundo.com>
78651
78652         * modules/socklen (configure.ac): Fix M4 macro name, to align with
78653         new m4/socklen.m4.
78654
78655 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
78656
78657         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
78658         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
78659
78660 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
78661
78662         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
78663         * lib/argp-help.c (fill_in_uparams): Check if the constructed
78664         struct uparams is valid. Fall back to the default values if it is
78665         not.
78666
78667 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
78668
78669         * modules/argp (Files): Add argp-pin.c
78670         (Depends-on): dirname
78671         (lib_SOURCES): Add argp-pin.c
78672
78673 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
78674
78675         * m4/argp.m4:  Check if program_invocation_name and
78676         program_invocation_short_name are declared and define appropriate
78677         macros if they are not.
78678
78679 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
78680
78681         * lib/argp-help.c (__argp_base_name): New function
78682         (__argp_short_program_name): Rewrite using __argp_base_name
78683         * lib/argp-namefrob.h: Define program_invocation_name and
78684         program_invocation_short_name if requested
78685         (__argp_base_name): Add prototype
78686         * lib/argp-parse.c (argp_def): Use gettext wrappers
78687         (argp_default_parser): Use __argp_base_name
78688         * lib/argp-pin.c: New file. Defines program_invocation_name and
78689         program_invocation_short_name on systems that lack them.
78690
78691 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
78692
78693         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
78694         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
78695         porting problem reported by Georg Schwarz in
78696         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
78697
78698 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
78699
78700         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
78701         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
78702         porting problem reported by Georg Schwarz in
78703         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
78704
78705 2005-12-05  Bruno Haible  <bruno@clisp.org>
78706
78707         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
78708         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
78709         Reported by Mark Junker <mjscod@gmx.de>.
78710
78711 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
78712
78713         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
78714         Use implementation from Albert Chin, with some
78715         comments/corrections by Stepan Kasal and myself.
78716
78717 2005-12-02  Bruno Haible  <bruno@clisp.org>
78718
78719         * gnulib-tool (func_import): Accept GPLed build tool modules when
78720         --lgpl is given.
78721         * modules/csharpcomp-script: New file.
78722         * modules/csharpcomp: Depend on it.
78723         * modules/javacomp-script: New file.
78724         * modules/javacomp: Depend on it.
78725         Suggested by Simon Josefsson.
78726
78727 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
78728
78729         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
78730         statement, to work around an HP-UX 10.20 compiler bug reported by
78731         Peter O'Gorman.
78732
78733 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
78734
78735         * modules/savedir (Depends-on): Add openat.
78736
78737 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
78738
78739         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
78740         (uintmax_t) [defined uintmax_t]: Do not declare.
78741         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
78742         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
78743         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
78744         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
78745         sake of portability to weird hosts that C allows (though we don't
78746         know of any practical examples).
78747
78748         * lib/savedir.h (fdsavedir): New decl.
78749         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
78750         contains most of the former guts of savedir.
78751         (savedir): Use savedirstream.
78752         Include "openat.h".
78753
78754 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
78755
78756         * modules/obstack (Files): Add m4/ulonglong.m4.
78757         Problem reported by Davide Angelocola.
78758
78759 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
78760
78761         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
78762         coreutils no longer futzes with rounding modes.
78763
78764 2005-11-14  Jim Meyering  <jim@meyering.net>
78765
78766         * lib/mkstemp-safer.c: Include <config.h>, required for possible
78767         replacement of mkstemp.
78768
78769 2005-11-10  Simon Josefsson  <jas@extundo.com>
78770
78771         * lib/readline.c: Remove EOL.
78772
78773 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
78774
78775         * modules/gethrxtime (Depends-on): Add gettime.
78776
78777 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
78778
78779         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
78780         or gettimeofday; no longer needed.
78781
78782 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
78783
78784         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
78785         time business.
78786         (gethrxtime) [! (HAVE_NANOUPTIME
78787         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
78788         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
78789         our own approximation.
78790
78791 2005-11-08  Eric Blake  <ebb9@byu.net>
78792
78793         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
78794
78795 2005-11-08  Eric Blake  <ebb9@byu.net>
78796
78797         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
78798
78799 2005-11-04  Bruno Haible  <bruno@clisp.org>
78800
78801         * gnulib-tool: Implement --update mode.
78802
78803 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
78804
78805         Fix porting problem reported by Theodoros V. Kalamatianos.
78806         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
78807         Don't assume that futimes failing means we must fail.
78808
78809 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
78810
78811         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
78812         variables to suggest the intended function of the PATH_MAX check.
78813
78814 2005-10-30  Kean Johnston  <jkj@sco.com>
78815
78816         Trivial changes to support SCO systems.
78817         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
78818         as PATH_MAX.
78819         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
78820         where __ptr is null when no I/O is pending.
78821
78822 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
78823
78824         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
78825         leave errno alone.  Problem reported by Dmitry V. Levin.
78826
78827 2005-10-28  Simon Josefsson  <jas@extundo.com>
78828
78829         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
78830         Test more.
78831
78832         * tests/test-gc-md2.c, tests/test-md2.c: New files.
78833
78834         * modules/md2, modules/md2-tests: New files.
78835
78836 2005-10-28  Simon Josefsson  <jas@extundo.com>
78837
78838         * m4/inet_ntop.m4: More tests.
78839
78840         * m4/gc-md2.m4, md2.m4: New file.
78841
78842 2005-10-28  Simon Josefsson  <jas@extundo.com>
78843
78844         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
78845         "restrict" keywords, as per POSIX.  Protect the function
78846         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
78847         Don't use K&R prototypes.  Check the sprintf return values.
78848         Re-define EAFNOSUPPORT if not present.  Indent.
78849
78850         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
78851         suggested by Bruno Haible <bruno@clisp.org>.
78852
78853         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
78854
78855         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
78856
78857         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
78858         libgcrypt).
78859
78860         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
78861
78862         * lib/md2.h, lib/md2.c: New files.
78863
78864 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
78865
78866         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
78867         errno alone.  Problem reported by Frederic Jolliton.
78868
78869 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
78870
78871         * modules/verify (License): Change from GPL to LGPL.  This is a
78872         tiny module and there are apparently near-equivalents that are
78873         under the BSD license.
78874
78875 2005-10-24  Simon Josefsson  <jas@extundo.com>
78876
78877         * modules/sha1: Relicense to LGPL.
78878
78879 2005-10-24  Simon Josefsson  <jas@extundo.com>
78880
78881         * lib/md4.h: Shrink buffer size, now that we changed the type.
78882
78883 2005-10-23  Simon Josefsson  <jas@extundo.com>
78884
78885         * gnulib-tool (func_import): Fix --tests-base.
78886
78887 2005-10-22  Simon Josefsson  <jas@extundo.com>
78888
78889         * modules/arcfour (Depends-on): Need stdint.
78890
78891 2005-10-22  Simon Josefsson  <jas@extundo.com>
78892
78893         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
78894         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
78895
78896 2005-10-22  Simon Josefsson  <jas@extundo.com>
78897
78898         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
78899         suggested by Bruno Haible <bruno@clisp.org>.
78900
78901 2005-10-22  Simon Josefsson  <jas@extundo.com>
78902
78903         * lib/crc.h: Include stddef.h, for size_t.
78904
78905 2005-10-22  Simon Josefsson  <jas@extundo.com>
78906
78907         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
78908         arcfour_context struct (simplify test vector testing in GNU
78909         Shishi).
78910
78911 2005-10-21  Simon Josefsson  <jas@extundo.com>
78912
78913         * modules/des, modules/des-tests: New files.
78914
78915         * modules/gc-des, modules/gc-des-tests: New files.
78916
78917         * tests/test-des.c, tests/test-gc-des.c: New file.
78918
78919 2005-10-21  Simon Josefsson  <jas@extundo.com>
78920
78921         * modules/arctwo, modules/arctwo-tests: New files.
78922
78923         * tests/test-arctwo.c: New file.
78924
78925         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
78926
78927         * tests/test-gc-arctwo.c: New file.
78928
78929 2005-10-21  Simon Josefsson  <jas@extundo.com>
78930
78931         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
78932         Bruno Haible <bruno@clisp.org>.
78933
78934         * m4/gc-des.m4: New file.
78935
78936 2005-10-21  Simon Josefsson  <jas@extundo.com>
78937
78938         * m4/arctwo.m4: New file.
78939
78940         * m4/gc-arctwo.m4: New file.
78941
78942 2005-10-21  Simon Josefsson  <jas@extundo.com>
78943
78944         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
78945         block.
78946
78947 2005-10-21  Simon Josefsson  <jas@extundo.com>
78948
78949         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
78950         <bruno@clisp.org>.
78951
78952         * lib/hmac-sha1.c (hmac_sha1): Likewise.
78953
78954         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
78955         Bruno Haible <bruno@clisp.org>.
78956
78957         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
78958         <bruno@clisp.org>.
78959
78960 2005-10-21  Simon Josefsson  <jas@extundo.com>
78961
78962         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
78963
78964 2005-10-21  Simon Josefsson  <jas@extundo.com>
78965
78966         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
78967
78968 2005-10-21  Simon Josefsson  <jas@extundo.com>
78969
78970         * lib/des.h, lib/des.c: New files.
78971
78972         * lib/gc-gnulib.c: Support DES.c
78973
78974 2005-10-21  Simon Josefsson  <jas@extundo.com>
78975
78976         * lib/arctwo.h, lib/arctwo.c: New files.
78977
78978         * lib/gc-gnulib.c: Support ARCTWO.
78979
78980 2005-10-21  Simon Josefsson  <jas@extundo.com>
78981
78982         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
78983         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78984
78985 2005-10-21  Simon Josefsson  <jas@extundo.com>
78986
78987         * gnulib-tool (func_import, func_create_testdir): Define automake
78988         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
78989         Makefile.am snippet),
78990         suggested by Bruno Haible <bruno@clisp.org>.
78991
78992         * modules/gc (Makefile.am): Use it.
78993
78994 2005-10-21  Bruno Haible  <bruno@clisp.org>
78995
78996         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
78997         patch.
78998
78999 2005-10-19  Simon Josefsson  <jas@extundo.com>
79000
79001         * tests/test-gc-rijndael.c: New file.
79002
79003         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
79004
79005 2005-10-19  Simon Josefsson  <jas@extundo.com>
79006
79007         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
79008         interface too.
79009
79010 2005-10-19  Simon Josefsson  <jas@extundo.com>
79011
79012         * tests/test-gc-arcfour.c: New file.
79013
79014         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
79015
79016 2005-10-19  Simon Josefsson  <jas@extundo.com>
79017
79018         * modules/gc-md4, modules/gc-md4-tests: New file.
79019
79020         * tests/test-gc-md4.c: New file.
79021
79022 2005-10-19  Simon Josefsson  <jas@extundo.com>
79023
79024         * m4/gc-md4.m4: New file.
79025
79026 2005-10-19  Simon Josefsson  <jas@extundo.com>
79027
79028         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
79029         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
79030         <kasal@ucw.cz>.
79031
79032 2005-10-19  Simon Josefsson  <jas@extundo.com>
79033
79034         * m4/gc-arcfour.m4: New file.
79035
79036         * m4/gc-rijndael.m4: New file.
79037
79038 2005-10-19  Simon Josefsson  <jas@extundo.com>
79039
79040         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
79041
79042 2005-10-19  Simon Josefsson  <jas@extundo.com>
79043
79044         * lib/gc-gnulib.c: Support ARCFOUR.
79045
79046 2005-10-19  Simon Josefsson  <jas@extundo.com>
79047
79048         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
79049         support.
79050
79051         * lib/gc.h: Add ECB enum type.
79052
79053         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
79054
79055 2005-10-18  Simon Josefsson  <jas@extundo.com>
79056
79057         * tests/test-md5.c: New file.
79058
79059         * modules/md5-tests: New file.
79060
79061 2005-10-18  Simon Josefsson  <jas@extundo.com>
79062
79063         * tests/test-md4.c: New file.
79064
79065         * modules/md4, modules/md4-tests: New files.
79066
79067 2005-10-18  Simon Josefsson  <jas@extundo.com>
79068
79069         * m4/md4.m4: New file.
79070
79071 2005-10-18  Simon Josefsson  <jas@extundo.com>
79072
79073         * lib/md4.h, lib/md4.c: New files, based on md5.?.
79074
79075 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
79076
79077         * gnulib-tool (func_create_testdir): Omit the second check whether
79078         BUILT_SOURCES in nonempty.
79079
79080 2005-10-17  Simon Josefsson  <jas@extundo.com>
79081
79082         * tests/test-rijndael.c: New file.
79083
79084 2005-10-17  Simon Josefsson  <jas@extundo.com>
79085
79086         * modules/sha1: Depend on stdint instead of md5.
79087
79088         * modules/md5: Depend on stdint, remove uint32_t.
79089
79090 2005-10-17  Simon Josefsson  <jas@extundo.com>
79091
79092         * modules/gc-sha1-tests: New file.
79093
79094         * tests/test-gc-sha1.c: New file.
79095
79096 2005-10-17  Simon Josefsson  <jas@extundo.com>
79097
79098         * m4/md5.m4: Remove call to uint32_t.m4.
79099
79100 2005-10-17  Simon Josefsson  <jas@extundo.com>
79101
79102         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
79103
79104         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
79105         md5.h.
79106
79107         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
79108
79109         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
79110
79111 2005-10-17  Simon Josefsson  <jas@extundo.com>
79112
79113         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
79114
79115 2005-10-17  Simon Josefsson  <jas@extundo.com>
79116
79117         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
79118
79119 2005-10-17  Simon Josefsson  <jas@extundo.com>
79120
79121         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
79122
79123         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
79124
79125 2005-10-17  Bruno Haible  <bruno@clisp.org>
79126
79127         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
79128         that it can also be used in a test.
79129
79130 2005-10-16  Bruno Haible  <bruno@clisp.org>
79131
79132         * gnulib-tool (func_emit_tests_Makefile_am): Also define
79133         TESTS_ENVIRONMENT, so that individual tests can augment it.
79134
79135         * gnulib-tool (func_create_testdir): Use an intermediate target for
79136         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
79137         macros, like $(ALLOCA_H), which cannot be passed through the command
79138         line.
79139
79140 2005-10-15  Simon Josefsson  <jas@extundo.com>
79141
79142         * modules/rijndael-tests: New file.
79143
79144         * modules/rijndael: New file.
79145
79146 2005-10-15  Simon Josefsson  <jas@extundo.com>
79147
79148         * m4/rijndael.m4: New file.
79149
79150 2005-10-15  Simon Josefsson  <jas@extundo.com>
79151
79152         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
79153
79154         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
79155
79156 2005-10-14  Simon Josefsson  <jas@extundo.com>
79157
79158         * tests/test-arcfour.c: New file.
79159
79160         * modules/arcfour, modules/arcfour-tests: New files.
79161
79162 2005-10-14  Simon Josefsson  <jas@extundo.com>
79163
79164         * m4/arcfour.m4: New file.
79165
79166 2005-10-14  Simon Josefsson  <jas@extundo.com>
79167
79168         * lib/arcfour.h, lib/arcfour.c: New files.
79169
79170 2005-10-14  Roland McGrath  <roland@redhat.com>
79171
79172         Import from libc.  [BZ #1331]
79173         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
79174         macro argument.
79175         Reported by Matej Vela <vela@debian.org>.
79176
79177 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
79178
79179         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
79180         include <wchar.h>; no longer needed.
79181
79182 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
79183
79184         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
79185
79186 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
79187         and  Ulrich Drepper  <drepper@redhat.com>
79188
79189         Import from libc.
79190         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
79191         instead of inline stream orientation test and two separate
79192         function calls.  Pay no attention to USE_IN_LIBIO.
79193
79194 2005-10-13  Simon Josefsson  <jas@extundo.com>
79195
79196         * modules/gc-hmac-md5-tests: New file.
79197
79198         * tests/test-gc-hmac-sha1.c: New file.
79199
79200         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
79201
79202         * modules/gc-hmac-md5-tests: New file.
79203
79204         * tests/test-gc-md5.c: New file.
79205
79206         * modules/gc-md5-tests: New file.
79207
79208 2005-10-13  Simon Josefsson  <jas@extundo.com>
79209
79210         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
79211         Move memory allocation outside of loop.
79212
79213 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
79214
79215         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
79216         intermediate directory is in a read-only file system.  Problem
79217         reported by Eric Blake.
79218
79219 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
79220
79221         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
79222
79223 2005-10-12  Simon Josefsson  <jas@extundo.com>
79224
79225         * tests/test-hmac-sha1.c: New file.
79226
79227         * modules/hmac-sha1-tests: New file.
79228
79229         * modules/hmac-sha1: New file.
79230
79231 2005-10-12  Simon Josefsson  <jas@extundo.com>
79232
79233         * modules/gc-sha1: New file.
79234
79235 2005-10-12  Simon Josefsson  <jas@extundo.com>
79236
79237         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
79238
79239         * tests/test-gc-pbkdf2-sha1.c: New file.
79240
79241 2005-10-12  Simon Josefsson  <jas@extundo.com>
79242
79243         * modules/gc-md5, modules/gc-hmac-md5: New files.
79244
79245         * modules/gc (Files): Remove md5, memxor and hmac files.
79246
79247 2005-10-12  Simon Josefsson  <jas@extundo.com>
79248
79249         * m4/gc-pbkdf2-sha1.m4: New file.
79250
79251         * m4/gc-hmac-sha1.m4: New file.
79252
79253         * m4/gc-sha1: New file.
79254
79255         * m4/hmac-sha1.m4: New file.
79256
79257 2005-10-12  Simon Josefsson  <jas@extundo.com>
79258
79259         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
79260
79261         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
79262
79263 2005-10-12  Simon Josefsson  <jas@extundo.com>
79264
79265         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
79266         suggested by Bruno Haible <bruno@clisp.org>.
79267
79268 2005-10-12  Simon Josefsson  <jas@extundo.com>
79269
79270         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
79271
79272 2005-10-12  Simon Josefsson  <jas@extundo.com>
79273
79274         * lib/gc-pbkdf2-sha1.c: New file.
79275
79276         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
79277
79278 2005-10-12  Simon Josefsson  <jas@extundo.com>
79279
79280         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
79281
79282         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
79283
79284 2005-10-12  Simon Josefsson  <jas@extundo.com>
79285
79286         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
79287         GC_USE_HMAC_MD5, respectively.
79288
79289         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
79290         (gc_md5): Fix typo.
79291
79292         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
79293
79294         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
79295
79296         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
79297
79298 2005-10-12  Bruno Haible  <bruno@clisp.org>
79299
79300         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
79301         Reported by Stepan Kasal <kasal@ucw.cz>.
79302
79303 2005-10-11  Simon Josefsson  <jas@extundo.com>
79304
79305         * tests/test-crc.c: New file.
79306
79307         * modules/crc, modules/crc-tests: New files.
79308
79309 2005-10-11  Simon Josefsson  <jas@extundo.com>
79310
79311         * m4/crc.m4: New file.
79312
79313 2005-10-11  Simon Josefsson  <jas@extundo.com>
79314
79315         * lib/gc.h: Add gc_hash and gc_hash_buffer.
79316
79317         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
79318
79319         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
79320
79321 2005-10-11  Simon Josefsson  <jas@extundo.com>
79322
79323         * lib/crc.h, lib/crc.c: New files.
79324
79325         * lib/gc.h (gc_hash_buffer): Add doc.
79326
79327 2005-10-11  Bruno Haible  <bruno@clisp.org>
79328
79329         * modules/c-strcasestr: New file.
79330         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
79331
79332 2005-10-11  Bruno Haible  <bruno@clisp.org>
79333
79334         * modules/c-strcase: New file.
79335         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
79336
79337 2005-10-11  Bruno Haible  <bruno@clisp.org>
79338
79339         * lib/strcasecmp.c: Include limits.h.
79340         (strcasecmp): Avoid integer overflow on exotic platforms.
79341         * lib/strncasecmp.c: Include limits.h.
79342         (strncasecmp): Avoid integer overflow on exotic platforms.
79343         Reported by Paul Eggert.
79344
79345 2005-10-11  Bruno Haible  <bruno@clisp.org>
79346
79347         * lib/c-strcasestr.h: New file, from GNU gettext.
79348         * lib/c-strcasestr.c: New file, from GNU gettext.
79349
79350 2005-10-11  Bruno Haible  <bruno@clisp.org>
79351
79352         * lib/c-strcase.h: New file, from GNU gettext.
79353         * lib/c-strcasecmp.c: New file, from GNU gettext.
79354         * lib/c-strncasecmp.c: New file, from GNU gettext.
79355
79356 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
79357
79358         * modules/mempcpy (License): GPL -> LGPL.
79359         * modules/strchrnul (License): Likewise.
79360         * modules/sysexits (License): Likewise.
79361
79362 2005-10-08  Simon Josefsson  <jas@extundo.com>
79363
79364         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
79365
79366 2005-10-07  Simon Josefsson  <jas@extundo.com>
79367
79368         * m4/memxor.m4: Remove gl_C_RESTRICT call.
79369
79370 2005-10-06  Simon Josefsson  <jas@extundo.com>
79371
79372         * tests/test-hmac-md5.c: New file.
79373
79374         * modules/hmac-md5-tests: New file.
79375
79376         * modules/hmac-md5: New file.
79377
79378 2005-10-06  Simon Josefsson  <jas@extundo.com>
79379
79380         * m4/hmac-md5.m4: New file.
79381
79382         * m4/memxor.m4: Require gl_C_RESTRICT.
79383
79384 2005-10-06  Simon Josefsson  <jas@extundo.com>
79385
79386         * lib/memxor.c (memxor): Avoid casts and warnings.
79387
79388 2005-10-06  Simon Josefsson  <jas@extundo.com>
79389
79390         * lib/hmac-md5.c: New file.
79391
79392         * lib/hmac.h: New file.
79393
79394 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
79395
79396         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
79397         promotes to int, not unsigned int, to catch the AIX 5.3
79398         compiler bug.
79399
79400 2005-10-05  Simon Josefsson  <jas@extundo.com>
79401
79402         * modules/memxor: New file.
79403
79404         * modules/iconv (Files): Move config.rpath to havelib, it is used
79405         there.
79406
79407         * modules/havelib (Files): Add config.rpath.
79408
79409 2005-10-05  Simon Josefsson  <jas@extundo.com>
79410
79411         * m4/memxor.m4: New file.
79412
79413 2005-10-05  Simon Josefsson  <jas@extundo.com>
79414
79415         * lib/memxor.c (memxor): Fix compiler error.
79416
79417         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
79418         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
79419
79420         * lib/memxor.h, lib/memxor.c: New files.
79421
79422         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
79423         we assume all systems have it, suggested by Jim Meyering
79424         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
79425         any systems lack sys/socket.h; mingw32 is known to lack it, but we
79426         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
79427         same reasons.
79428
79429 2005-10-05  Simon Josefsson  <jas@extundo.com>
79430
79431         * config/srclist.txt: Add glibc bug 1423 for md5.h.
79432
79433 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
79434
79435         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
79436         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
79437         needed, since the source code now assumes these .h files.
79438
79439 2005-10-05  Derek Price  <derek@ximbiot.com>
79440
79441         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
79442
79443 2005-10-05  Bruno Haible  <bruno@clisp.org>
79444
79445         * modules/stdint (License): Change to LGPL.
79446
79447 2005-10-04  Simon Josefsson  <jas@extundo.com>
79448
79449         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
79450         D. Baushke" <mdb@gnu.org>.
79451
79452 2005-10-04  Bruno Haible  <bruno@clisp.org>
79453
79454         * lib/verify.h (verify_true): Provide alternative definition for C++.
79455
79456 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
79457
79458         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
79459         (SSIZE_MAX): New macro, if not already defined.
79460         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
79461         than 2 GiB.
79462
79463 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
79464
79465         Sync from coreutils.
79466         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
79467         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
79468         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
79469         ULLONG_MAX doesn't work with 2.7.2.1.
79470
79471 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
79472
79473         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
79474         From Ben Pfaff.
79475
79476         * modules/exclude (Depends-on): Depend on verify.
79477         * modules/strtoimax (Depends-on): Likewise.
79478         * modules/utimecmp (Depends-on): Likewise.
79479
79480 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
79481
79482         * lib/exclude.c: Include verify.h.
79483         (verify): Remove.  All callers changed to use verify.h's version.
79484         * lib/strtoimax.c: Likewise.
79485         * lib/utimecmp.c: Likewis.e
79486
79487         Sync from coreutils.
79488         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
79489         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
79490         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
79491         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
79492         bother returning ENOSYS if settimeofday or stime fails; just let
79493         them return whatever errno they want to return.
79494         * lib/utimens.c: Include unistd.h, for dup2.
79495         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
79496         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
79497
79498 2005-10-02  Jim Meyering  <jim@meyering.net>
79499
79500         Sync from coreutils.
79501         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
79502         from glibc-2.2.5 that fails for read-only files.
79503
79504 2005-10-02  Jim Meyering  <jim@meyering.net>
79505
79506         Sync from coreutils.
79507         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
79508         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
79509         `#if HAVE_CONFIG_H'.
79510         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
79511         Remove AT_FDCWD test.
79512         Do not consume the fd unless successful.
79513         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
79514         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
79515         block, so that we don't even try to compile it if settimeofday is
79516         available.  This works around a compilation failure on OSF1 V5.1,
79517         due to stime requiring a `long int*' while tv_sec is `int'.
79518
79519 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
79520
79521         Sync from coreutils.
79522         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
79523         against `yes', rather than just testing for nonempty.
79524
79525 2005-10-01  Simon Josefsson  <jas@extundo.com>
79526
79527         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
79528         and Darwin.
79529
79530         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
79531         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
79532         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
79533         freeaddrinfo and gai_strerror are declared by the POSIX headers.
79534         Check if struct addrinfo is declared.
79535
79536 2005-10-01  Simon Josefsson  <jas@extundo.com>
79537
79538         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
79539         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
79540         AI_* and EAI_* definitions.  Protect function declarations.
79541
79542 2005-10-01  Jim Meyering  <jim@meyering.net>
79543
79544         Sync from coreutils.
79545
79546         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
79547         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
79548         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
79549         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
79550         in the inet and nsl libraries.  Required on Solaris 5.7.
79551
79552 2005-10-01  Jim Meyering  <jim@meyering.net>
79553
79554         Sync from coreutils.
79555         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
79556         in the inet and nsl libraries.  Required on Solaris 5.7.
79557
79558 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
79559
79560         * lib/getdelim.c (getdelim): Remove unused variables.
79561
79562 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
79563
79564         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
79565         so that the code works even with ancient cpp.  Portability problem
79566         with GCC 2.7.2.1 reported by Thomas M.Ott.
79567
79568 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
79569
79570         * modules/regex (Depends-on): Add strcase.
79571
79572         * modules/gethostname (Licence): Change from GPL to LGPL, since
79573         gethostname.c is a trivial implementation of a standard library
79574         function.
79575         * modules/poll (License): Change from GPL to LGPL, since it's
79576         derived from LGPL code.
79577
79578 2005-09-27  Jim Meyering  <jim@meyering.net>
79579
79580         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
79581         HAVE_CONFIG_H.
79582
79583         * lib/intprops.h (signed_type_or_expr__): Define.
79584         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
79585         for unsigned types.
79586
79587 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
79588
79589         * lib/verify.h (verify_expr): Remove, replacing with:
79590         (verify_true): New macro that returns true instead of void.
79591         (verify_type__): Remove.
79592         (verify): Use verify_true rather than verify_type__.
79593
79594 2005-09-26  Bruno Haible  <bruno@clisp.org>
79595
79596         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
79597         is necessary.
79598         (lib_SOURCES): Remove mbchar.c.
79599         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
79600         (Files): Add m4/mbrtowc.m4.
79601         * modules/mbiter: Likewise.
79602         * modules/mbuiter: Likewise.
79603
79604 2005-09-26  Bruno Haible  <bruno@clisp.org>
79605
79606         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
79607         compile mbchar.c if they are not both present.
79608         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
79609         * m4/mbiter.m4 (gl_MBITER): Likewise.
79610         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
79611         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
79612         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
79613
79614 2005-09-25  Jim Meyering  <jim@meyering.net>
79615
79616         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
79617         also uses socklen_t.
79618
79619 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
79620
79621         * lib/utimens.c (ENOSYS): Define if not already defined.
79622         (futimens): Support having a null PATH if the file descriptor
79623         is nonnegative.
79624
79625         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
79626         Remove.
79627         (__attribute): Define to empty unless GCC 3.1 or later.
79628         This works around a core dump on OpenBSD 3.4, which has GCC
79629         2.95.3, which dumps core when given __attribute__(()).  It also
79630         simplifies other tests, since we really don't want to bother with
79631         worrying about which ancient version of GCC supported what.
79632         Original problem reported by Yoann Vandoorselaere, with part of
79633         the fix suggested by Derek Price.
79634
79635 2005-09-24  Jim Meyering  <jim@meyering.net>
79636
79637         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
79638         so we can once again use a positive bitfield width of 1 -- now we
79639         don't have to explain why we were using a bitfield width of 2.
79640
79641 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
79642
79643         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
79644         and similarly for the other external symbols.  Problem reported
79645         by James Gallager.
79646
79647         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
79648         bug reported by Jim Meyering.
79649
79650         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
79651         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
79652         not needed, since socklen is a prerequisite module.
79653
79654 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
79655
79656         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
79657         Problem reported by Eric Blake.
79658         (getaddrinfo): Initialize se so that it's not garbage.
79659         Redo internal storage allocation so that it doesn't make unportable
79660         assumptions about alignment.
79661         Fix a memory leak.
79662
79663         * lib/utimens.c (futimens): Use futimesat if available.
79664         Prefer it to futimes since it doesn't have the futimes bug.
79665
79666         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
79667         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
79668         Instead, declare a function that returns a pointer to an array,
79669         and use verify_type__ to declare the size of the array.
79670         Problem and germ of a solution reported by Bruno Haible.
79671         (verify_type__): Use 2, not 1, for bitfield size, to avoid
79672         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
79673
79674 2005-09-23  Jim Meyering  <jim@meyering.net>
79675
79676         Sync from coreutils.
79677         Correct build failure (socklen_t not defined) on at least
79678         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
79679         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
79680
79681 2005-09-23  Jim Meyering  <jim@meyering.net>
79682
79683         * modules/getaddrinfo (Depends-on): Add socklen.
79684
79685 2005-09-23  Bruno Haible  <bruno@clisp.org>
79686
79687         * tests/test-verify.c: New file.
79688
79689 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
79690
79691         Sync from coreutils.
79692
79693         * modules/argmatch (Depends-on): Add verify.
79694         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
79695         unistd-safer.
79696         * modules/save-cwd (Depends-on): Likewise.
79697
79698         * modules/openat (Files): Add lib/openat-die.c.
79699         (Depends-on): Remove error, exitfail.
79700         Add dirname.
79701
79702         * modules/verify: New file.
79703         * MODULES.html.sh (Diagnostics <assert.h>): New section,
79704         with "verify" module.
79705
79706 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
79707
79708         Sync from coreutils.
79709
79710         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
79711         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
79712         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
79713         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
79714         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
79715         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
79716         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
79717         Don't bother checking for string.h, stdlib.h, unistd.h.
79718         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
79719         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
79720         module's job.
79721         * m4/jm-macros.m4 (gl_MACROS): Likewise.
79722         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
79723
79724         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
79725         (gl_GETDATE): Use it.
79726
79727         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
79728
79729 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
79730
79731         Sync from coreutils.
79732
79733         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
79734         stat-time.h.
79735         * lib/argmatch.h: Include verify.h
79736         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
79737         (ARGMATCH_ASSERT): Remove; unused.
79738         * lib/canonicalize.c: Assume STDC_HEADERS.
79739         * lib/exclude.c: Include "strcase.h".
79740         * lib/regex_internal.h [!defined _LIBC]: Likewise.
79741         * lib/getusershell.c: Include stdio--.h rather than stdio.h
79742         and stdio-safer.h.
79743         (getusershell): Call fopen, not fopen_safer.
79744         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
79745         Do not include unistd-safer.h.
79746         (save_cwd): Don't call fd_safer; no longer needed
79747         now that we include fcntl--.h.
79748
79749         * lib/getdate.y (relative_time): New type.
79750         (RELATIVE_TIME_0): New constant.
79751         (parser_control): Use relative_time instead of doing it ourselves.
79752         (%union): Add new relative_time rel member.
79753         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
79754         Now typeless.
79755         (relunit, relunit_snumber): Now of type rel.
79756         (zone, rel, relunit, get_date): Adjust to above changes.
79757
79758         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
79759         Do not include unistd-safer.h.
79760         (getloadavg): Don't call fd_safer; no longer needed
79761         now that we include fcntl--.h.
79762
79763         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
79764         (make_dir_parents): Treat ENOSYS like EEXIST.
79765
79766         Improve quality of diagnostics on restore_cwd failure.
79767         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
79768         (make_dir_parents): Last arg is now int * (for errno), not bool *.
79769         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
79770         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
79771         each time through the loop.  Do not diagnose restore_cwd failure;
79772         that is the caller's job (and perhaps the caller does not care).
79773
79774         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
79775         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
79776         If the file already exists but is not a directory, don't bother
79777         to try to make its parents.
79778         Close potential file descriptor leak if we can't chdir("/") (!).
79779         Don't always return true if chdir($PWD) fails; return true only
79780         if the requested action was done successfully (except for the
79781         chdir($PWD)).
79782         Don't log final directory unless we actually made it.
79783         Refactor to avoid duplicate code to fix up permissions.
79784         Don't attempt to fix up parent permissions if chdir($PWD) fails.
79785
79786         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
79787         to make it a bit faster and (I hope) clearer.
79788         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
79789         Fix bug in formats like %2N.
79790
79791         * lib/verify.h: New file.
79792
79793 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
79794
79795         Sync from coreutils.
79796         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
79797
79798 2005-09-22  Jim Meyering  <jim@meyering.net>
79799
79800         Sync from coreutils.
79801
79802         * m4/lstat.m4 (gl_FUNC_LSTAT):
79803         Use AC_LIBSOURCES to require lstat.c and lstat.h.
79804         Remove obsolete comment.
79805         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
79806         * m4/xstrtod.m4: Likewise.
79807
79808         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
79809
79810 2005-09-22  Jim Meyering  <jim@meyering.net>
79811
79812         Sync from coreutils.
79813
79814         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
79815
79816         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
79817         the .tm_year member, since otherwise gcc-4.0 would now warn about
79818         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
79819
79820         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
79821         order to avoid an unsuppressible warning from gcc on 64-bit systems.
79822
79823         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
79824         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
79825         when run in a time zone for which daylight savings time is in effect
79826         for the starting date.
79827
79828         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
79829         stop us from restricting permissions of just-created absolute-named
79830         directories.
79831         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
79832         to restore initial working directory.
79833         * lib/mkdir-p.c (make_dir_parents): New parameter:
79834         different_working_dir, to tell caller if/when we change the working
79835         directory and are unable to return to the initial one.
79836         * lib/mkdir-p.h (make_dir_parents): Update prototype.
79837         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
79838         `return false'.  This fixes a bug introduced on 2004-07-30.
79839
79840         * lib/openat.c (fdopendir): Be sure to close the supplied
79841         file descriptor before returning.  This makes our replacement
79842         implementation a little closer to Solaris's, where fdopendir
79843         ties the file descriptor to the returned DIR* pointer.
79844         * lib/openat.c (unlinkat): New function.
79845         * lib/openat.h (unlinkat): Add prototype.
79846         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
79847         (openat_restore_fail): Rename from openat_restore_die.
79848         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
79849
79850         Provide an alternative to exiting immediately upon save_cwd or
79851         restore_cwd failure.  Now, an application can arrange e.g.,
79852         to perform a longjump in that case.
79853         * lib/openat.c: Include dirname.h.
79854         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
79855         (rpl_openat, fdopendir, fstatat): Call openat_save_die
79856         and openat_restore_die rather than calling error directly.
79857         Don't include "error.h" or "exitfail.h"; they're no longer needed.
79858
79859         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
79860         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
79861         define.
79862
79863         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
79864         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
79865                             int utc, int nanoseconds);
79866         Background:
79867         date should not have to allocate a megabyte of virtual memory to
79868         handle a format argument like +%1048575T.  When implemented with
79869         strftime, it must allocate such a buffer, use strftime to fill it
79870         in, print it, then free it.
79871         With fprintftime, it simply prints everything and exits.
79872         With no need for memory allocation, that's one fewer way to fail.
79873         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
79874         optional field width, not before, so we accept %9:z, not %:9z.
79875         (my_strftime): Be sure to use L_('x') for literals.
79876
79877         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
79878         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
79879         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
79880         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
79881         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
79882         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
79883         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
79884         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
79885         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
79886         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
79887         * lib/xgethostname.c, lib/xreadlink.c:
79888         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
79889
79890         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
79891         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
79892         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
79893         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
79894         and don't include <sys/file.h>).
79895
79896 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
79897
79898         Sync from coreutils.
79899
79900         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
79901         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
79902         [!LDAV_DONE]: Avoid unused variable warning.
79903
79904 2005-09-21  Bruno Haible  <bruno@clisp.org>
79905
79906         * lib/unicodeio.h (unicode_to_mb): New declaration.
79907
79908 2005-09-20  Derek Price  <derek@ximbiot.com>
79909
79910         * lib/getaddrinfo.c: Don't include <netdb.h> included from
79911         getaddrinfo.h.
79912
79913 2005-09-20  Bruno Haible  <bruno@clisp.org>
79914
79915         * gnulib-tool: Remove trailing slashes from the values specified for
79916         --source-base, --m4-base, --tests-base, --aux-dir.
79917         Suggested by Simon Josefsson <jas@extundo.com>.
79918
79919 2005-09-20  Bruno Haible  <bruno@clisp.org>
79920
79921         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
79922         func_modules_to_filelist, func_import, func_create_testdir): Make all
79923         sorting results locale-independent, so that gnulib-cache.m4 doesn't
79924         change when gnulib-tool is invoked in a different locale.
79925
79926 2005-09-19  Simon Josefsson  <jas@extundo.com>
79927
79928         * m4/socklen.m4: Fix typo.
79929
79930 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79931
79932         Use a consistent style for including <config.h>.
79933         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
79934         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
79935         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
79936         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
79937         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
79938         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
79939         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
79940         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
79941         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
79942         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
79943         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
79944         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
79945         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
79946         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
79947         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
79948         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
79949         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
79950         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
79951         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
79952         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
79953         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
79954         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
79955         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
79956         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
79957         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
79958         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
79959         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
79960         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
79961         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
79962         lib/xstrtoumax.c, lib/yesno.c:
79963         Standardize inclusion of config.h.
79964         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
79965         lib/inttostr.h:  Removed inclusion of config.h from header files.
79966         * lib/inttostr.c:  Adjusted in-tree users.
79967         * lib/timespec.h: Remove superfluous warning to include config.h.
79968         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
79969         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
79970         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
79971         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
79972         config.h with HAVE_CONFIG_H.
79973
79974 2005-09-19  Jim Meyering  <jim@meyering.net>
79975
79976         * modules/pathmax (License): Change to LGPL.
79977
79978 2005-09-19  Derek Price  <derek@ximbiot.com>
79979
79980         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
79981
79982 2005-09-19  Bruno Haible  <bruno@clisp.org>
79983
79984         * gnulib-tool (import): Provide default for --tests-base.
79985
79986 2005-09-19  Bruno Haible  <bruno@clisp.org>
79987
79988         * doc/quote.texi: New file, extracted from gnulib.texi.
79989         * doc/ctime.texi: New file, extracted from gnulib.texi.
79990         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
79991         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
79992         * doc/gnulib.texi: Include them.
79993
79994 2005-09-18  Bruno Haible  <bruno@clisp.org>
79995
79996         Portability fix.
79997         * gnulib-tool (func_readlink): New function.
79998         (func_ln_if_changed): Use it.
79999
80000 2005-09-18  Bruno Haible  <bruno@clisp.org>
80001
80002         * gnulib-tool: Support --with-tests also with --import.
80003         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
80004         (func_import): Use variables $testsbase and $inctests. Emit a
80005         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
80006         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
80007         SUBDIRS += $testsdir.
80008         (func_create_testdir): Update.
80009
80010 2005-09-18  Bruno Haible  <bruno@clisp.org>
80011
80012         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
80013         instead of $dry_run.
80014         (func_cp_if_changed, func_mv_if_changed): Remove functions.
80015         (func_ln_if_changed): Don't handle dry-run here.
80016         (func_import): In dry-run mode, detect more precisely which actions
80017         would be performed, and don't use "...ing" verbs.
80018
80019 2005-09-18  Bruno Haible  <bruno@clisp.org>
80020
80021         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
80022         (func_import): Use join on two temporary files instead of three nested
80023         loops, in order to determine which files are new or old.
80024
80025 2005-09-18  Bruno Haible  <bruno@clisp.org>
80026
80027         * gnulib-tool (func_import): Comment out code that spits out the
80028         new files with --dry-run.
80029
80030 2005-09-18  Bruno Haible  <bruno@clisp.org>
80031
80032         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
80033
80034 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
80035
80036         * lib/stat-time.h: New file.
80037         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
80038         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
80039         in a different way.
80040         (timespec_cmp): New function.
80041         * lib/utimecmp.c: Include stat-time.h.
80042         (SYSCALL_RESOLUTION): Depend on whether various struct stat
80043         members exist, not on the obsolescent ST_MTIM_NSEC.
80044         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
80045
80046 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
80047
80048         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
80049
80050 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
80051
80052         * MODULES.html.sh (File system functions): Add stat-time.
80053         * modules/stat-time: New file.
80054         * modules/timespec (Files): Remove m4/st_mtim.m4; this
80055         is now done in a different way, by the stat-time module.
80056         * modules/utimecmp (Depends-on): Add stat-time.
80057
80058 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
80059
80060         * m4/st_mtim.m4: Remove.  Superseded by...
80061         * m4/stat-time.m4: New file.
80062         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
80063         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
80064
80065 2005-09-15  Derek Price  <derek@ximbiot.com>
80066
80067         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
80068
80069 2005-09-15  Derek Price  <derek@ximbiot.com>
80070
80071         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
80072         * lib/regex_internal.c: Ditto, using this...
80073         (__GNUC_PREREQ): ...new macro.
80074         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
80075         using...
80076         (__GNUC_PREREQ): ...this new macro.
80077
80078         * lib/strstr.h: Include string.h. Define strstr as a macro here.
80079
80080 2005-09-15  Derek Price  <derek@ximbiot.com>
80081             Paul Eggert  <eggert@cs.ucla.edu>
80082
80083         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
80084         changes, consolidating in...
80085         * lib/regex_internal.h: ...this file.
80086
80087 2005-09-13  Jim Meyering  <jim@meyering.net>
80088
80089         * lib/canon-host.c: Filter through gnu indent and reword comments
80090         slightly.
80091         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
80092
80093 2005-09-13  Derek Price  <derek@ximbiot.com>
80094
80095         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
80096         failure.
80097         Reported by Jim Meyering  <jim@meyering.net>.
80098
80099 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
80100
80101         * lib/base64.c: Typo.
80102         (base64_encode): Put b64str in initialized data section.
80103
80104 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
80105
80106         Merge glibc and coreutils changes into gnulib, plus a few
80107         extra fixes.
80108         * lib/md5.c: Use #error rather than a string.
80109         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
80110         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
80111         (__attribute__): Define to empty for non recent-GCC.
80112         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
80113         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
80114         Renamed from their non-__ counterparts, with new macros replacing
80115         them if not _LIBC.  Add __THROW attribute.
80116         (rol): Remove.
80117         (struct md5_ctx): Align buffer if using GCC.
80118         * lib/sha1.h (struct sha1_ctx): Likewise.
80119         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
80120         The old name was backwards.
80121         (NOTSWAP): Remove; not used.
80122         (rol): New macro, moved here from md5.h.
80123         (sha1_process_block): Remove a FIXME that doesn't make sense.
80124
80125 2005-09-12  Derek Price  <derek@ximbiot.com>
80126
80127         Return usable errors from canon-host.
80128         * lib/canon-host.h: New file.
80129         * lib/canon-host.c (canon_host): Wrap...
80130         (canon_host_r): ...this new function, which now relies exclusively on
80131         getaddrinfo.
80132         (ch_strerror): New function.
80133         (last_cherror): New global.
80134         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
80135         interface.
80136         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
80137         void *.
80138         (freeaddrinfo): Free ai->ai_canonname when set.
80139
80140 2005-09-12  Derek Price  <derek@ximbiot.com>
80141
80142         Make canon-host require getaddrinfo.
80143         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
80144         AC_LIBSOURCE canon-host.h.  Call...
80145         (gl_PREREQ_CANON_HOST): ...this new function, which requires
80146         gl_GETADDRINFO.
80147         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
80148
80149 2005-09-12  Derek Price  <derek@ximbiot.com>
80150
80151         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
80152         LGPL.
80153         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
80154
80155 2005-09-12  Derek Price  <derek@ximbiot.com>
80156
80157         * lib/gai_strerror.c: Include config.h when available.  Include
80158         getaddrinfo.h before other headers to test interface.
80159         Reported by Larry Jones <lawrence.jones@ugs.com>.
80160
80161 2005-09-12  Derek Price  <derek@ximbiot.com>
80162             Paul Eggert  <eggert@cs.ucla.edu>
80163
80164         * modules/glob (Files): Add glob-libc.h.
80165
80166 2005-09-12  Derek Price  <derek@ximbiot.com>
80167             Paul Eggert  <eggert@cs.ucla.edu>
80168
80169         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
80170         glob_.h, glob-libc.h.
80171         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
80172
80173 2005-09-12  Derek Price  <derek@ximbiot.com>
80174             Paul Eggert  <eggert@cs.ucla.edu>
80175
80176         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
80177         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
80178         protecting things that should be done only in gnulib contexts.
80179         * lib/glob_.h: New file, containing only the glob things needed for
80180         gnulib.
80181         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
80182         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
80183         (glob, globfree, glob_pattern_p): Now defined simply in terms of
80184         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
80185         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
80186         and to respect the namespace rules better.
80187
80188 2005-09-08  Simon Josefsson  <jas@extundo.com>
80189
80190         * modules/socklen: New file.
80191
80192 2005-09-08  Simon Josefsson  <jas@extundo.com>
80193
80194         * m4/socklen.m4: New file.
80195
80196 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
80197
80198         * modules/utimens (Files): Add m4/utimbuf.m4, since
80199         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
80200         Reported by Sergey Poznyakoff.
80201
80202 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
80203
80204         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
80205         definitions, since that's the preferred style in glibc.
80206         Fix a minor spacing issue, and update copyright notice to match
80207         glibc's.
80208
80209 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
80210
80211         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
80212
80213 2005-09-06  Simon Josefsson  <jas@extundo.com>
80214
80215         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
80216         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
80217
80218 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
80219
80220         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
80221         warning.
80222
80223 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
80224
80225         * config/srclist.txt: Add glibc bug 1302.
80226
80227 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
80228
80229         Change bitset word type from unsigned int to unsigned long int,
80230         as this has better performance on typical 64-bit hosts.
80231         Port bitset code to hosts with unusual word sizes.
80232         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
80233         (build_collating_symbol):
80234         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
80235         argument is a bitset.  This is merely a style issue, but it makes
80236         it clearer that an entire array is expected.
80237         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
80238         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
80239         Port to the case where bitset_word is not the same as unsigned int.
80240         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
80241         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
80242         Likewise.
80243         * lib/regexec.c (check_dst_limits_calc_pos_1,
80244         check_subexp_matching_top):
80245         (build_trtable, group_nodes_into_DFAstates):
80246         Likewise.
80247         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
80248         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
80249         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
80250         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
80251         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
80252         * lib/regcomp.c (optimize_subexps, lower_subexp):
80253         Work even if bitset_word has holes in its bitwise representation.
80254         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
80255         * lib/regexec.c (check_dst_limits_calc_pos_1,
80256         check_subexp_matching_top):
80257         Likewise.
80258         * lib/regex_internal.c (re_string_reconstruct):
80259         Don't assume UCHAR_MAX == 255.
80260         * lib/regex_internal.h (bitset_set_all): Likewise.
80261         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
80262         All uses changed.
80263         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
80264         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
80265         All uses changed.
80266         (BITSET_WORD_MAX): New macro.
80267         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
80268         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
80269         (bitset_empty, bitset_copy):
80270         Prefer sizeof (bitset) to multiplying it out ourselves.
80271         (bitset_not_merge): Remove; unused.
80272         (bitset_contain): Return bool, not unsigned int with one bit on.
80273         All callers changed.
80274         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
80275         alignment than re_node_set; do this by defining a new internal
80276         type struct dests_alloc and using it to allocate memory.
80277
80278 2005-09-05  Bruno Haible  <bruno@clisp.org>
80279
80280         * gnulib-tool (func_import): Fix comparison in handling of symbolic
80281         links.
80282
80283 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
80284
80285         * modules/size_max (Makefile.am): Add size_max.h
80286
80287 2005-09-04  Derek Price  <derek@ximbiot.com>
80288
80289         * gnulib-tool (func_import): Fix reversed $symbolic logic.
80290
80291 2005-09-03  Simon Josefsson  <jas@extundo.com>
80292
80293         * gnulib-tool: Fix typo.
80294
80295 2005-09-03  Simon Josefsson  <jas@extundo.com>
80296
80297         * config/srclist.txt: Add glibc bug 1293.
80298
80299 2005-09-03  Derek Price  <derek@ximbiot.com>
80300
80301         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
80302         From Larry Jones <lawrence.jones@ugs.com>.
80303
80304 2005-09-02  Simon Josefsson  <jas@extundo.com>
80305
80306         * modules/socklen: New file.
80307
80308 2005-09-02  Simon Josefsson  <jas@extundo.com>
80309
80310         * modules/havelib: New module.
80311
80312         * modules/gettext, modules/iconv, modules/lock, modules/readline:
80313         Use havelib.
80314
80315 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
80316
80317         Check for arithmetic overflow when calculating sizes, to prevent
80318         some buffer-overflow issues.  These patches are conservative, in the
80319         sense that when I couldn't determine whether an overflow was possible,
80320         I inserted a run-time check.
80321         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
80322         macros.
80323         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
80324         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
80325         (re_xnrealloc, re_x2nrealloc): New inline functions.
80326         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
80327         parse_bracket_exp):
80328         (build_equiv_class, build_charclass): Check for arithmetic overflow
80329         in size expression calculations.
80330         * lib/regex_internal.c (re_string_realloc_buffers):
80331         (build_wcs_upper_buffer, re_node_set_add_intersect):
80332         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
80333         (re_dfa_add_node, register_state): Likewise.
80334         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
80335         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
80336         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
80337         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
80338
80339 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
80340
80341         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
80342         m4/ulonglong.m4.  Problem reported by Martin Lambers.
80343
80344 2005-09-02  Bruno Haible  <bruno@clisp.org>
80345
80346         Support for lib vs. lib64 distinction on biarch platforms.
80347         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
80348         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
80349         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
80350
80351 2005-09-02  Bruno Haible  <bruno@clisp.org>
80352
80353         * gnulib-tool (import): In the other first-use case, provide defaults
80354         as well.
80355
80356 2005-09-02  Bruno Haible  <bruno@clisp.org>
80357
80358         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
80359         patches not yet found in the latest gettext release.
80360
80361 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
80362
80363         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
80364         to avoid a collision with bits/local_lim.h in glibc.
80365         All uses changed.  Problem reported by Dmitry V. Levin in
80366         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
80367
80368         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
80369         bugs in int versus size_t comparisons.
80370         (re_string_context_at): Fix bug where the code assumed that
80371         Idx is signed.
80372
80373         Use bool where appropriate.
80374         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
80375         All callers changed.
80376         (calc_eclosure_iter): Likewise, for ROOT arg.
80377         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
80378         (build_charclass_op): Likewise, for NON_MATCH arg.
80379         * lib/regex_internal.c (re_string_allocate, re_string_construct):
80380         (re_string_construct_common): Likewise, for ICASE arg.
80381         * lib/regexec.c (re_search_2_stub, re_search_stub):
80382         Likewise, for RET_LEN arg.
80383         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
80384         (set_regs): Likewise, for FL_BACKTRACK arg.
80385         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
80386         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
80387         (calc_eclosure_iter, parse_bracket_exp):
80388         Use bool for internal variables that are booleans.
80389         * lib/regexec.c (re_search_internal, check_matching,
80390         proceed_next_node):
80391         (set_regs, build_sifted_states, sift_states_bkref):
80392         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
80393         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
80394         (find_collation_sequence_value):
80395         Likewise.
80396         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
80397         (re_node_set_compare):
80398         Return bool, not int. All callers changed.
80399         * lib/regexec.c (check_halt_node_context, check_dst_limits):
80400         (build_trtable, check_node_accept): Likewise.
80401         * lib/regex_internal.h: Include stdbool.h.
80402
80403         Fix bugs uncovered when converting to bool.
80404         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
80405         failure instead of charging ahead blindly.
80406         * lib/regex_internal.c (register_state): Likewise.
80407         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
80408         for freeing internal storage.
80409         (group_nodes_into_DFA_states): Use unsigned int, not int, for
80410         bitset pieces used as boolean, to avoid undefined behavior
80411         on hosts that do int overflow checking.
80412
80413 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
80414
80415         * config/srclist.txt: Add glibc bugs 1285-1287.
80416
80417 2005-09-01  Jim Meyering  <jim@meyering.net>
80418
80419         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
80420         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
80421         Require gl_STAT_MACROS, too.
80422
80423 2005-09-01  Bruno Haible  <bruno@clisp.org>
80424
80425         * gnulib-tool (import): In the first-use case, provide defaults.
80426
80427 2005-09-01  Bruno Haible  <bruno@clisp.org>
80428
80429         * gnulib-tool (func_import): Remove the .tmp files.
80430
80431 2005-09-01  Bruno Haible  <bruno@clisp.org>
80432
80433         * gnulib-tool (func_import): Fix handling of symbolic links.
80434
80435 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
80436
80437         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
80438         old glibc regex code mishandles strings longer than 2**31 bytes.
80439         This patch fixes this when the regex code is used in gnulib
80440         (i.e., outside glibc).
80441
80442         This patch should not affect the use of the regex code inside
80443         glibc.  No doubt this problem also needs to be handled for glibc
80444         as well, but the result will be an incompatible change to the
80445         glibc ABI, and the old ABI will have to be supported too.  That
80446         can be the the subject for another patch.
80447
80448         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
80449         governing whether the rest of this patch is active.  By default,
80450         the macro is disabled and the patch has no effect.
80451         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
80452         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
80453         (struct re_pattern_buffer, re_search, re_search_2, re_match):
80454         (re_match_2, re_set_registers): Use the new types.
80455         * lib/regex_internal.h (Idx, re_hashval_t): New types.
80456         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
80457         New macros.
80458         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
80459         (re_string_context_at, bin_tree_t, re_dfastate_t):
80460         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
80461         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
80462         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
80463         (re_string_char_size_at, re_string_wchar_at):
80464         (re_string_elem_size_at):
80465         Use the new types and macros to port to 64-bit hosts.
80466         Use unsigned types for internal values, so that the code
80467         mostly works even for arrays larger than SSIZE_MAX.
80468         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
80469         (search_duplicated_node, calc_eclosure_iter, fetch_number):
80470         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
80471         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
80472         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
80473         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
80474         (calc_inveclosure, parse_dup_op, build_range_exp):
80475         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
80476         (fetch_number, create_token_tree, mark_opt_subexp):
80477         Likewise.
80478         * lib/regex_internal.c (re_string_construct_common,
80479         create_ci_newstate):
80480         (create_cd_newstate, re_string_allocate, re_string_construct):
80481         (re_string_realloc_buffers, build_wcs_upper_buffer):
80482         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
80483         (re_string_reconstruct, re_string_peek_byte_case):
80484         (re_string_fetch_byte_case, re_string_context_at):
80485         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
80486         (re_node_set_init_copy, re_node_set_add_intersect):
80487         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
80488         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
80489         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
80490         (re_acquire_state, re_acquire_state_context, register_state):
80491         Likewise.
80492         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
80493         search_cur_bkref_entry):
80494         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
80495         (re_search_internal, re_search_2_stub, re_search_stub)
80496         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
80497         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
80498         (update_cur_sifted_state, check_dst_limits):
80499         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
80500         (check_subexp_limits, sift_states_bkref, merge_state_array):
80501         (check_subexp_matching_top, get_subexp, get_subexp_sub):
80502         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
80503         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
80504         (expand_bkref_cache, check_node_accept_bytes):
80505         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
80506         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
80507         (acquire_init_state_context, check_halt_node_context):
80508         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
80509         (sift_states_backward, clean_state_log_if_needed):
80510         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
80511         (find_recover_state, transit_state_sb, transit_state_mb):
80512         (transit_state_bkref, build_trtable, match_ctx_clean):
80513         Likewise.
80514         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
80515         to work around an assumption that REG_MISSING is negative.
80516
80517         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
80518         (seek_collating_symbol_entry) [defined _LIBC]:
80519         (lookup_collation_sequence_value) [defined _LIBC]:
80520         (build_range_exp, build_collating_symbol) [defined _LIBC]:
80521         Use prototypes rather than old-style function definitions.
80522         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
80523         (transit_state_sb) [0]:
80524         (find_collation_sequence_value) [defined _LIBC]: Likewise.
80525
80526         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
80527         rm_eo.
80528
80529         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
80530         (optimize_subexps, lower_subexp):
80531         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
80532         since the signed shift might overflow.  Use 1u<<31 instead.
80533         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
80534         Likewise.
80535         * lib/regexec.c (check_dst_limits_calc_pos_1,
80536         check_subexp_matching_top): Likewise.
80537
80538         * lib/regcomp.c (optimize_subexps, lower_subexp):
80539         Use CHAR_BIT rather than 8, for clarity.
80540         * lib/regexec.c (check_dst_limits_calc_pos_1):
80541         (check_subexp_matching_top): Likewise.
80542         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
80543         have to worry about portability issues when shifting it left.
80544         Remove no-longer-needed test for table_size > 0.
80545         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
80546         in a word, as the resulting behavior is undefined.
80547         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
80548         in one case, a <= should have been an <, and in another case the
80549         whole test was missing.
80550         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
80551         the standard name CHAR_BIT.
80552         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
80553         this is not true on one's complement and signed-magnitude hosts.
80554
80555         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
80556         next_last_offset.
80557         (struct re_dfa_t): Remove unused member states_alloc.
80558         * lib/regcomp.c (init_dfa): Don't initialize unused members.
80559
80560 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
80561
80562         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
80563         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
80564         and large-file glibc and in 32-bit large-file Solaris.
80565
80566 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
80567
80568         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
80569         lengths fit in regoff_t; this isn't true if regoff_t is the same
80570         width as size_t.
80571         * lib/regex.c (re_search_internal): 5th arg is LAST_START
80572         (= START + RANGE) instead of RANGE.  This avoids overflow
80573         problems when regoff_t is the same width as size_t.
80574         All callers changed.
80575         (re_search_2_stub): Check for overflow when adding the
80576         sizes of the two strings.
80577         (re_search_stub): Check for overflow when adding START
80578         to RANGE; if it occurs, substitute the extreme value.
80579
80580 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
80581
80582         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
80583
80584 2005-08-31  Jim Meyering  <jim@meyering.net>
80585
80586         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
80587         a pointer-to-const.
80588         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
80589         (register_state): Likewise.
80590         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
80591         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
80592         (group_nodes_into_DFAstates): Likewise.
80593
80594 2005-08-31  Jim Meyering  <jim@meyering.net>
80595
80596         * check-module: Add a FIXME comment.
80597
80598 2005-08-31  Eric Blake  <ebb9@byu.net>
80599
80600         * modules/unistd-safer (Files): Add unistd--.h.
80601         * modules/stdio-safer (Files): Add stdio--.h.
80602
80603 2005-08-31  Derek Price  <derek@ximbiot.com>
80604
80605         * lib/getdelim.c (getdelim): Return EOF on EOF.
80606         Reported by Larry Jones <lawrence.jones@ugs.com>.
80607
80608 2005-08-31  Bruno Haible  <bruno@clisp.org>
80609
80610         Avoid unnecessary diffs in the generated lib/Makefile.am.
80611         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
80612         the generated files.
80613         (func_import): Don't set cmd.
80614
80615 2005-08-31  Bruno Haible  <bruno@clisp.org>
80616
80617         * lib/strstr.c: Include <stddef.h>, for NULL.
80618         * lib/strcasestr.c: Likewise.
80619         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
80620
80621 2005-08-31  Bruno Haible  <bruno@clisp.org>
80622
80623         * gnulib-tool: New option --macro-prefix.
80624         (func_import): Use macro_prefix.
80625         (import): Handle option --macro-prefix.
80626
80627 2005-08-31  Bruno Haible  <bruno@clisp.org>
80628
80629         * gnulib-tool (import): Rename most ac_* variables to cached_*.
80630         Also use new variables cached_lgpl, cached_libtool.
80631
80632 2005-08-31  Bruno Haible  <bruno@clisp.org>
80633
80634         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
80635         always instantiating them.
80636
80637 2005-08-31  Bruno Haible  <bruno@clisp.org>
80638
80639         * gnulib-tool (func_import): Read the previous cached settings
80640         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
80641         earlier added by gnulib but are now dropped. Warn when a gnulib file
80642         overwrites a non-gnulib file.
80643
80644 2005-08-31  Bruno Haible  <bruno@clisp.org>
80645
80646         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
80647         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
80648         projects that don't keep autogenerated files in CVS. Put into
80649         actioncmd only the specified modules, not the transitive closure.
80650
80651 2005-08-31  Bruno Haible  <bruno@clisp.org>
80652
80653         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
80654         Create directories that shall be filled.
80655         (import): Don't look for gl_* macros in configure.ac. Recurse across
80656         all directories containing a gnulib-cache.m4 files, if meaningful.
80657
80658 2005-08-31  Bruno Haible  <bruno@clisp.org>
80659
80660         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
80661         (import): Set seen_libtool when we see gl_LIBTOOL.
80662
80663 2005-08-31  Bruno Haible  <bruno@clisp.org>
80664
80665         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
80666         declaration macro definitions from generated gnulib.m4.
80667
80668 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
80669
80670         * lib/iconvme.h: Add prototype for iconv_alloc.
80671
80672 2005-08-29  Simon Josefsson  <jas@extundo.com>
80673
80674         * lib/iconvme.c: Fix errno.
80675
80676 2005-08-29  Bruno Haible  <bruno@clisp.org>
80677
80678         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
80679         that it works when the directory contains spaces.
80680
80681 2005-08-29  Bruno Haible  <bruno@clisp.org>
80682
80683         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
80684
80685 2005-08-29  Bruno Haible  <bruno@clisp.org>
80686
80687         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
80688         Emit more advice.
80689
80690 2005-08-29  Bruno Haible  <bruno@clisp.org>
80691         and Stepan Kasal  <kasal@ucw.cz>
80692
80693         * check-module: If more parameters are given, check each of them
80694         separately; add more exceptions, as noted by Jim Meyering.
80695         (check_module): New procedure.
80696         (%exempt_header): Now contains all exceptions.
80697
80698 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
80699
80700         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
80701
80702 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
80703
80704         * lib/iconvme.c: Split iconv_string into iconv_alloc.
80705
80706 2005-08-28  Bruno Haible  <bruno@clisp.org>
80707
80708         * m4/gnulib-tool.m4: New file.
80709
80710 2005-08-27  Jim Meyering  <jim@meyering.net>
80711
80712         * modules/unistd-safer (Files): Add pipe-safer.c.
80713         * modules/fcntl-safer (Files): Add creat-safer.c.
80714
80715 2005-08-27  Jim Meyering  <jim@meyering.net>
80716
80717         * m4/stdlib-safer.m4: New file.  From coreutils.
80718         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
80719         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
80720         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
80721         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
80722         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
80723
80724 2005-08-27  Jim Meyering  <jim@meyering.net>
80725
80726         * lib/fopen-safer.c: Merge minor changes from coreutils.
80727         * lib/dup-safer.c: Likewise.
80728         * lib/fd-safer.c: Likewise.
80729
80730         Merge from coreutils.
80731         * lib/stdio--.h: New file.
80732         * lib/stdlib--.h: New file.
80733         * lib/mkstemp-safer.c: New file.
80734
80735         GNU tar needs these.
80736         * lib/pipe-safer.c: New file.
80737         * lib/creat-safer.c: New file.
80738         * lib/fcntl--.h (creat): Define to creat_safer.
80739         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
80740         * lib/unistd--.h (pipe): Define to pipe_safer.
80741         * lib/unistd-safer.h: Declare pipe_safer.
80742
80743 2005-08-26  Simon Josefsson  <jas@extundo.com>
80744
80745         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
80746         Haible <bruno@clisp.org>.
80747
80748 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
80749
80750         * lib/regex_internal.h: Remove all references to
80751         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
80752         or better.
80753         (bitset_not, bitset_merge, bitset_not_merge):
80754         (bitset_mask, re_string_allocate, re_string_construct):
80755         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
80756         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
80757         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
80758         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
80759         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
80760         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
80761         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
80762         (re_acquire_state_context):
80763         Remove unnecessary forward decls.
80764         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
80765         Put __attribute at function definition,
80766         now that the function decl has been removed.
80767         * lib/regex_internal.c (re_string_peek_byte_case):
80768         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
80769         Likewise.
80770
80771 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
80772
80773         * m4/regex.m4: Add AC_PREREQ(2.50).
80774         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
80775
80776 2005-08-25  Simon Josefsson  <jas@extundo.com>
80777
80778         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
80779         __fsetlocking.
80780
80781 2005-08-25  Simon Josefsson  <jas@extundo.com>
80782
80783         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
80784         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
80785         GLIBC specific code.
80786
80787 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
80788
80789         Make regex safe for g++.  This fixes one real bug (an "err"
80790         that should have been "*err").  g++ problem reported by
80791         Sam Steingold.
80792         * lib/regex_internal.h (re_calloc): New macro, consistent with
80793         re_malloc etc.  All callers of calloc changed to use re_calloc.
80794         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
80795         not int.  All callers changed.
80796         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
80797         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
80798         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
80799         (find_recover_state): Change "err" to "*err"; this fixes what
80800         appears to be a real bug.
80801         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
80802         versus int.
80803
80804 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
80805
80806         * modules/regex (Depends-on): Add malloc, since the code
80807         assumes that !malloc(0) means failure.
80808
80809 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
80810
80811         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
80812
80813         alloca modernization/simplification for regex.
80814         * lib/regex.c: Remove portability cruft for alloca.  This no longer
80815         needs to be at the start of the file, and can be moved into
80816         regex_internal.h and simplified.
80817         * lib/regex_internal.h: Include <alloca.h>.
80818         (__libc_use_alloca) [!defined _LIBC]: New macro.
80819         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
80820         now works outside glibc.
80821
80822 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
80823
80824         * config/srclist.txt: Add glibc bugs 1241, 1245.
80825
80826 2005-08-25  Jim Meyering  <jim@meyering.net>
80827
80828         * lib/open-safer.c: Include <config.h>.
80829         Otherwise, we'd lose LARGEFILE support in any file using
80830         e.g. "fcntl--.h"
80831
80832 2005-08-25  Bruno Haible  <bruno@clisp.org>
80833
80834         * m4/minmax.m4: Require autoconf 2.52.
80835         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
80836         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
80837         alternatives of translit over the alphabet.
80838         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
80839
80840 2005-08-24  Simon Josefsson  <jas@extundo.com>
80841
80842         * tests/test-getpass.c: New file.
80843
80844 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
80845
80846         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
80847         for GNU regex features.
80848
80849 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
80850
80851         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
80852         * lib/regex.h (regerror): Likewise.
80853
80854         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
80855         requires this.  (The code never needed it.)
80856
80857         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
80858         All uses of recently-renamed identifiers changed to use the new,
80859         POSIX-compliant names.  The code will build and run just fine
80860         without these changes, but it's better to eat our own dog food
80861         and use the standard-conforming names.
80862
80863         * lib/regex.h: Fix a multitude of POSIX name space violations.
80864         These changes have an effect only for programs that define
80865         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
80866         do not change anything for programs compiled in the normal way.
80867         Also, there is no effect on the ABI.
80868
80869         (_REGEX_SOURCE): New macro.
80870         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
80871         defined and _GNU_SOURCE is not; this fixes a name space violation.
80872
80873         Rename the following macros to obey POSIX requirements.
80874         The old names are still visible as macros if _REGEX_SOURCE is defined.
80875         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
80876         RE_BACKSLASH_ESCAPE_IN_LISTS.
80877         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
80878         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
80879         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
80880         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
80881         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
80882         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
80883         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
80884         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
80885         (REG_INTERVALS): renamed from RE_INTERVALS.
80886         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
80887         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
80888         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
80889         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
80890         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
80891         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
80892         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
80893         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
80894         RE_UNMATCHED_RIGHT_PAREN_ORD.
80895         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
80896         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
80897         (REG_DEBUG): renamed from RE_DEBUG.
80898         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
80899         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
80900         unusual, since we can't clash with the POSIX REG_ICASE.
80901         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
80902         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
80903         (REG_NO_SUB): renamed from RE_NO_SUB.
80904         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
80905         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
80906         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
80907         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
80908         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
80909         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
80910         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
80911         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
80912         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
80913         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
80914         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
80915         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
80916         RE_SYNTAX_POSIX_MINIMAL_BASIC.
80917         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
80918         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
80919         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
80920         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
80921         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
80922         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
80923         (REG_FIXED): Renamed from REGS_FIXED.
80924         (REG_NREGS): Renamed from RE_NREGS.
80925
80926         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
80927         of other REG_* macros, since POSIX says the user is allowed to
80928         #undef these macros selectively.
80929
80930         (reg_errcode_t): Update comment stating what other tables need
80931         to be consistent.
80932
80933         Rename the following enum values to obey POSIX requirements.
80934         The old names are still visible as macros.
80935         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
80936         is not defined, since GNU is supposed to be a superset of POSIX as
80937         much as possible, and since we want reg_errcode_t to be a signed
80938         type for implementation consistency.
80939         (_REG_NOERROR): Renamed from REG_NOERROR.
80940         (_REG_NOMATCH): Renamed from REG_NOMATCH.
80941         (_REG_BADPAT): Renamed from REG_BADPAT.
80942         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
80943         (_REG_ECTYPE): Renamed from REG_ECTYPE.
80944         (_REG_EESCAPE): Renamed from REG_EESCAPE.
80945         (_REG_ESUBREG): Renamed from REG_ESUBREG.
80946         (_REG_EBRACK): Renamed from REG_EBRACK.
80947         (_REG_EPAREN): Renamed from REG_EPAREN.
80948         (_REG_EBRACE): Renamed from REG_EBRACE.
80949         (_REG_BADBR): Renamed from REG_BADBR.
80950         (_REG_ERANGE): Renamed from REG_ERANGE.
80951         (_REG_ESPACE): Renamed from REG_ESPACE.
80952         (_REG_BADRPT): Renamed from REG_BADRPT.
80953         (_REG_EEND): Renamed from REG_EEND.
80954         (_REG_ESIZE): Renamed from REG_ESIZE.
80955         (_REG_ERPAREN): Renamed from REG_ERPAREN.
80956         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
80957         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
80958         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
80959         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
80960
80961         (_REG_RE_NAME, _REG_RM_NAME): New macros.
80962         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
80963         changed.  But support the old name if the new one is not defined
80964         and if _REGEX_SOURCE.
80965
80966         Change the following member names in struct re_pattern_buffer.
80967         The old names are still supported if !_REGEX_SOURCE.
80968         The new names are always supported, regardless of _REGEX_SOURCE.
80969         (re_buffer): Renamed from buffer.
80970         (re_allocated): Renamed from allocated.
80971         (re_used): Renamed from used.
80972         (re_syntax): Renamed from syntax.
80973         (re_fastmap): Renamed from fastmap.
80974         (re_translate): Renamed from translate.
80975         (re_can_be_null): Renamed from can_be_null.
80976         (re_regs_allocated): Renamed from regs_allocated.
80977         (re_fastmap_accurate): Renamed from fastmap_accurate.
80978         (re_no_sub): Renamed from no_sub.
80979         (re_not_bol): Renamed from not_bol.
80980         (re_not_eol): Renamed from not_eol.
80981         (re_newline_anchor): Renamed from newline_anchor.
80982
80983         Change the following member names in struct re_registers.
80984         The old names are still supported if !_REGEX_SOURCE.
80985         The new names are always supported, regardless of _REGEX_SOURCE.
80986         (rm_num_regs): Renamed from num_regs.
80987         (rm_start): Renamed from start.
80988         (rm_end): Renamed from end.
80989
80990         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
80991         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
80992         Prepend __ to parameter names.
80993
80994         Undo yesterday's changes.
80995
80996 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
80997
80998         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
80999         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
81000         lib/regex.c.
81001
81002 2005-08-24  Jim Meyering  <jim@meyering.net>
81003
81004         Sync from coreutils.
81005         * m4/fcntl-safer.m4: New file.
81006
81007         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
81008         and object files for this module.
81009
81010 2005-08-24  Jim Meyering  <jim@meyering.net>
81011
81012         Sync from coreutils.
81013         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
81014
81015 2005-08-24  Jim Meyering  <jim@meyering.net>
81016
81017         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
81018         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
81019
81020 2005-08-24  Jim Meyering  <jim@meyering.net>
81021
81022         * modules/fcntl-safer: New module.
81023         * modules/fts (Depends-on): Add fcntl-safer.
81024         * MODULES.html.sh (File descriptor based Input/Output):
81025         Add fcntl-safer.
81026
81027 2005-08-24  Bruno Haible  <bruno@clisp.org>
81028
81029         Support for unit test modules.
81030         * modules/README: Mention tests modules.
81031         * modules/TEMPLATE-TESTS: New file.
81032         * gnulib-tool: New options --extract-tests-module, --with-tests and
81033         --tests-base (unused for the moment).
81034         (testsbase, inctests): New variables.
81035         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
81036         (func_verify_module): Exclude TEMPLATE-TESTS.
81037         (func_verify_nontests_module, func_verify_tests_module): New functions.
81038         (func_get_dependencies): Add implicit dependency for tests modules.
81039         (func_get_tests_module): New function.
81040         (func_modules_transitive_closure): When --with-tests was specified,
81041         include the unit tests as well, unless explicitly avoided.
81042         (func_emit_lib_Makefile_am): Ignore the tests modules here.
81043         (func_emit_tests_Makefile_am): New function.
81044         (func_create_testdir): When --with-tests was specified, emit a
81045         tests/ directory.
81046         * MODULES.html.sh (Future developments): Update.
81047
81048 2005-08-24  Bruno Haible  <bruno@clisp.org>
81049
81050         * modules/tls-tests: New file.
81051         * tests/test-tls.c: New file, from GNU gettext.
81052
81053 2005-08-24  Bruno Haible  <bruno@clisp.org>
81054
81055         * modules/lock-tests: New file.
81056         * tests/test-lock.c: New file, from GNU gettext.
81057
81058 2005-08-24  Bruno Haible  <bruno@clisp.org>
81059
81060         * lib/lock.h: Add multiple inclusion guard.
81061         * lib/tls.h: Add multiple inclusion guard.
81062
81063 2005-08-24  Bruno Haible  <bruno@clisp.org>
81064
81065         * gnulib-tool: Add support for the --aux-dir option to
81066         --create-testdir, --create-megatestdir, --test, --megatest.
81067         (func_create_testdir, func_create_megatestdir): Optionally emit a
81068         AC_CONFIG_AUX_DIR directive.
81069         (create-testdir, create-megatestdir, test, megatest): Provide a
81070         default value for $auxdir.
81071
81072 2005-08-24  Bruno Haible  <bruno@clisp.org>
81073
81074         * gnulib-tool (import): Use compound statement instead of subshell
81075         where possible.
81076
81077 2005-08-24  Bruno Haible  <bruno@clisp.org>
81078
81079         * gnulib-tool (import): Change --aux-dir default to "build-aux".
81080
81081 2005-08-24  Bruno Haible  <bruno@clisp.org>
81082
81083         * gnulib-tool (func_version): Update.
81084
81085 2005-08-24  Bruno Haible  <bruno@clisp.org>
81086
81087         * gnulib-tool (func_import, func_create_testdir,
81088         func_create_megatestdir): Quote all autoconf macro arguments.
81089
81090 2005-08-24  Bruno Haible  <bruno@clisp.org>
81091
81092         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
81093         option --force, because --force causes the aclocal.m4 of each
81094         subdirectory to be newer than the corresponding config.h.in.
81095
81096 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
81097
81098         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
81099         All contents moved to gl_REGEX.
81100         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
81101         assume that it does.
81102
81103 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
81104
81105         * lib/regex.h (REG_NOSYS)
81106         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
81107         Define, since POSIX requires it as of 2001.
81108         (_REG_ENOSYS)
81109         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
81110         New private symbol, used to keep the enum signed in all cases.
81111         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
81112         Youngman in
81113         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
81114
81115         * lib/regex_internal.c (re_string_skip_chars, register_state):
81116         (calc_state_hash):
81117         Remove forward decls; no longer needed now that we use prototypes.
81118         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
81119         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
81120         (clean_state_log_if_needed): Likewise.
81121
81122 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
81123
81124         * config/srclist.txt: Add glibc bugs 1231-1233.
81125
81126 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
81127
81128         Fix problems reported by Sam Steingold in
81129         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
81130         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
81131         assumed that reg_errcode_t is a signed type, which is not
81132         necessarily true if _XOPEN_SOURCE is not defined.
81133         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
81134         since some compilers warn about it otherwise.
81135
81136 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
81137
81138         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
81139         (init_word_char, create_initial_state, duplicate_node_closure):
81140         (fetch_token, peek_token_bracket, build_range_exp):
81141         (build_collating_symbol): Remove forward decls; no longer needed
81142         now that we use prototypes.
81143
81144         * lib/regcomp.c:
81145         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
81146         (re_compile_fastmap_iter, regcomp, regerror, regfree):
81147         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
81148         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
81149         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
81150         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
81151         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
81152         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
81153         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
81154         (build_range_exp, build_collating_symbol, parse_bracket_exp):
81155         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
81156         (build_charclass, build_charclass_op, fetch_number, create_tree):
81157         (create_token_tree, mark_opt_subexp, duplicate_tree):
81158         Use prototypes rather than old-style definitions.
81159
81160         * lib/regex_internal.c:
81161         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
81162         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
81163         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
81164         (re_string_reconstruct, re_string_peek_byte_case):
81165         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
81166         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
81167         (re_node_set_init_copy, re_node_set_add_intersect):
81168         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
81169         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
81170         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
81171         (re_acquire_state, re_acquire_state_context, register_state):
81172         (create_ci_newstate, create_cd_newstate, free_state):
81173         Likewise.
81174         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
81175         re_search_2):
81176         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
81177         (re_search_internal, prune_impossible_nodes):
81178         (acquire_init_state_context, check_matching, static):
81179         (check_halt_node_context, check_halt_state_context, proceed_next_node):
81180         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
81181         (update_regs, sift_states_backward, build_sifted_states):
81182         (clean_state_log_if_needed, merge_state_array):
81183         (update_cur_sifted_state, add_epsilon_src_nodes):
81184         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
81185         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
81186         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
81187         (find_recover_state, check_subexp_matching_top, transit_state_mb):
81188         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
81189         (check_arrival, check_arrival_add_next_nodes):
81190         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
81191         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
81192         (check_node_accept_bytes, check_node_accept, extend_buffers):
81193         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
81194         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
81195         (sift_ctx_init):
81196         Likewise.
81197
81198         * lib/regex_internal.h:
81199         (re_string_allocate, re_string_construct, re_string_reconstruct):
81200         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
81201         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
81202         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
81203         (re_string_context_at, re_string_peek_byte_case):
81204         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
81205         is defined, since we now use prototypes always.
81206
81207         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
81208         C89 or better.  All uses removed.
81209
81210 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
81211
81212         * config/srclist.txt: Add glibc bugs 1220-1227.
81213
81214 2005-08-20  Jim Meyering  <jim@meyering.net>
81215
81216         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
81217         of unused local, dfa.
81218
81219 2005-08-20  Bruno Haible  <bruno@clisp.org>
81220
81221         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
81222
81223 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
81224
81225         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
81226         (re_node_set_insert_last, re_dfa_add_node):
81227         Rename local variables to avoid GCC shadowing warnings.
81228
81229 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
81230
81231         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
81232         [defined lint]: Suppress bogus uninitialized-variable warnings.
81233
81234         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
81235         and let the caller return REG_ESPACE if out of space.  This
81236         removes an uninitialied-variable warning with GCC 4.0.1, and also
81237         avoids taking the address of a local variable.  All callers
81238         changed.
81239
81240 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
81241
81242         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
81243         $LIBCSRC/posix/regexec.c.
81244         Add glibc bug 1217 for regcomp.c.
81245
81246 2005-08-19  Jim Meyering  <jim@meyering.net>
81247
81248         * lib/regexec.c (proceed_next_node): Redo local variables to
81249         avoid GCC shadowing warnings.
81250
81251 2005-08-18  Bruno Haible  <bruno@clisp.org>
81252
81253         * lib/strstr.c (strstr): Fix return value in multibyte case.
81254         * lib/strcasestr.c (strcasestr): Likewise.
81255
81256 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
81257
81258         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
81259
81260 2005-08-17  Jim Meyering  <jim@meyering.net>
81261
81262         Make the %s format (seconds since the epoch) work for a negative
81263         number and when used with a zero-padded field width, e.g. %015s.
81264
81265         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
81266         label so that it precedes the code to set `digits'.  Otherwise,
81267         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
81268         print `00-22'.  Now, it prints `-0022', as it should.
81269
81270 2005-08-17  Bruno Haible  <bruno@clisp.org>
81271
81272         * modules/strstr (Files): Add m4/mbrtowc.m4.
81273         (Depends-on): Add mbuiter.
81274
81275 2005-08-17  Bruno Haible  <bruno@clisp.org>
81276
81277         * modules/strcasestr: New file.
81278         * MODULES.html.sh (String handling, based on ANSI C 89): Add
81279         strcasestr.
81280
81281 2005-08-17  Bruno Haible  <bruno@clisp.org>
81282
81283         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
81284
81285 2005-08-17  Bruno Haible  <bruno@clisp.org>
81286
81287         * modules/mbuiter: New file.
81288         * MODULES.html.sh (Extended multibyte and wide character utilities):
81289         Add mbuiter.
81290
81291 2005-08-17  Bruno Haible  <bruno@clisp.org>
81292
81293         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
81294         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
81295
81296 2005-08-17  Bruno Haible  <bruno@clisp.org>
81297
81298         * m4/strcasestr.m4: New file.
81299
81300 2005-08-17  Bruno Haible  <bruno@clisp.org>
81301
81302         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
81303         * lib/strstr.c: Completely rewritten, with multibyte locale support.
81304
81305 2005-08-17  Bruno Haible  <bruno@clisp.org>
81306
81307         * lib/strcasestr.h: New file.
81308         * lib/strcasestr.c: New file.
81309
81310 2005-08-17  Bruno Haible  <bruno@clisp.org>
81311
81312         * lib/strcasecmp.c: Use mbuiter.h.
81313
81314 2005-08-17  Bruno Haible  <bruno@clisp.org>
81315
81316         * lib/mbuiter.h: New file.
81317
81318 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
81319
81320         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
81321         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
81322         and gl_GETOPT are both invoked via different paths (as happens
81323         with GNU tar CVS because it uses both argp and getopt), the former
81324         wins.
81325
81326 2005-08-16  Bruno Haible  <bruno@clisp.org>
81327
81328         * modules/tls: New file.
81329         * MODULES.html.sh (Multithreading): Add tls.
81330
81331 2005-08-16  Bruno Haible  <bruno@clisp.org>
81332
81333         * modules/strnlen1: New file.
81334         * MODULES.html.sh (String handling): Add strnlen1.
81335
81336 2005-08-16  Bruno Haible  <bruno@clisp.org>
81337
81338         * modules/strcase (Files): Add m4/mbrtowc.m4.
81339         (Depends-on): Add strnlen1, mbchar.
81340
81341 2005-08-16  Bruno Haible  <bruno@clisp.org>
81342
81343         * modules/mbiter: New file.
81344         * MODULES.html.sh (Extended multibyte and wide character utilities):
81345         Add mbiter.
81346
81347 2005-08-16  Bruno Haible  <bruno@clisp.org>
81348
81349         * modules/mbfile: New file.
81350         * MODULES.html.sh (Extended multibyte and wide character utilities):
81351         Add mbfile.
81352
81353 2005-08-16  Bruno Haible  <bruno@clisp.org>
81354
81355         * modules/mbchar: New file.
81356         * MODULES.html.sh (Extended multibyte and wide character utilities):
81357         New section.
81358
81359 2005-08-16  Bruno Haible  <bruno@clisp.org>
81360
81361         * m4/tls.m4: New file, from GNU gettext.
81362
81363 2005-08-16  Bruno Haible  <bruno@clisp.org>
81364
81365         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
81366         always.
81367         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
81368
81369 2005-08-16  Bruno Haible  <bruno@clisp.org>
81370
81371         * m4/mbiter.m4: New file.
81372
81373 2005-08-16  Bruno Haible  <bruno@clisp.org>
81374
81375         * m4/mbfile.m4: New file.
81376
81377 2005-08-16  Bruno Haible  <bruno@clisp.org>
81378
81379         * m4/mbchar.m4: New file.
81380
81381 2005-08-16  Bruno Haible  <bruno@clisp.org>
81382
81383         * lib/tls.h: New file, from GNU gettext.
81384         * lib/tls.c: New file, from GNU gettext.
81385
81386 2005-08-16  Bruno Haible  <bruno@clisp.org>
81387
81388         * lib/strnlen1.h: New file.
81389         * lib/strnlen1.c: New file.
81390
81391 2005-08-16  Bruno Haible  <bruno@clisp.org>
81392
81393         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
81394         (mbi_init): Update.
81395         (mbi_avail, mbi_advance): Let the iteration end before the terminating
81396         NUL byte, not after it.
81397
81398 2005-08-16  Bruno Haible  <bruno@clisp.org>
81399
81400         * lib/strcase.h (strcasecmp): Add note in comments.
81401         * lib/strncasecmp.c: Use code from strcasecmp.c.
81402         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
81403         (strcasecmp): Work correctly in multibyte locales.
81404
81405 2005-08-16  Bruno Haible  <bruno@clisp.org>
81406
81407         * lib/mbiter.h: New file.
81408
81409 2005-08-16  Bruno Haible  <bruno@clisp.org>
81410
81411         * lib/mbfile.h: New file.
81412
81413 2005-08-16  Bruno Haible  <bruno@clisp.org>
81414
81415         * lib/mbchar.h: New file.
81416         * lib/mbchar.c: New file.
81417
81418 2005-08-16  Bruno Haible  <bruno@clisp.org>
81419
81420         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
81421         the valid ones. Makes the comparison operations transitive:
81422         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
81423         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
81424
81425 2005-08-15  Simon Josefsson  <jas@extundo.com>
81426
81427         * modules/ssize_t (License): Change to 'unlimited'.
81428
81429         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
81430
81431 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
81432
81433         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
81434         Add comments for each pending glibc patch.
81435
81436 2005-08-15  Bruno Haible  <bruno@clisp.org>
81437
81438         * lib/regex.h (__restrict_arr): Don't define to __restrict if
81439         __cplusplus is defined.
81440
81441 2005-08-14  Jim Meyering  <jim@meyering.net>
81442
81443         Sync from coreutils.
81444
81445         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
81446         Use the hash-table-based cycle-detection code not just when
81447         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
81448         Reported by James Youngman in
81449         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
81450         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
81451         FTS_TIGHT_CYCLE_CHECK.
81452         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
81453         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
81454         once again.
81455         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
81456         * lib/fts.c (fd_safer): Remove decl.
81457         Include fcntl--.h rather than unistd-safer.h
81458         (fts_safe_changedir): Don't call fd_safer; no longer needed
81459         now that we include fcntl--.h.
81460
81461 2005-08-12  Simon Josefsson  <jas@extundo.com>
81462
81463         * modules/getndelim2: Use ssize_t module.
81464         * modules/getnline: Likewise.
81465         * modules/safe-read: Likewise.
81466         * modules/xreadlink: Likewise.
81467
81468         * modules/ssize_t: New file.
81469
81470 2005-08-12  Simon Josefsson  <jas@extundo.com>
81471
81472         * m4/readline.m4: Look for termcap, curses or ncurses if required.
81473
81474 2005-08-12  Simon Josefsson  <jas@extundo.com>
81475
81476         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
81477         ssize_t.
81478
81479 2005-08-12  Simon Josefsson  <jas@extundo.com>
81480
81481         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
81482         readline, getdelim and check_version.
81483         (Support for systems lacking ISO C 99: Sizes of integer types):
81484         Add size_max.
81485
81486 2005-08-12  Bruno Haible  <bruno@clisp.org>
81487
81488         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
81489
81490 2005-08-11  Simon Josefsson  <jas@extundo.com>
81491
81492         * modules/readline: New file.
81493
81494         * modules/strnlen (Files): Add strnlen.h.
81495
81496 2005-08-11  Simon Josefsson  <jas@extundo.com>
81497
81498         * m4/readline.m4: New file.
81499
81500 2005-08-11  Simon Josefsson  <jas@extundo.com>
81501
81502         * lib/readline.h, readline.c: New file.
81503
81504 2005-08-11  Simon Josefsson  <jas@extundo.com>
81505
81506         * doc/gnulib.texi (Initial import, Finishing touches): Mention
81507         gl_AVOID.
81508
81509 2005-08-11  Bruno Haible  <bruno@clisp.org>
81510
81511         * lib/strnlen.h (strnlen): Change parameter name to match comment.
81512
81513 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
81514
81515         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
81516
81517 2005-08-10  Simon Josefsson  <jas@extundo.com>
81518
81519         * tests/test-iconvme.c: New file.
81520
81521 2005-08-10  Simon Josefsson  <jas@extundo.com>
81522
81523         * m4/strnlen.m4: New file.
81524
81525         * m4/strndup.m4: Don't check for strnlen declaration, done in
81526         strnlen.m4.
81527
81528 2005-08-10  Simon Josefsson  <jas@extundo.com>
81529
81530         * lib/strndup.c: Use strnlen.h.
81531
81532         * lib/strnlen.h: New file.
81533
81534 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
81535
81536         * README: Typos.
81537
81538 2005-08-02  Simon Josefsson  <jas@extundo.com>
81539
81540         * modules/readline: New file.
81541
81542 2005-08-02  Simon Josefsson  <jas@extundo.com>
81543
81544         * modules/getdelim: New file.
81545
81546         * modules/getline: Rewrite, don't use getndelim2.
81547
81548 2005-08-02  Simon Josefsson  <jas@extundo.com>
81549
81550         * m4/getline.m4: Separate out getdelim stuff into separate module.
81551
81552         * m4/getdelim.m4: New file.
81553
81554 2005-08-02  Simon Josefsson  <jas@extundo.com>
81555
81556         * lib/getline.h, getline.c: Rewrite.
81557
81558         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
81559
81560 2005-07-31  Bruno Haible  <bruno@clisp.org>
81561
81562         * lib/lock.h (gl_lock_initializer): New macro.
81563         (gl_lock_define_initialized): Use it.
81564         (gl_rwlock_initializer): New macro.
81565         (gl_rwlock_define_initialized): Use it.
81566         (gl_recursive_lock_initializer): New macro.
81567         (gl_recursive_lock_define_initialized): Use it.
81568
81569 2005-07-30  Karl Berry  <karl@gnu.org>
81570
81571         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
81572         Report from Ben Pfaff, regarding getopt.
81573
81574 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
81575
81576         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
81577         normal way.
81578         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
81579         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
81580         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
81581         (gl_GETOPT): Use the new macros.  Most of the implementation
81582         is moved to the new macros.  This is for programs like Emacs
81583         that don't want all the functionality of gl_GETOPT.
81584
81585 2005-07-26  Bruno Haible  <bruno@clisp.org>
81586
81587         * m4/lock.m4: Update from GNU gettext.
81588
81589 2005-07-26  Bruno Haible  <bruno@clisp.org>
81590
81591         * lib/lock.h: Update from GNU gettext.
81592         * lib/lock.c: Update from GNU gettext.
81593
81594 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
81595
81596         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
81597         obsolescent AC_TRY_RUN.  Include the default includes files, for
81598         'exit'.
81599
81600 2005-07-24  Bruno Haible  <bruno@clisp.org>
81601
81602         * modules/visibility: New file.
81603         * MODULES.html.sh (Misc): Add visibility.
81604
81605 2005-07-24  Bruno Haible  <bruno@clisp.org>
81606
81607         * m4/visibility.m4: New file.
81608
81609 2005-07-24  Bruno Haible  <bruno@clisp.org>
81610
81611         * doc/visibility.texi: New file.
81612
81613 2005-07-22  Bruno Haible  <bruno@clisp.org>
81614
81615         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
81616         $(ALLOCA_H), redundant through BUILT_SOURCES.
81617         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
81618         redundant through BUILT_SOURCES.
81619         * modules/byteswap (Makefile.am): Remove explicit dependency on
81620         $(BYTESWAP_H), redundant through BUILT_SOURCES.
81621         * modules/fnmatch (Makefile.am): Remove explicit dependency on
81622         $(FNMATCH_H), redundant through BUILT_SOURCES.
81623         * modules/getopt (Makefile.am): Remove explicit dependency on
81624         $(GETOPT_H), redundant through BUILT_SOURCES.
81625         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
81626         redundant through BUILT_SOURCES.
81627         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
81628         redundant through BUILT_SOURCES.
81629         * modules/stdbool (Makefile.am): Remove explicit dependency on
81630         $(STDBOOL_H), redundant through BUILT_SOURCES.
81631         * modules/stdint (Makefile.am): Remove explicit dependency on
81632         $(STDINT_H), redundant through BUILT_SOURCES.
81633         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
81634         Remove explicit dependency on $(SYSEXITS_H).
81635         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
81636
81637 2005-07-18  Simon Josefsson  <jas@extundo.com>
81638
81639         * lib/check-version.c (check_version): Accept identical versions too.
81640
81641 2005-07-18  Bruno Haible  <bruno@clisp.org>
81642
81643         * modules/lock: New file.
81644         * MODULES.html.sh (Multithreading): New section.
81645
81646 2005-07-18  Bruno Haible  <bruno@clisp.org>
81647
81648         * m4/lock.m4: New file, from GNU gettext.
81649
81650 2005-07-18  Bruno Haible  <bruno@clisp.org>
81651
81652         * lib/lock.h: New file, from GNU gettext.
81653         * lib/lock.c: New file, from GNU gettext.
81654
81655 2005-07-18  Bruno Haible  <bruno@clisp.org>
81656
81657         * lib/lock.h (gl_once_t): New type.
81658         (gl_once_define, gl_once): New macros.
81659         * lib/lock.c (fresh_once): New variable.
81660         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
81661         functions.
81662
81663 2005-07-16  Simon Josefsson  <jas@extundo.com>
81664
81665         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
81666         workaround, suggested by Bruno.
81667
81668 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
81669
81670         * modules/xalloc (Depends-on): Add xalloc-die.
81671         * modules/xvasprintf (Depends-on): Add xalloc-die.
81672
81673 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
81674
81675         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
81676         with a minor change.
81677
81678 2005-07-15  Bruno Haible  <bruno@clisp.org>
81679
81680         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
81681         When using lib/poll.c, define poll as rpl_poll.
81682
81683 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
81684
81685         * modules/argp (Depends-on): Remove unlocked-io.
81686
81687 2005-07-14  Derek Price  <derek@ximbiot.com>
81688
81689         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
81690         for glob symlink bug.
81691
81692 2005-07-14  Bruno Haible  <bruno@clisp.org>
81693
81694         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
81695         Instead, test for *_unlocked function declarations directly.
81696
81697 2005-07-11  Simon Josefsson  <jas@extundo.com>
81698
81699         * modules/size_max: New file.
81700
81701         * modules/xsize: Depend on size_max module for size_max.m4.
81702
81703 2005-07-11  Simon Josefsson  <jas@extundo.com>
81704
81705         * lib/size_max.h: New file.
81706
81707 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
81708
81709         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
81710         copyright symbol and the year.
81711         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
81712         (version_etc_va): Use parameterized copyright notice.
81713         Reword to conform to the current GNU coding standards.
81714
81715 2005-07-11  Karl Berry  <karl@gnu.org>
81716
81717         * doc/gnulib.texi (Quoting): new node.
81718         (Initial import): more info, from Patrice.
81719
81720 2005-07-11  Bruno Haible  <bruno@clisp.org>
81721
81722         * gnulib-tool (func_usage): Document option --avoid.
81723         (Command line options): Handle --avoid.
81724         (func_acceptable): New function.
81725         (func_modules_transitive_closure): Use it.
81726
81727 2005-07-11  Bruno Haible  <bruno@clisp.org>
81728
81729         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
81730         Reported by Jim Meyering.
81731
81732 2005-07-10  Bruno Haible  <bruno@clisp.org>
81733
81734         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
81735         Needed when size_t is smaller than 'unsigned int'.
81736         Reported by Paul Eggert.
81737
81738 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
81739
81740         * modules/argp (Depends-on): Add unlocked-io
81741
81742 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
81743
81744         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
81745         block of defines.
81746
81747 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
81748
81749         * config/srclist.txt: Comment out regcomp.c, since we have a porting
81750         fix now.
81751
81752 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
81753         and Paul Eggert  <eggert@cs.ucla.edu>
81754
81755         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
81756         in wint_t, not wchar_t.  Remove now-unnecessary cast.
81757
81758 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
81759
81760         * modules/regex (Files): Add lib/regex_internal.c,
81761         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
81762         (Depends-on): Add extensions.
81763         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
81764
81765 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
81766
81767         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
81768         pathconf.
81769         * m4/same.m4 (gl_SAME): Likewise.
81770         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
81771
81772         * m4/regex.m4: Adjust to new libc regex implementation.
81773         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
81774         all the .c and .h parts of (the new) regex.
81775         Quote the m4 stuff better.
81776         Check for RE_ICASE bug of old gnulib.
81777         Check for REG_STARTEND of recent libc.
81778         Rename local variables from jm_* to gl_*.
81779         Quote operand of "test -f".
81780         Say "recent enough" version of libc, not "version 2".
81781         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
81782         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
81783         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
81784         Remove check for btowc, isascii.
81785         Require AM_LANGINFO_CODESET.
81786
81787 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
81788
81789         * lib/regex.c, regex.h: Sync from libc.
81790         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
81791         * lib/regexec.c:
81792         New files, synced from libc, except that regex_internal.h
81793         currently has a small porting fix.
81794
81795 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
81796
81797         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
81798         regex_internal.c, regexec.c.
81799         Add regex_internal.h too, but as a comment, since the libc version
81800         is currently broken in gnulib mode.
81801
81802 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
81803
81804         Support programs like Emacs that use gnulib but not gettext.
81805         * MODULES.html.sh (Internationalization functions): Add gettext-h.
81806         * modules/gettext-h: New file.
81807         * modules/gettext (Files): Remove lib/gettext.h.
81808         (Depends-on): Add gettext-h.
81809         (Makefile.am): Remove lib_SOURCES.
81810         * modules/argmatch, modules/c-stack, modules/closeout:
81811         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
81812         * modules/execute, modules/file-type, modules/getaddrinfo:
81813         * modules/getopt, modules/human, modules/javacomp:
81814         * modules/javaexec, modules/mkdir-p, modules/obstack:
81815         * modules/openat, modules/pagealign_alloc, modules/pipe:
81816         * modules/quotearg, modules/regex, modules/rpmatch:
81817         * modules/unicodeio, modules/userspec, modules/version-etc:
81818         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
81819         * modules/xsetenv:
81820         Depend on gettext-h, not gettext.
81821
81822 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
81823
81824         * gnulib-tool (func_import): Add support for 'public domain' license.
81825         * modules/alloca, modules/atexit, modules/memmove:
81826         Now public domain, not GPL.
81827         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
81828         * modules/realloc, modules/strerror, modules/strtod:
81829         Now LGPL, not GPL.
81830
81831 2005-07-05  Bruno Haible  <bruno@clisp.org>
81832
81833         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
81834         autoconf CVS. Needed for mingw.
81835
81836 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
81837
81838         Remove the dependency of the strftime module on the tzset module.
81839         * modules/strftime (Depends-on): Remove dependency on tzset.
81840
81841 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
81842
81843         Remove the dependency of the strftime module on the tzset module.
81844         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
81845         gl_FUNC_TZSET_CLOBBER.
81846
81847 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
81848
81849         Remove the dependency of the strftime module on the tzset module.
81850         * lib/strftime.c (my_strftime)
81851         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
81852         Copy the input structure, to work around some of the bug with
81853         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
81854         Solaris releases, you should also use the tzset module, but we won't
81855         require it as a dependency any more since we don't want LGPLed code
81856         to depend on GPLed code.
81857
81858 2005-07-02  Jim Meyering  <jim@meyering.net>
81859
81860         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
81861         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
81862         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
81863         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
81864
81865 2005-07-02  Jim Meyering  <jim@meyering.net>
81866
81867         * lib/backupfile.c (backup_args): Change a `0' to NULL.
81868
81869 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
81870
81871         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
81872         declares only 'struct timespec;' (!).
81873
81874 2005-07-01  Jim Meyering  <jim@meyering.net>
81875
81876         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
81877         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
81878         * lib/save-cwd.c, tempname.c:
81879         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
81880         and don't include <sys/file.h>).
81881
81882 2005-06-29  Jim Meyering  <jim@meyering.net>
81883
81884         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
81885         type name.  Use the variable name instead.
81886         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
81887         Likewise.
81888
81889 2005-06-28  Simon Josefsson  <jas@extundo.com>
81890
81891         * modules/check-version (Files): Add check-version.m4.
81892
81893 2005-06-28  Simon Josefsson  <jas@extundo.com>
81894
81895         * m4/check-version.m4: New file, suggested by Jim Meyering
81896         <jim@meyering.net>.
81897
81898 2005-06-28  Simon Josefsson  <jas@extundo.com>
81899
81900         * lib/check-version.h, lib/check-version.c: New files.
81901
81902 2005-06-28  Simon Josefsson  <jas@extundo.com>
81903
81904         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
81905         collision with global variable.  Better indentation.  Don't
81906         increment buffer pointer beyond buffer end.  Based on comments
81907         from Paul Eggert <eggert@cs.ucla.edu>.
81908
81909         * lib/base64.h: Indent.
81910
81911 2005-06-28  Simon Josefsson  <jas@extundo.com>
81912
81913         * doc/gnulib.texi (Library version handling): New section.
81914
81915 2005-06-28  Jim Meyering  <jim@meyering.net>
81916
81917         * check-module (find_included_lib_files): Hard-code another
81918         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
81919         but modules/fts-lgpl (correctly) does not list those files.
81920
81921         * modules/canonicalize (Files): Add lib/pathmax.h.
81922
81923 2005-06-25  Simon Josefsson  <jas@extundo.com>
81924
81925         * modules/check-version: New file.
81926
81927 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
81928
81929         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
81930         initializer of struct addrinfo, as an indication that we don't
81931         care how many members the structure has.
81932
81933 2005-06-24  Derek Price  <derek@ximbiot.com>
81934         and Bruno Haible  <bruno@clisp.org>
81935
81936         Remove stat module & update lstat.
81937         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
81938         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
81939         * m4/stat.m4: Remove this file.
81940
81941 2005-06-24  Derek Price  <derek@ximbiot.com>
81942         and Bruno Haible  <bruno@clisp.org>
81943
81944         Remove stat module & update lstat.
81945         * lib/stat.c: Remove this file...
81946         (slash_aware_lstat): ...moving this content and its support...
81947         * lib/lstat.c (rpl_lstat): ...into here.
81948         * lib/lstat.h: New file.
81949
81950 2005-06-24  Derek Price  <derek@ximbiot.com>
81951         and Bruno Haible  <bruno@clisp.org>
81952
81953         Remove stat module & update lstat.
81954         * config/srclist.txt (libc sources): Remove stat.
81955
81956 2005-06-24  Derek Price  <derek@ximbiot.com>
81957         and Bruno Haible  <bruno@clisp.org>
81958
81959         Remove stat module & update lstat.
81960         * MODULES.html.sh (stat): Remove.
81961         * MODULES.html: Regenerated.
81962         * modules/lstat (Description): Correct function name.
81963         (Files): Add "lstat.h".
81964         (Depends-on): Remove stat, add xalloc, stat-macros.
81965         * modules/stat: Remove this file.
81966         (Include): Add "lstat.h", remove <sys/stat.h>.
81967
81968 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
81969
81970         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
81971         (ranged_convert): Don't save conversion in a temporary struct.
81972         This causes a warning with GCC 4.0.0, and anyway in the typical
81973         case it's not worth the extra 100 bytes or so of code.
81974         (ranged_convert, __mktime_internal): When calling a function via a
81975         pointer P, use P () rather than (*P) (), as we now assume C89 or
81976         better.
81977
81978 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
81979
81980         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
81981         "who -r" failed to give output.  Problem reported by Tim Waugh.
81982
81983         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
81984         (xcalloc): Use it to avoid needless tests.
81985         Problem reported by Jim Meyering.
81986
81987 2005-06-20  Derek Price  <derek@ximbiot.com>
81988
81989         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
81990         unnecessary for Autoconfs > 2.59c.
81991
81992 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81993
81994         * lib/argp.h (__option_is_short): Check upper limit of
81995         __key. Isprint() requires its argument to have the value
81996         of an unsigned char or EOF.
81997
81998 2005-06-16  Jim Meyering  <jim@meyering.net>
81999
82000         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
82001         when either N or S is zero.
82002
82003 2005-06-16  Derek Price  <derek@ximbiot.com>
82004
82005         * m4/bison.m4: Declare YACC & YFLAGS precious.
82006
82007 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
82008
82009         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
82010         multibyte string or pattern, fall back on unibyte matching.
82011         Problem reported by James Youngman.
82012
82013 2005-06-08  Bruno Haible  <bruno@clisp.org>
82014
82015         * modules/csharpcomp: New file.
82016         * MODULES.html.sh (C#): Add csharpcomp.
82017
82018 2005-06-08  Bruno Haible  <bruno@clisp.org>
82019
82020         * m4/csharpcomp.m4: New file, from GNU gettext.
82021
82022 2005-06-08  Bruno Haible  <bruno@clisp.org>
82023
82024         * lib/csharpcomp.h: New file, from GNU gettext.
82025         * lib/csharpcomp.c: New file, from GNU gettext.
82026         * lib/csharpcomp.sh.in: New file, from GNU gettext.
82027
82028 2005-06-08  Bruno Haible  <bruno@clisp.org>
82029
82030         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
82031         warning on mingw.
82032
82033 2005-06-07  Derek Price  <derek@ximbiot.com>
82034
82035         Sync from CVS.
82036         * lib/glob_.h: Indent nested #ifdef.
82037
82038 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
82039
82040         Sync from coreutils.
82041         Use "file name" when talking about file names, instead of "filename"
82042         or "path", as per the GNU coding standards.
82043         * lib/mkdir-p.c: Renamed from makepath.c.
82044         (make_dir_parents): Renamed from make_path.  All callers changed.
82045         * lib/mkdir-p.h: Likewise.  All includers changed.
82046         * lib/filenamecat.c: Renamed from path-concat.c.
82047         (file_name_concat): Renamed from path_concat.  All callers changed.
82048         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
82049         * lib/filenamecat.h: Likewise.  All includers changed.
82050         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
82051         in comments or local variable names.
82052         * lib/basename.c: Likewise.
82053         * lib/canonicalize.c, canonicalize.h: Likewise.
82054         * lib/dirname.c, dirname.h: Likewise.
82055         * lib/euidaccess.c: Likewise.
82056         * lib/exclude.c: Likewise
82057         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
82058         * lib/fsusage.c, fsuage.h: Likewise.
82059         * lib/fts.c, fts_.h: Likewise.
82060         * lib/getcwd.c: Likewise.
82061         * lib/getloadavg.c: Likewise.
82062         * lib/mkstemp.c: Likewise.
82063         * lib/mountlist.c, mountlist.h: Likewise.
82064         * lib/openat.c, openat.h: Likewise.
82065         * lib/readlink-stub.c: Likewise.
82066         * lib/readutmp.c, readutmp.h: Likewise.
82067         * lib/rename.c: Likewise.
82068         * lib/rmdir.c: Likewise.
82069         * lib/same.c: Likewise.
82070         * lib/savedir.c: Likewise.
82071         * lib/stripslash.c: Likewise.
82072         * lib/tempname.c: Likewise.
82073         * lib/xreadlink.c: Likewise.
82074         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
82075         All uses changed.
82076         * lib/exclude.h: Likewise.
82077
82078         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
82079         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
82080         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
82081         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
82082         * lib/pathmax.h: Include <limits.h> unconditionally, since other
82083         files have been getting away with it for years (MORE/BSD 4.3
82084         is extinct now).
82085         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
82086         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
82087
82088         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
82089         Define to 256, not 255, as per modern POSIX.
82090
82091 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
82092
82093         Sync from coreutils.
82094         Use "file name" when talking about file names, instead of "filename"
82095         or "path", as per the GNU coding standards.
82096         * MODULES.html.sh: mkdir-p renamed from makepath.
82097         filenamecat renamed from path-concat.
82098         * modules/filenamecat: Renamed from modules/path-concat.
82099         (Files): filenamecat.h and filenamecat.c renamed from
82100         path-concat.h and path-concat.c.
82101         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
82102         (Include): filenamecat.h, not path-concat.h.
82103         * modules/mkdir-p: Renamed from modules/makepath.
82104         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
82105         makepath.c.
82106         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
82107         (Include): mkdir-p.h, not makepath.h.
82108
82109 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
82110
82111         Sync from coreutils.
82112         * m4/mkdir-p.m4: Renamed from makepath.m4.
82113         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
82114         Rename files from makepath.c to mkdir-p.c, and from
82115         makepath.h to mkdir-p.h.
82116         * m4/filenamecat.m4: Renamed from path-concat.m4.
82117         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
82118         Rename files from path-concat.c to filenamecat.c,
82119         and from path-concat.h to filenamecat.h.
82120         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
82121         "file name" in local variables or comments.
82122         * m4/rename.m4: Likewise.
82123
82124 2005-06-01  Bruno Haible  <bruno@clisp.org>
82125
82126         * modules/csharpexec: New file.
82127         * MODULES.html.sh (C#): New section.
82128
82129 2005-06-01  Bruno Haible  <bruno@clisp.org>
82130
82131         * m4/csharp.m4: New file, from GNU gettext.
82132         * m4/csharpexec.m4: New file, from GNU gettext.
82133
82134 2005-06-01  Bruno Haible  <bruno@clisp.org>
82135
82136         * lib/csharpexec.h: New file, from GNU gettext.
82137         * lib/csharpexec.c: New file, from GNU gettext.
82138         * lib/csharpexec.sh.in: New file, from GNU gettext.
82139
82140 2005-05-31  Derek Price  <derek@ximbiot.com>
82141             Paul Eggert  <eggert@cs.ucla.edu>
82142
82143         Sync from cvs.
82144         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
82145
82146 2005-05-31  Derek Price  <derek@ximbiot.com>
82147             Paul Eggert  <eggert@cs.ucla.edu>
82148
82149         Sync from cvs.
82150         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
82151
82152 2005-05-29  Derek Price  <derek@ximbiot.com>
82153
82154         * config/srclist.txt (glob_.h, glob.c): Add these files.
82155
82156 2005-05-29  Derek Price  <derek@ximbiot.com>
82157
82158         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
82159         * modules/glob: New file.
82160         * modules/getlogin_r: Add link to POSIX spec in description.
82161
82162 2005-05-29  Derek Price  <derek@ximbiot.com>
82163             Paul Eggert  <eggert@cs.ucla.edu>
82164
82165         * m4/glob.m4: New file.
82166
82167 2005-05-29  Derek Price  <derek@ximbiot.com>
82168             Paul Eggert  <eggert@cs.ucla.edu>
82169
82170         * lib/glob_.h, lib/glob.c: New files.
82171
82172 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
82173
82174         * modules/fts (Files): Remove m4/inttypes-pri.m4.
82175         * modules/fts-lgpl (Depends-on): Remove gettext.
82176
82177 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
82178
82179         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
82180         and don't require gt_INTTYPES_PRI.
82181
82182 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
82183
82184         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
82185
82186         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
82187         the configuration hassle isn't worth it.
82188         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
82189         (LONGEST_MODIFIER, PRIuMAX): Remove.
82190
82191 2005-05-27  Bruno Haible  <bruno@clisp.org>
82192
82193         * lib/getlogin_r.h: Remove second include of <stddef.h>.
82194
82195 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
82196
82197         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
82198         _POSIX_PTHREAD_SEMANTICS for Solaris.
82199
82200 2005-05-25  Derek Price  <derek@ximbiot.com>
82201
82202         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
82203
82204 2005-05-25  Derek Price  <derek@ximbiot.com>
82205             Paul Eggert  <eggert@cs.ucla.edu>
82206
82207         * modules/getlogin_r, m4/getlogin_r.m4: New files.
82208         * lib/getlogin_r.c, getlogin_r.h: New files.
82209
82210 2005-05-25  Bruno Haible  <bruno@clisp.org>
82211             Derek Price  <derek@ximbiot.com>
82212
82213         * lib/getlogin_r.h: Simplify API documentation.
82214
82215 2005-05-23  Derek Price  <derek@ximbiot.com>
82216
82217         * modules/minmax (Files): Add m4/minmax.m4.
82218         (configure.ac): Add gl_MINMAX.
82219
82220 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
82221
82222         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
82223         so that unistd-safer.h (GPL'ed code) need not be included.
82224
82225 2005-05-22  Bruno Haible  <bruno@clisp.org>
82226
82227         * m4/minmax.m4: New file.
82228         Based on a patch by Derek Price <derek@ximbiot.com>.
82229
82230 2005-05-22  Bruno Haible  <bruno@clisp.org>
82231
82232         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
82233         (INT64_MIN): Fix definition.
82234         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
82235
82236         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
82237         NEED_SIGNED_INT_TYPES.
82238
82239         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
82240         HAVE_SYSTEM_INTTYPES.
82241
82242 2005-05-22  Bruno Haible  <bruno@clisp.org>
82243
82244         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
82245         Also include <sys/param.h> if it defines MIN, MAX.
82246         Based on a patch by Derek Price <derek@ximbiot.com>.
82247
82248 2005-05-21  Jim Meyering  <jim@meyering.net>
82249
82250         * modules/fts (Files): Add m4/inttypes-pri.m4.
82251         (Depends-on): Add lstat and remove gettext.  Alphabetize.
82252
82253 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
82254
82255         New fts module.
82256         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
82257         (setup_dir, free_dir): New functions.
82258         (enter_dir, leave_dir): Define trivial
82259         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
82260         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
82261         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
82262         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
82263         Move to fts-cycle.c.
82264         (fts_open): Use setup_dir.
82265         (fts_close): Use free_dir.
82266         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
82267         This adds a label and some gotos, but the alternatives were messier.
82268         Check for memory allocation failure when entering a dir.
82269         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
82270         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
82271         (FTS): New member fts_cycle, that is a union that contains the
82272         old active_dir_ht and cycle_state.  All uses changed to mention
82273         fts_cycle.ht and fts_cycle.state.
82274         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
82275         fts.c, with the following changes:
82276         (setup_dir, free_dir): New functions.
82277         (enter_dir): Now returns bool.  Return true if successful, false
82278         if memory exhausted.  All callers changed.
82279         Do not bother partly cleaning up on
82280         memory allocation failure; that is free_dir's job.
82281         However, free ad if hash_insert fails, to avoid memory leak.
82282         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
82283         fts->fts_options to see which union member to use.
82284
82285 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
82286
82287         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
82288         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
82289
82290 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
82291
82292         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
82293
82294 2005-05-20  Jim Meyering  <jim@meyering.net>
82295
82296         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
82297         Now a macro, to pacify GCC.
82298
82299 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
82300
82301         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
82302         of -1.
82303
82304 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
82305
82306         * lib/chown.c (rpl_chown): Return -1 on failure.
82307
82308 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
82309
82310         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
82311         Don't check for stddef.h.
82312         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
82313         don't use its results.
82314         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
82315         since we include them unconditionally.  Don't require
82316         AM_STDBOOL_H, since stdbool is a prerequisite.
82317         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
82318         since we assume C89 or better.
82319         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
82320         as we don't use their results.
82321         Don't check for fchdir, memmove, memset, strrchr, as we use
82322         them unconditionally.
82323         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
82324         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
82325
82326 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
82327
82328         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
82329         Include <stddef.h> unconditionally, since we assume C89 now.
82330         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
82331         * lib/fts.c: Include fts_.h first, to check interface.
82332         Do not include intprops.h; no longer needed.
82333         Include cycle-check.h and hash.h, since fts_.h no longer does.
82334         Remove unnecessary casts of closedir to void.
82335         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
82336         decide whether to decrement nlinks.
82337         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
82338         (FTS): Use struct hash_table * instead of Hash_table, so that
82339         we no longer need to include hash.h here.
82340
82341 2005-05-18  Jim Meyering  <jim@meyering.net>
82342
82343         * modules/dirfd (License): Change to LGPL.  Most of the code
82344         is already in the public domain.
82345
82346 2005-05-18  Jim Meyering  <jim@meyering.net>
82347
82348         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
82349         Reported by Yoann Vandoorselaere.
82350
82351 2005-05-17  Jim Meyering  <jim@meyering.net>
82352
82353         * m4/fts.m4: New file, from coreutils.
82354
82355 2005-05-17  Jim Meyering  <jim@meyering.net>
82356
82357         * lib/fts.c, lib/fts_.h: New files, from coreutils.
82358
82359 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
82360
82361         Sync from coreutils.
82362         * m4/unlinkdir.m4: New file.
82363
82364 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
82365
82366         Sync from coreutils.
82367         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
82368         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
82369         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
82370         White space changes only.
82371         * lib/makepath.c (make_path): Port to hosts where leading "//" is
82372         special.
82373         * lib/yesno.c: Include getline.h, not ctype.h.
82374         (yesno): Don't remove leading white space; POSIX doesn't allow it.
82375         Use getline to remove arbitrary restriction on response length.
82376
82377 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
82378
82379         * config/srclist-update: Spell out "Street" in FSF postal
82380         mail address; this is the style the FSF seems to prefer.
82381
82382         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
82383         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
82384         this updates FSF postal mail address.
82385
82386         Sync from coreutils.
82387         * modules/unlinkdir: New file.
82388         * modules/yesno (Depends-on): Add getline.
82389         * MODULES.html.sh (File system functions): Add unlinkdir.
82390
82391 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
82392
82393         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
82394         lib/strsep.h:
82395         Change the initial comment to refer to GPL, not LGPL.
82396         gnulib-tool will change it to LGPL as needed.
82397
82398         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
82399         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
82400         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
82401         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
82402         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
82403         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
82404         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
82405         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
82406         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
82407         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
82408         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
82409         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
82410         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
82411         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
82412         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
82413         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
82414         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
82415         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
82416         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
82417         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
82418         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
82419         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
82420         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
82421         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
82422         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
82423         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
82424         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
82425         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
82426         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
82427         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
82428         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
82429         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
82430         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
82431         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
82432         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
82433         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
82434         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
82435         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
82436         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
82437         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
82438         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
82439         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
82440         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
82441         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
82442         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
82443         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
82444         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
82445         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
82446         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
82447         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
82448         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
82449         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
82450         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
82451         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
82452         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
82453         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
82454         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
82455         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
82456         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
82457         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
82458         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
82459         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
82460         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
82461         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
82462         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
82463         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
82464         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
82465         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
82466         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
82467         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
82468         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
82469         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
82470         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
82471         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
82472         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
82473         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
82474         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
82475         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
82476         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
82477         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
82478         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
82479         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
82480         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
82481         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
82482         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
82483         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
82484         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
82485         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
82486         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
82487         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
82488         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
82489         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
82490         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
82491         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
82492         lib/yesno.c, lib/yesno.h:
82493         Update FSF postal mail address.
82494
82495 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
82496
82497         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
82498         tests/test-memmem.c, tests/test-stpncpy.c:
82499         Update FSF postal mail address.
82500
82501 2005-05-13  Bruno Haible  <bruno@clisp.org>
82502
82503         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
82504         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
82505         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
82506         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
82507         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
82508         Add support for 64-bit integers in the MSVC compiler.
82509
82510 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82511
82512         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
82513
82514 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
82515
82516         * gnulib-tool (func_import): Sort and uniquify recommended includes.
82517
82518 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
82519
82520         * doc/getdate.texi (General date syntax): Don't say that date
82521         date --iso-8601=ns generates acceptable dates; it doesn't yet.
82522         Problem reported by Nic Ferrier.
82523
82524 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
82525
82526         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
82527         specified in ai_socktype. Fix invalid ai_protocol
82528         check. ai_protocol is usually set to 0 or depending on
82529         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
82530         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
82531         ai_socktype / ai_protocol in the returned addrinfo structure.
82532
82533 2005-05-10  Simon Josefsson  <jas@extundo.com>
82534
82535         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
82536         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
82537
82538 2005-05-10  Karl Berry  <karl@gnu.org>
82539
82540         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
82541         (from http://www.gnu.org/licenses).
82542         * doc/COPYING.LIB: also rename to COPYING.LESSER.
82543         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
82544         fdl.texi suffices.
82545
82546 2005-05-10  Karl Berry  <karl@gnu.org>
82547
82548         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
82549         (COPYING.DOC): remove.
82550
82551         * config/srclist-update: new FSF address.
82552
82553 2005-05-10  Derek Price  <derek@ximbiot.com>
82554
82555         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
82556         possible.
82557
82558 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
82559             Bruno Haible  <bruno@clisp.org>
82560
82561         * modules/inet_ntop: New file.
82562         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
82563         inet_ntop.
82564
82565 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
82566             Bruno Haible  <bruno@clisp.org>
82567
82568         * m4/inet_ntop.m4: New file.
82569
82570 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
82571             Bruno Haible  <bruno@clisp.org>
82572
82573         * lib/inet_ntop.h: New file.
82574         * lib/inet_ntop.c: New file, from glibc with modifications.
82575
82576 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
82577
82578         * modules/time_r (License): Change to LGPL.
82579         * modules/extensions (License): Change to LGPL.  Actually,
82580         the license is more permissive than that, but currently gnulib-tool
82581         doesn't know how to handle more-permissive licenses.
82582
82583         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
82584         Problem reported by Dave Love.
82585
82586 2005-05-08  Jim Meyering  <jim@meyering.net>
82587
82588         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
82589         blank.
82590
82591 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
82592
82593         * modules/argmatch (Depends-on): Add stdbool.
82594         * modules/backupfile (Depends-on): Likewise.
82595         * modules/chdir-long (Depends-on): Likewise.
82596         * modules/closeout (Depends-on): Likewise.
82597         * modules/cycle-check (Depends-on): Likewise.
82598         * modules/dirname (Depends-on): Likewise.
82599         * modules/fnmatch (Depends-on): Likewise.
82600         * modules/fsusage (Depends-on): Likewise.
82601         * modules/fwriteerror (Depends-on): Likewise.
82602         * modules/getcwd (Depends-on): Likewise.
82603         * modules/getloadavg (Depends-on): Likewise.
82604         * modules/hard-locale (Depends-on): Likewise.
82605         * modules/makepath (Depends-on): Likewise.
82606         * modules/mountlist (Depends-on): Likewise.
82607         * modules/nanosleep (Depends-on): Likewise.
82608         * modules/posixtm (Depends-on): Likewise.
82609         * modules/quotearg (Depends-on): Likewise.
82610         * modules/readtokens (Depends-on): Likewise.
82611         * modules/readtokens0 (Depends-on): Likewise.
82612         * modules/readutmp (Depends-on): Likewise.
82613         * modules/save-cwd (Depends-on): Likewise.
82614         * modules/strftime (Depends-on): Likewise.
82615         * modules/userspec (Depends-on): Likewise.
82616         * modules/utimecmp (Depends-on): Likewise.
82617         * modules/xgetcwd (Depends-on): Likewise.
82618         * modules/xnanosleep (Depends-on): Likewise.
82619         * modules/xstrtod (Depends-on): Likewise.
82620         * modules/yesno (Depends-on): Likewise.
82621
82622 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
82623
82624         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
82625         needless checks.
82626
82627 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
82628
82629         Merge from coreutils.  Among other things,
82630         add bulletproofing for cases where stdin, stdout, or stderr are closed.
82631         * lib/fd-safer.c: New file.
82632         * lib/fcntl-safer.h, open-safer.c: Remove.
82633         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
82634         * lib/dup-safer.c: Include unistd-safer.h first.
82635         Don't include errno.h.
82636         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
82637         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
82638         * lib/file-type.c: Rely on file-type.h change.
82639         * lib/getloadavg.c: Include unistd-safer.h.
82640         (getloadavg): Use safer open.
82641         * lib/getusershell.c: Include "stdio-safer.h".
82642         (getusershell): Use safer fopen.
82643         * lib/long-options.c (long_options): Use NULL rather than 0.
82644         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
82645         'free'.
82646         * lib/modechange.c: Likewise.
82647         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
82648         (MODE_DONE): New constant.
82649         (struct mode_change): Remove 'next' member.
82650         (make_node_op_equals): New function; like the old one of the
82651         same name, except it allocates an array.
82652         (mode_compile, mode_create_from_ref): Use it.
82653         (mode_compile): Allocate result as an array, not a linked list.
82654         Parse octal string ourself, so that we catch mistakes like "+0".
82655         (mode_adjust): Arg is an array, not a linked list.
82656         * lib/modechange.c: Include stat-macros.h, xalloc.h.
82657         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
82658         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
82659         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
82660         Remove.  This is now stat-macros.h's job.
82661         (talloc): Remove.  All callers replaced by xalloc, so that
82662         our invokers don't have to worry about reporting memory failures.
82663         (make_node_op_equals): Remove.
82664         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
82665         New constants.
82666         (struct mode_change): Moved here from modechange.h.
82667         (mode_append_entry): Remove.
82668         (mode_compile): Remove MASKED_OPS arg, since it encouraged
82669         apps to have incorrect behavior.  Use simpler algorithm for head
82670         and tail.  Don't futz with umask; that's now the job of mode_adjust.
82671         Detect more invalid usages rather than having somewhat-random behavior.
82672         Don't insert an "a=" action, as that leads to incorrect behavior.
82673         (mode_compile, mode_create_from_ref): Return NULL on error instead
82674         of an enum, since now there's only one way to have an error.  All
82675         callers changed.
82676         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
82677         at the correct time.  Simplify calculation of "+u" and its ilk.
82678         Don't mishandle "+X".
82679         (mode_free): Remove "register" and localize decls.
82680         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
82681         (struct mode_change): Move to modechange.c; callers don't
82682         need to see this stuff.
82683         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
82684         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
82685         (mode_change, mode_adjust): Reflect the new signatures noted above.
82686         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
82687         that might redefine system include files.
82688         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
82689         (my_usleep): Use NULL rather than (void *) 0.
82690         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
82691         Use siginterrupt to specify that system calls should be interrupted.
82692         (rpl_nanosleep): Move initialization of suspended closer to call of
82693         my_usleep.
82694         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
82695         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
82696         (desirable_utmp_entry): New function.
82697         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
82698         using x2nrealloc, to simplify logic.
82699         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
82700         size calculation.  Do not assume utmp file is a regular file.
82701         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
82702         (READ_UTMP_CHECK_PIDS): New constant.
82703         * lib/save-cwd.c: Include unistd-safer.h.
82704         (save_cwd): Use fd_safer.
82705         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
82706         [!_LIBC] Include "stat-macros.h" instead.
82707         * lib/unistd-safer.h (fd_safer): New decl.
82708
82709 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
82710
82711         * modules/getloadavg (Depends-on): Add unistd-safer.
82712         * modules/getusershell (Depends-on): Add stdio-safer.
82713         * modules/lstat (Depends-on): Remove xalloc.
82714         * modules/mkstemp (Depends-on): Add stat-macros.
82715         * modules/modechange (Depends-on): Remove xstrtol.
82716         Add stat-macros, xalloc.
82717         * modules/save-cwd (Depends-on): Add unistd-safer.
82718         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
82719         * modules/unistd-safer (Files): Add lib/fd-safer.c
82720         (Makefile.am): Remove lib_SOURCES.
82721
82722         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
82723         Remove fcntl-safer; unistd-safer supersedes it.
82724
82725 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
82726
82727         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
82728         AC_HEADER_STAT.
82729         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
82730         (gl_PREREQ_CHOWN): Remove.
82731         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
82732         it.  Don't require AC_HEADER_STAT.
82733         (gl_PREREQ_LSTAT): Remove.
82734         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
82735         Don't require AC_HEADER_STAT.
82736         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
82737         (gl_PREREQ_RMDIR): Remove.
82738         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
82739         mention stat-macros.h or AC_HEADER_STAT, since we'll make
82740         the stat-macros module a prerequisite.
82741         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
82742         * m4/filemode.m4 (gl_FILEMODE): Likewise.
82743         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
82744         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
82745         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
82746         variable names.
82747         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
82748         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
82749         variable prefixes.
82750         * m4/fcntl-safer.m4: Remove.
82751         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
82752         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
82753         Invoke gl_PREREQ_FD_SAFER.
82754         (gl_PREREQ_FD_SAFER): New macro.
82755         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
82756         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
82757         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
82758         Remove duplicate call to AC_LIBOBJ(readutmp).
82759         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
82760
82761         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
82762         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
82763
82764 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
82765
82766         * MODULES.html.sh (Misc): Add byteswap.
82767
82768 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
82769
82770         * modules/getcwd (Depends-on): Add extensions.
82771         * modules/openat (Depends-on): Likewise.
82772
82773 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
82774
82775         * modules/byteswap: New file.
82776
82777 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
82778
82779         * m4/byteswap.m4: New file.
82780
82781 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
82782
82783         * lib/byteswap_.h: New file.
82784
82785 2005-04-25  Karl Berry  <karl@gnu.org>
82786
82787         * m4/gettext.m4: Update from GNU gettext 0.14.4.
82788
82789 2005-04-25  Albert Chin  <china@thewrittenword.com>
82790
82791         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
82792         Toolkit C bug.
82793
82794 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
82795
82796         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
82797         (func_ln_if_changed): Remove forcibly for no error message
82798         in case file does not exist.
82799
82800 2005-04-19  Simon Josefsson  <jas@extundo.com>
82801
82802         * gnulib-tool (Options): Make --symlink mean --symbolic.
82803
82804 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
82805
82806         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
82807
82808 2005-04-16  Simon Josefsson  <jas@extundo.com>
82809
82810         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
82811
82812 2005-04-15  Simon Josefsson  <jas@extundo.com>
82813
82814         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
82815
82816 2005-04-15  Simon Josefsson  <jas@extundo.com>
82817
82818         * gnulib-tool: Rename --symlink to --symbolic.
82819
82820 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
82821
82822         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
82823         symbolic links to files instead of copying/moving.  Add --aux-dir,
82824         specifying directory relative --dir where auxiliary build tools
82825         are placed.
82826
82827 2005-04-14  Bruno Haible  <bruno@clisp.org>
82828
82829         * modules/allocsa (License): Change to LGPL.
82830         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
82831
82832 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
82833
82834         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
82835         that "UTC +1 second" continues to work.  Problem reported
82836         by Dmitry V. Levin.
82837         (relunit_snumber): New rule.
82838         (relunit): Use it.
82839
82840 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
82841
82842         * lib/getdate.y (universal_time_zone_table): New constant.
82843         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
82844         universal_time_zone_table.
82845         (lookup_zone): Prefer universal_time_zone_table to
82846         local_time_zone_table, so that "GMT" time stamps are allowed in
82847         London during the summer.  Problem reported by Ian Abbott.
82848
82849 2005-04-12  Jim Meyering  <jim@meyering.net>
82850
82851         * lib/human.c (humblock): Set *options even when returning due to
82852         xstrtoumax conversion failure.  Thanks to a used-uninitialized
82853         warning from gcc-4.
82854
82855 2005-04-09  Jim Meyering  <jim@meyering.net>
82856
82857         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
82858         -Wuninitialized: initialize tm0.tm_year.
82859
82860 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
82861
82862         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
82863         count, since there's no maximum.  All uses changed.
82864         Add member dsts_seen.
82865         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
82866         not being INT_MAX.
82867         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
82868         Use pc_rels_seen to decide whther a date is absolute.
82869
82870         * lib/getdate.y (number): Don't overwrite year.
82871         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
82872         check.
82873
82874 2005-04-02  Simon Josefsson  <jas@extundo.com>
82875
82876         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
82877         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
82878
82879 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
82880
82881         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
82882         where no absolute path name can be longer than PATH_MAX.
82883
82884 2005-03-27  Jim Meyering  <jim@meyering.net>
82885
82886         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
82887
82888 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
82889
82890         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
82891         "one's complement" -> "ones' complement" in comment, as per Knuth.
82892         "value of type" -> "type or expression" in comment.
82893         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
82894
82895 2005-03-26  Jim Meyering  <jim@meyering.net>
82896
82897         Comment nits.
82898         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
82899         Correct typos: s/or/of/.
82900
82901 2005-03-26  Jim Meyering  <jim@meyering.net>
82902
82903         * modules/check-include-files: Move to ../ and rename to...
82904         * check-module: ...this.
82905
82906 2005-03-25  Jim Meyering  <jim@meyering.net>
82907
82908         * modules/xvasprintf (Files): Add xalloc.h.
82909
82910 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
82911
82912         * modules/gettext (Files): config/config.rpath ->
82913         build-aux/config.rpath
82914         * modules/iconv (Files): Likewise.
82915         Problem reported by Oskar Liljeblad.
82916
82917 2005-03-23  Jim Meyering  <jim@meyering.net>
82918
82919         * modules/check-include-files: New script to check for
82920         missing dependencies, multiple includes, etc.
82921
82922         * modules/c-strtold (Depends-on): Add xalloc.
82923         * modules/c-strtod (Depends-on): Add xalloc.
82924         * modules/hash (Depends-on): Add xalloc.
82925         (Files): Remove lib/xalloc.h.
82926
82927         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
82928         * modules/userspec (Files): Add lib/inttostr.h.
82929
82930 2005-03-23  Jim Meyering  <jim@meyering.net>
82931
82932         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
82933
82934 2005-03-22  Jim Meyering  <jim@meyering.net>
82935
82936         * modules/stat-macros: New module.
82937         * modules/canonicalize, modules/euidaccess, modules/file-type,
82938         * modules/filemode, modules/lchown, modules/makepath,
82939         * modules/rmdir, modules/stat: Depend on new stat-macros module
82940         rather than listing lib/stat-macros.h manually.
82941         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
82942
82943 2005-03-22  Jim Meyering  <jim@meyering.net>
82944
82945         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
82946
82947 2005-03-22  Bruno Haible  <bruno@clisp.org>
82948
82949         * config/srclist.txt: Replace target directory 'config' with
82950         'build-aux'.
82951         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
82952         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
82953         ../build-aux/.
82954
82955 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
82956
82957         * modules/chdir-long (Depends-on): Add mempcpy.
82958
82959         * modules/acl, modules/backupfile, modules/c-strtod,
82960         modules/c-strtold, modules/canon-host, modules/canonicalize,
82961         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
82962         modules/exclude, modules/exitfail, modules/file-type,
82963         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
82964         modules/getdate, modules/getline, modules/getpagesize,
82965         modules/getpass, modules/getugroups, modules/group-member,
82966         modules/hard-locale, modules/hash, modules/human, modules/idcache,
82967         modules/inttostr, modules/long-options, modules/makepath,
82968         modules/md5, modules/memcasecmp, modules/memcoll,
82969         modules/modechange, modules/mountlist, modules/path-concat,
82970         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
82971         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
82972         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
82973         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
82974         modules/strftime, modules/strndup, modules/strverscmp,
82975         modules/timespec, modules/unlocked-io, modules/userspec,
82976         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
82977         modules/yesno:
82978         Remove lib_SOURCES line from Makefile.am section, as this is now
82979         done automatically by the corresponding Autoconf macro.
82980
82981 2005-03-21  Jim Meyering  <jim@meyering.net>
82982
82983         Changes imported from coreutils.
82984
82985         * lib/cycle-check.c: Don't include xalloc.h.
82986
82987         * lib/path-concat.c: Don't include assert.h.
82988         (path_concat): Remove assertion that would have triggered
82989         for ABASE starting with more than one slash.
82990         Reported by Andreas Schwab.
82991
82992         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
82993         properly when ABASE is an absolute file name.
82994         Correct the description of this function.
82995         Include <assert.h>.
82996         Add an assertion and a test driver.
82997         This fixes a bug introduced on 2004-07-02.
82998         Andreas Schwab reported the resulting failure of cp --parents:
82999         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
83000
83001 2005-03-21  Jim Meyering  <jim@meyering.net>
83002
83003         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
83004         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
83005
83006 2005-03-21  Jim Meyering  <jim@meyering.net>
83007         and  Paul Eggert  <eggert@cs.ucla.edu>
83008
83009         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
83010         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
83011         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
83012         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
83013         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
83014         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
83015         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
83016         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
83017         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
83018         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
83019         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
83020         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
83021         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
83022         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
83023         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
83024         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
83025         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
83026         for these modules.
83027
83028 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
83029
83030         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
83031         (which shouldn't happen), generate nothing instead of returning 0
83032         immediately, so that nstrftime (NULL, ...) doesn't return 0.
83033
83034 2005-03-16  Bruno Haible  <bruno@clisp.org>
83035
83036         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
83037         HAVE_LONGLONG_64BIT.
83038
83039 2005-03-16  Bruno Haible  <bruno@clisp.org>
83040
83041         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
83042         HAVE_LONGLONG_64BIT.
83043
83044 2005-03-16  Bruno Haible  <bruno@clisp.org>
83045
83046         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
83047         HAVE_LONGLONG_64BIT.
83048
83049 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
83050
83051         * lib/strftime.c (my_strftime): Prepend space to format so that we can
83052         reliably distinguish strftime failure from empty output on POSIX
83053         hosts.
83054
83055 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
83056
83057         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
83058         (iconv_string): Don't guess a size-zero buffer, as that might cause
83059         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
83060         result would be 'too large', where 'too large' is (heuristically)
83061         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
83062         overflow concerns.  This will prevent some unwanted malloc failures
83063         when the inputs are very large.
83064
83065 2005-03-15  Karl Berry  <karl@gnu.org>
83066
83067         * config/srclist.txt (config.rpath): from gettext.
83068         * config/config.rpath: update.
83069
83070 2005-03-15  Bruno Haible  <bruno@clisp.org>
83071
83072         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
83073         to 'negate'.
83074
83075         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
83076         variable.
83077
83078         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
83079         results.
83080
83081 2005-03-14  Simon Josefsson  <jas@extundo.com>
83082
83083         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
83084         <fx@gnu.org>.
83085
83086 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
83087
83088         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
83089         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
83090         intprops.h.
83091         * lib/strtol.c: Likewise.
83092
83093 2005-03-14  Jim Meyering  <jim@meyering.net>
83094
83095         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
83096         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
83097         to be nonzero so that we (and caller) can detect the difference
83098         between a valid zero-length expansion and an error return, even
83099         when the underlying strftime fails before writing anything into
83100         that location.
83101
83102 2005-03-14  Bruno Haible  <bruno@clisp.org>
83103
83104         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
83105         Update from GNU gettext 0.14.3.
83106
83107 2005-03-10  Jim Meyering  <jim@meyering.net>
83108
83109         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
83110
83111 2005-03-10  Jim Meyering  <jim@meyering.net>
83112
83113         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
83114         so that this module works on systems without fchdir.
83115
83116 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
83117
83118         Factor int-properties macros into a single file, except for
83119         glibc-related files.
83120         * lib/intprops.h: New file.
83121         * lib/getloadavg.c: Include it instead of limits.h.
83122         (INT_STRLEN_BOUND): Remove.
83123         * lib/human.c: Include intprops.h.
83124         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
83125         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
83126         302/1000.
83127         * lib/inttostr.h: Include intprops.h instead of limits.h.
83128         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
83129         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
83130         for consistency with intprops.h.
83131         (time_t_is_integer, twos_complement_arithmetic): Use them.
83132         * lib/sig2str.h: Include <signal.h>, intprops.h.
83133         (INT_STRLEN_BOUND): Remove.
83134         * lib/strftime.c (TYPE_SIGNED): Remove.
83135         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
83136         * lib/strtol.c: Adjust comments to match intprops.h.
83137         * lib/userspec.c: Include intprops.h.
83138         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
83139         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
83140         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
83141         instead of rolling our own expressions.
83142         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
83143
83144         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
83145         instead of int.
83146         (my_strftime): Do not mishandle years close to INT_MAX, by doing
83147         the right thing even if adding 1900 would overflow.  Similarly
83148         for tm_mon + 1 and tm_yday + 1.
83149         Make %Y always equivalent to %C%y, and similarly for %G and %g.
83150         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
83151         (DO_SIGNED_NUMBER): New macro.
83152         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
83153
83154 2005-03-07  Bruno Haible  <bruno@clisp.org>
83155
83156         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
83157
83158 2005-03-07  Bruno Haible  <bruno@clisp.org>
83159
83160         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
83161
83162 2005-03-04  Derek R. Price  <derek@ximbiot.com>
83163
83164         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
83165         (func_import): Only replace files via --import when they have actually
83166         changed.
83167
83168 2005-03-03  Derek R. Price  <derek@ximbiot.com>
83169
83170         * m4/mmap-anon.m4: New file.
83171         * m4/pagealign_alloc.m4: New file.
83172
83173 2005-03-03  Derek R. Price  <derek@ximbiot.com>
83174             Bruno Haible  <bruno@clisp.org>
83175
83176         * modules/pagealign_alloc: New file.
83177         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
83178
83179 2005-03-03  Derek R. Price  <derek@ximbiot.com>
83180             Bruno Haible  <bruno@clisp.org>
83181
83182         * lib/pagealign_alloc.h: New file.
83183         * lib/pagealign_alloc.c: New file.
83184
83185 2005-03-03  Bruno Haible  <bruno@clisp.org>
83186
83187         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
83188         Use an all-permissive copyright notice, recommended by RMS.
83189
83190 2005-03-02  Bruno Haible  <bruno@clisp.org>
83191
83192         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
83193         of AIX, the replacement has to be done only after <string.h> is
83194         included, therefore not in config.h. stpncpy.h does the replacement,
83195         and stpncpy.c uses it.
83196
83197 2005-03-02  Bruno Haible  <bruno@clisp.org>
83198
83199         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
83200         stpncpy.c uses it.
83201
83202 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
83203
83204         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
83205         The workaround isn't strictly needed for POSIX conformance, and
83206         it's too much of a pain to configure and maintain.  We'll ask
83207         people to fix their kernels instead.
83208         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
83209         (NANOSLEEP_BUG_WORKAROUND): Remove.
83210         (xnanosleep): Remove the workaround.
83211
83212 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
83213
83214         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
83215         Reported by Derek Price.
83216         (Include): Add "timespec.h".
83217
83218         * modules/xnanosleep (Depends-on): Remove gethrxtime.
83219
83220 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
83221
83222         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
83223         to detect nanosleep bug.
83224
83225 2005-03-01  Bruno Haible  <bruno@clisp.org>
83226
83227         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
83228
83229 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
83230
83231         * modules/gethrxtime: New file.
83232         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
83233         (Depends-on): Add gethrxtime.
83234         (configure.ac): Add gl_XNANOSLEEP.
83235         (Makefile.am): Remove lib_SOURCES line.
83236
83237 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
83238
83239         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
83240         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
83241
83242 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
83243
83244         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
83245         * lib/timespec.h (gettime): Return void, since it always
83246         succeeds now.  All uses changed.
83247         * lib/gettime.c (gettime): Likewise.
83248         [HAVE_NANOTIME]: Prefer nanotime.
83249         Assume gettimeofday succeeds, as POSIX requires.
83250         Assime time () succeeds, since other code already does.
83251         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
83252         (timespec_subtract): Remove.
83253         (NANOSLEEP_BUG_WORKAROUND): New constant.
83254         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
83255         things considerably.  Use it only on GNU/Linux hosts, since the
83256         workaround shouldn't be needed elsewhere.
83257
83258 2005-02-24  Bruno Haible  <bruno@clisp.org>
83259
83260         * modules/gettext (Files): Add m4/glibc2.m4.
83261
83262 2005-02-24  Bruno Haible  <bruno@clisp.org>
83263
83264         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
83265         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
83266         * m4/progtest.m4:
83267         Update from GNU gettext 0.14.2.
83268         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
83269
83270 2005-02-24  Bruno Haible  <bruno@clisp.org>
83271
83272         * lib/localcharset.c: Update from GNU gettext 0.14.2.
83273         * lib/config.charset: Update from GNU gettext 0.14.2.
83274
83275 2005-02-24  Bruno Haible  <bruno@clisp.org>
83276
83277         * lib/gettext.h: Update from GNU gettext 0.14.2.
83278
83279 2005-02-23  Simon Josefsson  <jas@extundo.com>
83280
83281         * m4/iconvme.m4: New file.
83282
83283 2005-02-23  Jim Meyering  <jim@meyering.net>
83284
83285         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
83286         change.
83287         Thanks to Bruno Haible for catching it.
83288
83289 2005-02-22  Simon Josefsson  <jas@extundo.com>
83290
83291         * modules/iconvme: New file.
83292
83293         * MODULES.html.sh: Add iconvme.
83294
83295 2005-02-22  Simon Josefsson  <jas@extundo.com>
83296
83297         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
83298
83299 2005-02-22  Simon Josefsson  <jas@extundo.com>
83300
83301         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
83302
83303 2005-02-22  Jim Meyering  <jim@meyering.net>
83304
83305         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
83306         s/ifndef/ifdef/.
83307
83308 2005-02-20  Neil Conway  <neilc@samurai.com>
83309
83310         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
83311         returned by OSX/Darwin if the specified buffer is not large
83312         enough for the hostname.
83313
83314 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83315
83316         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
83317         pass it to _help, otherwise the latter coredumps trying to
83318         dereference state.root_argp.
83319
83320 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
83321
83322         * modules/chdir-long (Depends-on): Add memrchr.
83323         * modules/memrchr (Files): Add lib/memrchr.h.
83324         (Include): "memrchr.h".
83325
83326 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
83327
83328         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
83329
83330 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
83331
83332         * lib/memrchr.h: New file.
83333         * lib/chdir-long.c: Include it.
83334         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
83335         Don't bother including stddef.h.
83336
83337 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
83338
83339         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
83340         inclusion.
83341         Include <sys/types.h>, for dev_t.
83342         (ME_DUMMY, ME_REMOTE): Move from here....
83343         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
83344         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
83345         Dmitry V. Levin.
83346         Include mountlist.h first, to test the interface.
83347
83348 2005-01-29  Bruno Haible  <bruno@clisp.org>
83349
83350         * lib/progname.c (program_name): Initialize.
83351         Needed when linking statically on MacOS X.
83352
83353 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
83354
83355         Sync from coreutils.
83356         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
83357         (Depends-on): Add c-strtod.
83358         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
83359
83360 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
83361
83362         Sync from coreutils.
83363         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
83364
83365         Remove files that are specific to coreutils.
83366         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
83367
83368 2005-01-28  Bruno Haible  <bruno@clisp.org>
83369
83370         * modules/javacomp: New file.
83371         * MODULES.html.sh (Java): Add javacomp.
83372
83373 2005-01-28  Bruno Haible  <bruno@clisp.org>
83374
83375         * m4/javacomp.m4: New file, from GNU gettext.
83376
83377 2005-01-28  Bruno Haible  <bruno@clisp.org>
83378
83379         * lib/javacomp.sh.in: New file, from GNU gettext.
83380         * lib/javacomp.h: New file, from GNU gettext.
83381         * lib/javacomp.c: New file, from GNU gettext.
83382
83383 2005-01-26  Simon Josefsson  <jas@extundo.com>
83384
83385         * lib/gai_strerror.c: Use GPL in header.
83386
83387 2005-01-26  Bruno Haible  <bruno@clisp.org>
83388
83389         * modules/javaexec: New file.
83390         * MODULES.html.sh (Java): Add javaexec.
83391
83392 2005-01-26  Bruno Haible  <bruno@clisp.org>
83393
83394         * m4/javaexec.m4: New file, from GNU gettext.
83395
83396 2005-01-26  Bruno Haible  <bruno@clisp.org>
83397
83398         * lib/javaexec.sh.in: New file, from GNU gettext.
83399         * lib/javaexec.h: New file, from GNU gettext.
83400         * lib/javaexec.c: New file, from GNU gettext.
83401
83402 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83403
83404         * modules/lchown (Depends-on): Remove lchown.h
83405
83406 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83407
83408         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
83409         must be defined if the header file was not found, in order
83410         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
83411
83412 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83413
83414         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
83415         initializers for struct pentry_state.
83416         (__argp_error): Check return value of __asprintf
83417         (__argp_failure): Translate error message
83418
83419         * lib/argp-parse.c: Removed braces around the expansion of N_()
83420
83421 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
83422
83423         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
83424         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
83425         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
83426         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
83427         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
83428         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
83429         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
83430         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
83431         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
83432         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
83433         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
83434         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
83435         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
83436         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
83437         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
83438         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
83439         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
83440         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
83441         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
83442         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
83443         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
83444         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
83445         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
83446         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
83447         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
83448         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
83449         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
83450         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
83451         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
83452         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
83453         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
83454         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
83455         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
83456         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
83457         xstrtol.m4, xstrtoumax.m4, yesno.m4:
83458         Use an all-permissive copyright notice, recommended by RMS.
83459
83460 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
83461
83462         * modules/chdir-long (Depends-on): Remove mempcpy.
83463
83464 2005-01-21  Jim Meyering  <jim@meyering.net>
83465
83466         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
83467         same value as for Solaris 9.
83468
83469         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
83470         component length.  This included changing the parameter to be
83471         of type `char *' rather than `char const *'.
83472         * lib/chdir-long.h (chdir_long): Update prototype.
83473
83474         * lib/openat.c (fdopendir, fstatat): New functions.
83475         * lib/openat.h: Include headers required for use of DIR and struct
83476         stat.
83477         [AT_SYMLINK_NOFOLLOW]: Define.
83478         (fdopendir, fstatat): Add prototypes.
83479
83480 2005-01-21  Bruno Haible  <bruno@clisp.org>
83481
83482         * modules/classpath: New file.
83483         * MODULES.html.sh (Java): Add classpath.
83484
83485 2005-01-21  Bruno Haible  <bruno@clisp.org>
83486
83487         * lib/classpath.h: New file, from GNU gettext.
83488         * lib/classpath.c: New file, from GNU gettext.
83489
83490 2005-01-20  Simon Josefsson  <jas@extundo.com>
83491
83492         * modules/version-etc-fsf: New file.
83493
83494 2005-01-20  Simon Josefsson  <jas@extundo.com>
83495
83496         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
83497         * lib/version-etc.c: Remove version_etc_copyright.
83498         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
83499         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
83500
83501 2005-01-20  Simon Josefsson  <jas@extundo.com>
83502
83503         * lib/base64.h (isbase64): Add.
83504
83505         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
83506         using a unsigned prototype, don't inline.
83507         (base64_decode): Use it.
83508
83509 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
83510
83511         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
83512         it.
83513
83514 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
83515
83516         * lib/save-cwd.c (save_cwd): Remove code to support the case
83517         where fchdir is missing or flaky.
83518
83519 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
83520
83521         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
83522
83523 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
83524
83525         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
83526         AC_LIBSOURCES now does this.
83527         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
83528         with new ullong_max module.
83529
83530 2005-01-19  Bruno Haible  <bruno@clisp.org>
83531
83532         * modules/sh-quote: New file.
83533         * MODULES.html.sh (Executing programs): Add sh-quote.
83534
83535 2005-01-19  Bruno Haible  <bruno@clisp.org>
83536
83537         * lib/sh-quote.h: New file, from GNU gettext.
83538         * lib/sh-quote.c: New file, from GNU gettext.
83539
83540 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
83541
83542         Merge from coreutils.
83543         * m4/ullong_max.m4: New file.
83544         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
83545         (gl_MACROS): Assume localeconv exists.
83546
83547 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
83548
83549         Merge changes from coreutils, as described below in several
83550         changelogs dated today.
83551
83552         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
83553         (O_DIRECTORY): Remove; not needed here, since "." must be
83554         a directory.  All uses removed.
83555         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
83556         universal on Suns, and we also need to test for IRIX.
83557         Revamp code to use 'if' rather than '#if'.
83558         Avoid unnecessary comparison of cwd->desc to 0.
83559
83560         * lib/utimens.c (futimens): Robustify the previous patch, by checking
83561         for known valid error numbers rather than observed invalid ones.
83562
83563 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
83564
83565         * modules/ullong_max: New file.
83566
83567         * modules/chdir-long, modules/openat: New files.
83568         * modules/save-cwd (Depends-on): Depend on chdir-long.
83569         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
83570
83571 2005-01-18  Jim Meyering  <jim@meyering.net>
83572
83573         Merge from coreutils.
83574         * m4/chdir-long.m4, m4/openat.m4: New files.
83575         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
83576         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
83577         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
83578         is sane and DOES follow symlinks.  Besides, testing 20 different
83579         systems found no broken chown implementations.
83580         Prompted by a change in rsync's copy of this macro.
83581         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
83582
83583         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
83584
83585         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
83586         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
83587         NULL-means-set-to-current-time semantics.
83588         Remove temporary file immediately, rather than waiting
83589         for configure's at-exit trap code to do it.
83590
83591 2005-01-18  Jim Meyering  <jim@meyering.net>
83592
83593         * lib/version-etc.c (version_etc_copyright): Update copyright date.
83594
83595         * lib/utimens.c (futimens): Account for the fact that futimes
83596         can also fail with errno == ENOSYS or errno == ENOENT.
83597         Patch from Dmitry V. Levin.
83598
83599         Change the name of the robust chdir function from chdir to chdir_long.
83600         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
83601         (restore_cwd): Use chdir_long, not chdir.
83602         * lib/chdir-long.c: Renamed from chdir.c.
83603         * lib/chdir-long.h: Renamed from chdir.h.
83604         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
83605         Hurd.
83606
83607 2005-01-18  Bruno Haible  <bruno@clisp.org>
83608
83609         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
83610         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
83611         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
83612         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
83613         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
83614         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
83615         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
83616         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
83617         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
83618         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
83619         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
83620         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
83621         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
83622         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
83623         Use an all-permissive copyright notice, recommended by RMS.
83624
83625 2005-01-18  Bob Proulx  <bob@proulx.com>
83626
83627         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
83628         simplify offsetof() macro construct to avoid compile failure with
83629         native HP-UX 11.0 ANSI C compiler.
83630
83631 2005-01-17  Bruno Haible  <bruno@clisp.org>
83632
83633         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
83634         redundant because stpncpy.m4 takes care of it.
83635
83636 2005-01-17  Bruno Haible  <bruno@clisp.org>
83637
83638         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
83639
83640 2005-01-17  Bruno Haible  <bruno@clisp.org>
83641
83642         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
83643         used.
83644
83645 2005-01-17  Bruno Haible  <bruno@clisp.org>
83646
83647         * lib/fwriteerror.h (fwriteerror): Change specification to include
83648         fclose.
83649         * lib/fwriteerror.c: Include <stdbool.h>.
83650         (fwriteerror): At the end, close the file stream. Record whether
83651         stdout was already closed.
83652
83653 2005-01-17  Bruno Haible  <bruno@clisp.org>
83654
83655         * lib/execute.c (environ): Declare if needed.
83656         * lib/pipe.c (environ): Likewise.
83657         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
83658
83659 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83660
83661         * modules/argp: Depend on vsnprintf
83662
83663 2005-01-10  Jim Meyering  <jim@meyering.net>
83664
83665         * modules/closeout (Depends-on): Add atexit.
83666
83667 2005-01-06  Bruno Haible  <bruno@clisp.org>
83668
83669         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
83670
83671 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
83672
83673         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
83674         definitions to be after all include files, to avoid collisions.
83675         Problem reported by Bob Proulx.
83676
83677 2005-01-04  Jim Meyering  <jim@meyering.net>
83678
83679         Changes imported from coreutils.
83680         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
83681         as the mkstemp template, use a temporary directory and an
83682         8.3-friendly template to avoid trouble on systems like DJGPP.
83683         Reported by Juan M. Guerrero via Stepan Kasal.
83684         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
83685         close. Remove the temporary directory right away, rather than waiting
83686         for configure's at-exit trap code to do it.
83687         Suggestion from Stepan Kasal.
83688
83689 2005-01-01  Simon Josefsson  <jas@extundo.com>
83690
83691         * gnulib-tool: Print #include directives when --import'ing.
83692
83693 2004-12-28  Simon Josefsson  <jas@extundo.com>
83694
83695         * tests/test-base64.c: Include required header files.  Remove
83696         unused variables.
83697
83698 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
83699
83700         * modules/error (Depends-on): Remove gettext.
83701
83702 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
83703
83704         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
83705         not needed.  This removes a dependency on the gettext module.
83706         [defined _LIBC]: Do not include <libintl.h>; not needed.
83707
83708 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
83709
83710         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
83711         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
83712
83713 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
83714
83715         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
83716         HAVE_DECL_STRTOLD.
83717
83718 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
83719
83720         * modules/getdate (Depends-on): Remove alloca-opt.
83721
83722 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
83723
83724         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
83725
83726 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
83727
83728         * lib/argp-parse.c: Include <stddef.h>.
83729         (alignof, alignto): New macros.
83730         (parser_init): Don't assume that void * is aligned sufficiently
83731         for struct option.
83732
83733         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
83734         need to extend the stack.
83735         (YYINITDEPTH): New macro, so that the initial stack isn't overly
83736         large.
83737
83738 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83739
83740         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
83741
83742 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
83743
83744         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
83745         (2004-10-24) change.  Apparently this was a false alarm.
83746
83747         * modules/getdate: Depend on alloca-opt, not alloca.
83748
83749 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
83750
83751         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
83752         Remove now-obsolete comment about AIX.
83753         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
83754         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
83755         (YYMAXDEPTH): New macro.
83756
83757 2004-12-18  Simon Josefsson  <jas@extundo.com>
83758
83759         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
83760
83761 2004-12-18  Bruno Haible  <bruno@clisp.org>
83762
83763         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
83764
83765 2004-12-18  Bruno Haible  <bruno@clisp.org>
83766
83767         * lib/fatal-signal.c (fatal_signals): Make non-const.
83768         (init_fatal_signals): New function.
83769         (uninstall_handlers, install_handlers): Ignore signals that were set to
83770         SIG_IGN.
83771         (at_fatal_signal): Call init_fatal_signals.
83772         (init_fatal_signal_set): Likewise. Ignore signals that were set to
83773         SIG_IGN.
83774         Reported by Paul Eggert.
83775
83776 2004-12-18  Bruno Haible  <bruno@clisp.org>
83777
83778         * doc/alloca.texi: New file.
83779         * doc/alloca-opt.texi: New file.
83780
83781 2004-12-17  Jim Meyering  <jim@meyering.net>
83782
83783         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
83784         Otherwise, install-sh could exit with improper exit status when
83785         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
83786
83787 2004-12-16  Simon Josefsson  <jas@extundo.com>
83788
83789         * tests/test-base64.c: Add license.
83790
83791 2004-12-15  Stepan Kasal  <address@hidden>
83792
83793         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
83794
83795 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
83796
83797         * modules/getcwd (Files): Add m4/d-ino.m4.
83798         Suggested by Mark D. Baushke.
83799
83800 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
83801
83802         * lib/getdate.y (textint): New member "negative".
83803         (time_zone_hhmm): New function.
83804         Expect 14 shift-reduce conflicts, not 13.
83805         (o_colon_minutes): New rule.
83806         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
83807         (yylex): Set the "negative" member of signed numbers.
83808
83809 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
83810
83811         * doc/getdate.texi (Time of day items, Time zone items):
83812         Describe new formats +00:00, UTC+00:00.
83813
83814 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
83815
83816         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
83817         spurious "-l"s.  Problem reported by Stepan Kasal.
83818
83819 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
83820
83821         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
83822         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
83823
83824 2004-12-04  Simon Josefsson  <jas@extundo.com>
83825
83826         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
83827         Vandoorselaere <yoann@prelude-ids.org>.
83828
83829 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
83830
83831         Changes imported from coreutils.
83832         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
83833         exist.
83834         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
83835
83836 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
83837
83838         Changes imported from coreutils.
83839         * lib/hard-locale.c: Assume <locale.h> exists.
83840         Include "strdup.h".
83841         (GLIBC_VERSION): New macro.
83842         (hard_locale): Assume setlocale exists.
83843         Rewrite to avoid #ifdef.
83844         Use strdup rather than malloc + strcpy.
83845         * lib/human.c: Assume <locale.h> exists.
83846         (human_readable): Assume localeconv exists.
83847
83848 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
83849
83850         * modules/hard-locale (Depends-on): Add strdup.
83851
83852 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
83853
83854         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
83855         convert T2, not T.  (Imported from libc.)
83856
83857 2004-11-30  Simon Josefsson  <jas@extundo.com>
83858
83859         * modules/restrict (License): Change to LGPL.
83860
83861 2004-11-30  Simon Josefsson  <jas@extundo.com>
83862
83863         * m4/restrict.m4: Add copyright and copying conditions.
83864
83865 2004-11-30  Simon Josefsson  <jas@extundo.com>
83866
83867         * m4/base64.m4: New file.
83868
83869 2004-11-30  Simon Josefsson  <jas@extundo.com>
83870
83871         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
83872         base64.
83873
83874         * tests/test-base64.c: New file.
83875
83876         * modules/base64: New file.
83877
83878 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
83879
83880         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
83881         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
83882
83883         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
83884
83885 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
83886
83887         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
83888         (__getcwd.c): Don't restore errno; glibc doesn't.
83889         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
83890         first, falling back to our code only if its results look suspicious.
83891         Ensure that the resulting buffer is only as large as necessary.
83892
83893         * lib/readutmp.c: Include readutmp.h first.
83894         Include <errno.h>, since readutmp.h no longer does that.
83895         * lib/readutmp.h: Don't include <errno.h>,
83896         <sys/param.h>, <time.h>; not needed to establish interface.
83897         (errno): Remove decl.
83898         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
83899         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
83900         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
83901
83902 2004-11-28  Simon Josefsson  <jas@extundo.com>
83903
83904         * lib/base64.h, base64.c: New file.
83905
83906 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
83907
83908         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
83909
83910 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
83911
83912         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
83913         (Depends-on): Remove pathmax, same.  Add mempcpy.
83914         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
83915         (Makefile.am): Append getcwd.h to lib_SOURCES.
83916         (Include): Add getcwd.h.
83917         (Maintainer): Change from Jim Meyering to "all, glibc",
83918         since getdate now uses intended-for-glibc code.
83919         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
83920         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
83921
83922 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
83923
83924         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
83925         HP's ANSI C compiler.
83926         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
83927         Declaring int functions causes warnings on some modern systems and
83928         shouldn't be needed to compile on ancient ones.
83929         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
83930         defined.
83931
83932         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
83933         with the following changes.
83934         (__set_errno): Parenthesize properly.
83935         Include <stdbool.h>.
83936         (MIN, MAX, MATCHING_INO): New macros.
83937         (__getcwd): Define with prototype, not K&R form.
83938         Use heuristics to allocate default buffer on stack if possible.
83939         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
83940         behavior, and to avoid the PATH_MAX limit when computing
83941         ../../../../...
83942         Use MATCHING_INO to compare inode number to file.
83943         Check for arithmetic overflow in size calculations.
83944         Fix bug in reallocation of dot array that caused getcwd to fail
83945         on directories nested deeper than 75.
83946         Be more careful about saving errno on error.
83947         Do not use realloc; use only free+malloc, as this is a bit
83948         more flexible and avoids a needless copy operation.
83949         Do not inspect st_dev and st_ino for symbolic links; POSIX
83950         doesn't specify the latter.
83951         Check for closedir errors.
83952         Avoid needless casts.
83953         Use "#ifdef weak_alias" around weak_alias, to be like other
83954         glibc code.
83955         The following changes to getcwd.c have effect only when used in
83956         gnulib; they have no effect inside glibc proper.
83957         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
83958         as alloca isn't used.
83959         (alloca, __alloca): Likewise.
83960         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
83961         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
83962         unconditionally, as gnulib assumes C89 or better.
83963         Do not include <sys/param.h>.
83964         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
83965         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
83966         better.
83967         (NULL) [!defined NULL]: Remove; we assume C89 or better.
83968         Include <dirent.h> in a way that is compatible with modern Autoconf.
83969         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
83970         New macros, if not already defined.
83971         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
83972         Use "_LIBC", not "defined _LIBC", for consistency.
83973         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
83974         a mempcpy module.
83975         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
83976         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
83977         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
83978         credit only to Jim Meyering and adjust the copyright dates.
83979         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
83980         <stdlib.h>, <unistd.h>, "pathmax.h".
83981         Instead, include "xgetcwd.h" (first) and "getcwd.h".
83982         (INITIAL_BUFFER_SIZE): Remove.
83983         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
83984
83985 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
83986
83987         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
83988         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
83989         Use the _ONCE methods, for efficiency.
83990         Check for fcntl.h.  In test program, include <errno.h>
83991         and <fcntl.h> if available.  Remove old K&R cruft from
83992         test program.  Check for common errors in GNU/Linux,
83993         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
83994         don't do AC_LIBOBJ, as that's getcwd.m4's job.
83995         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
83996         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
83997         name accordingly.
83998         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
83999         accommodate new getcwd.c.
84000         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
84001         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
84002         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
84003         that's all we need now.
84004
84005 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84006
84007         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
84008         argp-parse.c depends on getopt internals, that means we should
84009         always use our getopt, to be on the safe side.
84010         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
84011         order not to spoil the result of an eventual previous invocation
84012         of gl_GETOPT_SUBSTITUTE.
84013
84014 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84015
84016         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
84017         redefinition warnings. To avoid them, include the defines
84018         in `#if !defined __need_getopt ... #endif'. The only place
84019         where __getopt_argv_const is used is in definitions
84020         of getopt_long and getopt_long_only below, which are as well
84021         protected by `#ifndef __need_getopt'.
84022         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
84023         __need_getopt after including <stdio.h> and <unistd.h> These
84024         headers might have defined it.
84025
84026 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
84027
84028         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
84029
84030 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
84031
84032         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
84033         (futimens): New function, which uses futimes if available.
84034         (futimens, utimens): Support timespec==NULL, with same semantics
84035         as utime and utimens.
84036         * lib/utimens.h (futimens): New decl.
84037
84038 2004-11-23  Jim Meyering  <jim@meyering.net>
84039
84040         * lib/getopt_.h: Remove trailing blanks.
84041
84042 2004-11-23  Jim Meyering  <jim@meyering.net>
84043
84044         * lib/__fpending.c: Add comment.
84045
84046 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
84047
84048         * modules/canonicalize (Depends-on): Add xreadlink.
84049         Problem reported by James Youngman.
84050
84051 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
84052
84053         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
84054         New macros.
84055         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
84056         optopt): Use them instead of invoking ## directly; otherwise, the
84057         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
84058
84059 2004-11-19  Bruno Haible  <bruno@clisp.org>
84060
84061         * lib/strtok_r.c: Move comments from here...
84062         * lib/strtok_r.h: ... to here.
84063
84064 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
84065
84066         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
84067         implementations that mishandle size_t overflow.
84068
84069 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
84070
84071         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
84072         might fail.  Problem reported by Yoann Vandoorselaere.
84073         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
84074         implementations that mishandle size_t overflow.
84075
84076 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
84077
84078         * modules/canon-host (Depends-on): Add strdup.
84079
84080 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
84081
84082         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
84083
84084 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
84085
84086         * lib/canon-host.c: Include "strdup.h".
84087         (canon_host): Use getaddrinfo if available, so that IPv6 works.
84088         Use strdup instead of malloc/strcpy to duplicate strings.
84089
84090         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
84091         (human_space_before_unit): New constant.
84092         * lib/human.c (human_readable): Support it.
84093
84094         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
84095         (xgetcwd): Set errno correctly when failing.
84096         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
84097         the failure is actually due to a PATH_MAX problem.
84098
84099         Further getopt changes to make it more likely that glibc will
84100         buy the changes back.
84101         * lib/getopt.c (POSIXLY_CORRECT): New constant.
84102         (getopt): Use it, so to preserve glibc semantic
84103         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
84104         when compiling for libc.
84105         * lib/getopt_.h (__getopt_argv_const): Bring it back.
84106         (getopt_long, getopt_long_only): Use it.
84107
84108         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
84109         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
84110         (getopt): Argv is now char * const *, as per standard.
84111         (_getopt_internal_r, _getopt_internal): Argv is now char **,
84112         not char *__getopt_argv_const *.
84113         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
84114         _getopt_long_only_r): Likewise.
84115         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
84116         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
84117         _getopt_long_r, _getopt_long_only_r): Likewise.
84118         * lib/getopt_.h (__getopt_argv_const): Remove.
84119         (getopt): Argv is now char * const *, as per standard.
84120
84121         * lib/getdate.y (tORDINAL): New token.
84122         (day, relunit): Allow it for relative times.
84123         (relative_time_table): Use tORDINAL for ordinals.
84124
84125 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
84126
84127         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
84128         Document that "second" isn't allowed as an ordinal number.
84129
84130 2004-11-16  Jim Meyering  <jim@meyering.net>
84131
84132         * modules/closeout (Depends-on): Add fpending.
84133
84134 2004-11-15  Jim Meyering  <jim@meyering.net>
84135
84136         * lib/closeout.c: Include "__fpending.h" once again.
84137         Include <stdbool.h>.
84138         (close_stdout): Don't fail just because stdout was closed initially,
84139         since some programs don't write to stdout in the normal course of
84140         operation (other than --version and --help), and we don't want this
84141         function to make e.g. `touch file >&-' fail.
84142         But do fail if it was closed and someone has tried to write to it.
84143         E.g., `printf foo >&-' must fail.
84144
84145 2004-11-13  Jim Meyering  <jim@meyering.net>
84146
84147         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
84148
84149 2004-11-12  Simon Josefsson  <jas@extundo.com>
84150
84151         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
84152         small doc fix is still pending.
84153
84154 2004-11-11  Simon Josefsson  <jas@extundo.com>
84155
84156         * modules/strtok_r: New file.
84157
84158         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
84159         strtok_r.
84160
84161 2004-11-11  Simon Josefsson  <jas@extundo.com>
84162
84163         * m4/strtok_r.m4: New file.
84164
84165         * m4/getopt.m4: Replace opterr.
84166
84167 2004-11-11  Simon Josefsson  <jas@extundo.com>
84168
84169         * lib/strtok_r.h, strtok_r.c: New file.
84170
84171 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
84172
84173         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
84174         of replacing opterr, getopt, etc.  This should handle the
84175         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
84176
84177 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
84178
84179         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
84180         we can stop lying to compilers about the constness of argv when we
84181         are compiled outside glibc.
84182         (getopt, getopt_long, getopt_long_only): Use it.
84183         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
84184         _getopt_internal, getopt): Likewise.
84185         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
84186         _getopt_long_only_r): Likewise.
84187         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
84188         _getopt_long_r, _getopt_long_only_r): Likewise.
84189
84190         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
84191         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
84192         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
84193         the other external symbols.
84194         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
84195         declaration, since the above renaming now works around collisions.
84196
84197 2004-11-11  Jim Meyering  <jim@meyering.net>
84198
84199         * lib/linebreak.c: Remove trailing blanks.
84200         * lib/alloca_.h: Likewise.
84201         * lib/acosl.c: Likewise.
84202         * lib/euidaccess.c: Likewise.
84203         * lib/allocsa.h: Likewise.
84204
84205 2004-11-10  Simon Josefsson  <jas@extundo.com>
84206
84207         * m4/getaddrinfo.m4: New file.
84208
84209 2004-11-10  Simon Josefsson  <jas@extundo.com>
84210
84211         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
84212
84213 2004-11-10  Simon Josefsson  <jas@extundo.com>
84214
84215         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
84216         getaddrinfo.
84217
84218         * modules/getaddrinfo: New file.
84219
84220 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
84221
84222         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
84223
84224 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
84225
84226         * lib/mktime.c (SHR): New macro, which is a portable
84227         substitute for >> that should work even on Crays.
84228         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
84229         Problem reported by Mark D. Baushke in
84230         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
84231         * lib/getdate.y (SHR): Likewise.
84232         (tm_diff): Use it.
84233         * lib/strftime.c (SHR): Likewise.
84234         (tm_diff): Use it.
84235         * lib/quotearg.c (struct quoting_options): Use unsigned int for
84236         quote_these_too, so that right shifts are well defined.  All uses
84237         changed.
84238
84239 2004-11-10  Jim Meyering  <jim@meyering.net>
84240
84241         Ensure that no close failure goes unreported.
84242         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
84243         return early when it seems there's nothing to flush.
84244         Don't include __fpending.h.
84245
84246 2004-11-10  Jim Meyering  <jim@meyering.net>
84247
84248         * modules/closeout (Depends-on): Remove fpending.
84249
84250 2004-11-10  Jim Meyering  <jim@meyering.net>
84251
84252         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
84253
84254 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
84255
84256         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
84257         gl_FUNC_STRFTIME.
84258         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
84259         and AC_REQUIRE when possible, to avoid duplicate checks.
84260         Check for <wchar.h>.
84261
84262 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
84263
84264         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
84265
84266 2004-11-09  Bruno Haible  <bruno@clisp.org>
84267
84268         * m4/sockpfaf.m4: New file.
84269
84270 2004-11-05  Bruno Haible  <bruno@clisp.org>
84271
84272         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
84273         Reported by Mark D. Baushke <mdb@cvshome.org>.
84274
84275 2004-11-04  Bruno Haible  <bruno@clisp.org>
84276
84277         2004-09-11  Bruno Haible  <bruno@clisp.org>
84278                 * allocsa.valgrind: New file.
84279         2004-02-06  Bruno Haible  <bruno@clisp.org>
84280                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
84281                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
84282                 Reported by Christopher Seip <chris.seip@hp.com>.
84283
84284 2004-11-04  Bruno Haible  <bruno@clisp.org>
84285
84286         * modules/allocsa (Files): Add lib/allocsa.valgrind.
84287         (Makefile.am): Distribute it.
84288
84289 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
84290
84291         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
84292         with errno == ERANGE if the buffer is too small.
84293         Problem reported by Mark D. Baushke.
84294
84295 2004-11-03  Albert Chin  <china@thewrittenword.com>
84296             Paul Eggert  <eggert@cs.ucla.edu>
84297
84298         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
84299         equivalent, substitute $ac_type for equivalent type rather than
84300         blindly using uint32_t *always* which won't work if uint32_t is not
84301         available.  Define _UINT32_T to work around typedef of uint32_t if
84302         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
84303         2.5.1.
84304
84305 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
84306
84307         * m4/jm-macros.m4: Sync from coreutils.
84308         (gl_MACROS): Check for mbrlen, for pathchk.
84309         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
84310
84311 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
84312
84313         * lib/xreadlink.c (MAXSIZE): New macro.
84314         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
84315         size does not exceed MAXSIZE.  Avoid cast.
84316         As suggested by Mark D. Baushke in
84317         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
84318         if readlink fails with buffer size just under MAXSIZE, try again
84319         with MAXSIZE.
84320
84321 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
84322
84323         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
84324
84325 2004-11-02  Derek R. Price  <derek@ximbiot.com>
84326         and  Paul Eggert  <eggert@cs.ucla.edu>
84327
84328         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
84329         (get_date): Overparenthesize to avoid GCC warning.
84330
84331 2004-11-02  Bruno Haible  <bruno@clisp.org>
84332
84333         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
84334         returns void.
84335
84336 2004-11-02  Bruno Haible  <bruno@clisp.org>
84337
84338         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
84339         function returns void.
84340
84341 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
84342
84343         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
84344         fflush_unlocked, flockfile, funlockfile, funlockfile,
84345         fputs_unlocked, putc_unlocked.
84346
84347 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
84348
84349         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
84350         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
84351         already declared.
84352
84353 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
84354
84355         * modules/getdate (Files): Add doc/getdate.texi.
84356         (Depends-on): Add setenv, xalloc.
84357
84358 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
84359
84360         * lib/getdate.y: Add support for TZ="foo" within a date string.
84361         Fix some bugs near time_t boundaries.  Reject dates with
84362         out-of-range components, e.g., "Sept 31".
84363         Include <stdlib.h>, "setenv.h", "xalloc.h".
84364         (ISDIGIT_LOCALE): Remove; unused.
84365         Note that the TZ and time functions used here are not reentrant.
84366         (mktime_ok, get_tz): New functions.
84367         (TZBUFSIZE): New constant.
84368         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
84369         This requires that we sometimes generate our own TZ="XXX..." setting.
84370
84371 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
84372
84373         * doc/getdate.texi: New file, from coreutils with modifications for
84374         the new TZ parsing.
84375
84376 2004-10-27  Derek R. Price  <derek@ximbiot.com>
84377
84378         * lib/mktime.c (not_equal_tm): Remove redundant check.
84379
84380 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
84381
84382         * modules/regex (lib_SOURCES): Add regex.c.
84383         Reported by James Youngman in
84384         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
84385
84386 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
84387
84388         * lib/getdate.y: Use Bison 1.875 features, and some minor
84389         code cleanups.  This change does not affect semantics.
84390         Don't include <stdlib.h>; no longer needed.
84391         Don't include unlocked-io.h; only the "#if TEST" code uses
84392         stdio, and performance isn't crucial there.
84393         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
84394         Bison 1.875 features as described below.
84395         All uses of "PC." replaced by "pc->".
84396         (YYSTYPE): Add a forward declaration.
84397         (yylex, yyerror): Use full prototypes in forward decls.
84398         Use "%pure-parser" rather than obsolescent "%pure_parser".
84399         Use %parse-param and %lex-param instead of obsolescent
84400         YYPARSE_PARAM and YYLEX_PARAM.
84401         (meridian_table, month_and_day_table, time_units_table,
84402         relative_time_table, time_zone_table, military_table,
84403         lookup_zone, lookup_word, get_date):
84404         Use NULL instead of 0 where appropriate.
84405         (to_hour): Avoid abort (), to avoid a dependency on
84406         stdlib.h.
84407         (yyerror, yylex): Now accepts parser_control * arg.
84408         (main) [TEST]: Use '\0' rather than 0 for char.
84409
84410 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
84411
84412         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
84413
84414 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
84415
84416         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
84417         It's now the caller's responsibility to handle the case where
84418         !HAVE_GETPAGESIZE && !defined getpagesize.
84419
84420         * lib/mktime.c (leapyear): Arg is long int, not int.
84421
84422 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
84423
84424         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
84425
84426 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
84427
84428         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
84429         missing.  Problem reported by James Youngman.
84430
84431 2004-10-16  Simon Josefsson  <jas@extundo.com>
84432
84433         * gnulib-tool: Fix comments.  Fix parse problem.
84434         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
84435
84436 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
84437
84438         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
84439         implementation of getopt_long.  Problem reported by Alexander Taler in:
84440         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
84441
84442 2004-10-15  Bruno Haible  <bruno@clisp.org>
84443
84444         * gnulib-tool: Untabify. Initialize supplied_libname.
84445         (func_usage): More homogenous output.
84446         (func_modules_transitive_closure, func_modules_to_filelist,
84447         func_emit_lib_Makefile_am): New functions.
84448         (func_import): New function, extracted from big case statement. Use
84449         func_get_license, func_modules_transitive_closure,
84450         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
84451         opt_lgpl. Don't use test -a, as it's not portable.
84452         (func_create_testdir): Use func_modules_transitive_closure,
84453         func_modules_to_filelist, func_emit_lib_Makefile_am.
84454
84455 2004-10-15  Bruno Haible  <bruno@clisp.org>
84456
84457         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
84458
84459 2004-10-15  Bruno Haible  <bruno@clisp.org>
84460
84461         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
84462         the portions belonging to each module.
84463         Suggested by Derek Robert Price <derek@ximbiot.com>.
84464
84465 2004-10-12  Simon Josefsson  <jas@extundo.com>
84466
84467         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
84468         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
84469         to real functions.
84470
84471 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
84472
84473         * modules/vsnprintf: New file.
84474
84475 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
84476
84477         * m4/vsnprintf.m4: New file.
84478
84479 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
84480
84481         * lib/vsnprintf.h: New file.
84482         * lib/vsnprintf.c: New file.
84483
84484 2004-10-11  Bruno Haible  <bruno@clisp.org>
84485
84486         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
84487         vsnprintf.
84488
84489 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
84490
84491         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
84492
84493 2004-10-07  Bruno Haible  <bruno@clisp.org>
84494
84495         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
84496         fits into the provided buffer.
84497
84498 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
84499
84500         * lib/diacrit.c, diacrit.h: Add GPL notice.
84501
84502         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
84503         notice.
84504         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
84505         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
84506         This avoids a potential constant-folding bug.
84507
84508 2004-10-05  Bruno Haible  <bruno@clisp.org>
84509
84510         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
84511         for the declaration of strsep.
84512
84513 2004-10-05  Bruno Haible  <bruno@clisp.org>
84514
84515         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
84516
84517 2004-10-04  Simon Josefsson  <jas@extundo.com>
84518
84519         * modules/memmem: New file.
84520         * tests/test-memmem.c: New file.
84521         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
84522
84523 2004-10-04  Simon Josefsson  <jas@extundo.com>
84524
84525         * m4/memmem.m4: New file.
84526
84527 2004-10-04  Simon Josefsson  <jas@extundo.com>
84528
84529         * lib/memmem.h: New file.
84530         * lib/memmem.c: New file, taken from glibc.
84531
84532 2004-10-04  Simon Josefsson  <jas@extundo.com>
84533
84534         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
84535         '#ifdef USE_UNLOCKED_IO'.
84536
84537 2004-10-04  Simon Josefsson  <jas@extundo.com>
84538
84539         * config/srclist.txt: Add memmem from glibc.
84540
84541 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
84542
84543         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
84544
84545         * modules/argmatch, modules/argp, modules/closeout, modules/error,
84546         modules/exclude, modules/getdate, modules/getline,
84547         modules/getndelim2, modules/getpass, modules/getpass-gnu,
84548         modules/getusershell, modules/linebuffer, modules/md5,
84549         modules/mountlist, modules/posixtm, modules/readtokens,
84550         modules/readutmp, modules/regex, modules/sha1,
84551         modules/version-etc, modules/yesno:
84552         Remove dependency on unlocked-io.
84553
84554 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
84555
84556         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
84557
84558         * m4/unlocked-io.m4: Add copyright notice.
84559         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
84560
84561 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
84562
84563         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
84564         * lib/xmalloc.c (xmemdup): Likewise.
84565         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
84566         XFREE): Remove these long-obsolescent macros.
84567         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
84568         * lib/xstrdup.c: Remove.
84569
84570         * lib/regex.c (re_comp): Cast gettext return value to char *,
84571         Problem reported by Martin Neitzel via Mark D. Baushke.
84572
84573 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
84574
84575         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
84576         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
84577         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
84578         regex.c, sha1.c, version-etc.c, yesno.c:
84579         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
84580         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
84581         the includer's responsibility.
84582
84583         Sync from coreutils.
84584
84585         * lib/modechange.c (mode_compile): Don't decrement a pointer that
84586         points to the start of a string, as the C Standard says the
84587         resulting behavior is undefined.
84588
84589         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
84590         simple -> simple_backups, numbered_existing ->
84591         numbered_existing_backups, numbered -> numbered_backups
84592         to avoid shadowing problems.  All uses changed.
84593         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
84594         * lib/backupfile.c (check_extension, numbered_backup):
84595         Rename locals to avoid shadowing 'basename'.
84596         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
84597         once.
84598
84599         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
84600         * lib/.cvsignore: Add getopt.h.
84601
84602 2004-10-04  Bruno Haible  <bruno@clisp.org>
84603
84604         * modules/README: New file.
84605         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
84606         not a module.
84607
84608 2004-10-02  Jim Meyering  <jim@meyering.net>
84609
84610         * lib/dirfd.h, getpagesize.h: Add copyright notice.
84611
84612 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
84613
84614         * modules/strsep: New file.
84615
84616 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
84617
84618         * m4/strsep.m4: New file.
84619
84620 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
84621
84622         * lib/strsep.h: New file.
84623         * lib/strsep.c: New file.
84624
84625 2004-10-01  Simon Josefsson  <jas@extundo.com>
84626
84627         * lib/snprintf.c (snprintf): Handle size==0.
84628
84629 2004-10-01  Simon Josefsson  <jas@extundo.com>
84630             Bruno Haible  <bruno@clisp.org>
84631
84632         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
84633         (snprintf): Declare 'args'.
84634
84635 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
84636
84637         * lib/snprintf.c: Remove comments as to why each header is needed.
84638
84639 2004-10-01  Bruno Haible  <bruno@clisp.org>
84640
84641         * MODULES.html.sh: Add strsep.
84642
84643 2004-09-30  Simon Josefsson  <jas@extundo.com>
84644
84645         * modules/snprintf: New file.
84646
84647 2004-09-30  Simon Josefsson  <jas@extundo.com>
84648
84649         * m4/snprintf.m4: New file.
84650
84651 2004-09-30  Simon Josefsson  <jas@extundo.com>
84652
84653         * lib/snprintf.h, lib/snprintf.c: New files.
84654
84655 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84656
84657         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
84658         (hol_entry_help): Never translate an empty string.
84659         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
84660         * lib/argp.h (OPTION_NO_TRANS): New option.
84661
84662 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
84663
84664         * modules/argp (Maintainer): Replace Simon Josefsson
84665         by Sergey Poznyakoff.
84666
84667 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
84668
84669         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
84670         changes merged back into glibc.
84671
84672 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
84673
84674         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
84675
84676 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
84677
84678         * lib/xvasprintf.c: Include xalloc.h.
84679         (xvasprintf): Use xalloc_die, not xmalloc_die.
84680
84681 2004-09-29  Bruno Haible  <bruno@clisp.org>
84682
84683         * modules/alloca-opt: New file, derived from modules/alloca.
84684         * modules/allocsa: Depend on alloca-opt instead of alloca.
84685         * modules/setenv: Likewise.
84686         * modules/vasnprintf: Likewise.
84687         * MODULES.html.sh: Add alloca-opt.
84688
84689 2004-09-28  Simon Josefsson  <jas@extundo.com>
84690
84691         * gnulib-tool: New parameter --lgpl, to asseert that modules are
84692         LGPL, and to replace license template from GPL to LGPL.
84693
84694 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
84695
84696         * modules/dummy: Change license to LGPL.
84697
84698 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
84699
84700         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
84701
84702 2004-09-24  Simon Josefsson  <jas@extundo.com>
84703
84704         * modules/minmax (License): Change from GPL to LGPL.
84705
84706 2004-09-23  Simon Josefsson  <jas@extundo.com>
84707
84708         * gnulib-tool (--import): Typo.
84709
84710 2004-09-23  Simon Josefsson  <jas@extundo.com>
84711
84712         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
84713
84714 2004-09-22  Bruno Haible  <bruno@clisp.org>
84715
84716         * modules/*: Add 'License' field.
84717         * gnulib-tool: Accept --extract-license option.
84718         (func_get_license): New function.
84719
84720 2004-09-21  Bruno Haible  <bruno@clisp.org>
84721
84722         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
84723         Reported by Simon Josefsson.
84724
84725 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
84726
84727         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
84728         gl_AC_TYPE_LONG_LONG.
84729
84730 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
84731
84732         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
84733
84734 2004-09-18  Simon Josefsson  <jas@extundo.com>
84735         and  Paul Eggert  <eggert@cs.ucla.edu>
84736
84737         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
84738         calls with autoreconf.  Define GL_LIB.
84739
84740 2004-09-14  Karl Berry  <karl@gnu.org>
84741
84742         * config/srclist.txt: unsync setenv.c, sigh.
84743
84744 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
84745
84746         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
84747         Problem reported by Bruno Haible in:
84748         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
84749
84750 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
84751
84752         * config/srclist.txt: Comment out argp-pvh.c.
84753
84754 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
84755
84756         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
84757         in case some system header has #define'd it.  Problem reported by
84758         Soeren D. Schulze in
84759         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
84760
84761 2004-09-09  Karl Berry  <karl@gnu.org>
84762
84763         * regex.[ch]: delete from the root.  These were supposed to be
84764                 synced with emacs cvs, but this has not happened for about
84765                 a year, and anyway nothing else uses emacs regex.[ch].
84766                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
84767                 lib/regex[.ch] is untouched.
84768
84769 2004-09-09  Bruno Haible  <bruno@clisp.org>
84770
84771         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
84772
84773 2004-09-09  Bruno Haible  <bruno@clisp.org>
84774
84775         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
84776         modifications.
84777         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
84778
84779 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
84780
84781         * modules/xvasprintf: New file.
84782         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
84783
84784 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
84785
84786         * lib/xvasprintf.h: New file.
84787         * lib/xvasprintf.c: New file.
84788         * lib/xasprintf.c: New file.
84789
84790 2004-09-08  Bruno Haible  <bruno@clisp.org>
84791
84792         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
84793
84794 2004-09-08  Bruno Haible  <bruno@clisp.org>
84795
84796         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
84797         length is > INT_MAX.
84798         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
84799         more.
84800
84801 2004-09-08  Bruno Haible  <bruno@clisp.org>
84802
84803         * lib/stdint_.h: New file, taken from GNU clisp.
84804
84805 2004-09-08  Bruno Haible  <bruno@clisp.org>
84806             Oskar Liljeblad  <oskar@osk.mine.nu>
84807
84808         * modules/stdint: New file.
84809         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
84810
84811 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
84812
84813         Import from coreutils.
84814         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
84815         strings on unbounded length.  alloca's performance benefits aren't
84816         that important here.
84817         (V_STRDUP): Remove.
84818         (parse_with_separator): New function, with most of the internals
84819         of the old parse_user_spec.  Allow user to omit both user and group,
84820         for compatibility with FreeBSD.
84821         Clone only the user name, not the entire spec.
84822         Do not set *uid, *gid unless entirely successful.
84823         Avoid memory leak in some failing cases.
84824         Fix regression for USER.GROUP reported by Dmitry V. Levin in
84825         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
84826         (parse_user_spec): Rewrite to use parse_with_separator.
84827
84828 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
84829
84830         * modules/userspec: Don't depend on alloca.
84831
84832 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
84833
84834         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
84835
84836 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
84837
84838         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
84839         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
84840         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
84841
84842 2004-08-16  Simon Josefsson  <jas@extundo.com>
84843
84844         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
84845         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
84846         Add --dry-run for --import.
84847         Let user provided command line parameters override configure.ac
84848         settings.
84849
84850 2004-08-12  Simon Josefsson  <jas@extundo.com>
84851
84852         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
84853         as discussed with Paul Eggert in threads rooted at
84854         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
84855         and
84856         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
84857         Before, the test was empty, and relied on ELIDE_CODE in source
84858         code.)
84859         (gl_PREREQ_GETOPT): New macro.
84860         (gl_GETOPT): Use them.
84861
84862 2004-08-12  Simon Josefsson  <jas@extundo.com>
84863
84864         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
84865         * lib/getopt_.h: Renamed from getopt.h.
84866
84867 2004-08-12  Simon Josefsson  <jas@extundo.com>
84868
84869         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
84870         Change default library name from libfoo to libgnu.
84871         Now, if you have a configure.ac that says:
84872                 gl_SOURCE_BASE(gl)
84873                 gl_M4_BASE(gl/m4)
84874                 gl_MODULES(error getopt etcetera)
84875                 gl_INIT
84876         you can import all you need by running:
84877                 ../gnulib/gnulib-tool --import
84878
84879         * modules/getopt (Files): Rename getopt.h to getopt_.h.
84880         (Makefile.am): Rewrite, use logic from argz.
84881         (Include): Use <getopt.h> instead of "getopt.h".
84882
84883 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
84884
84885         * modules/argp (Files): Add m4/unlocked-io.m4.
84886         (Depends-on): Add extensions.
84887
84888 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
84889
84890         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
84891         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
84892         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
84893         Check for program_invocation_name, program_invocation_short_name,
84894         flockfile, funlockfile, features.h, _getopt_long_only_r.
84895
84896 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
84897
84898         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
84899         its complicated substitute.
84900         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
84901         and program_invocation_name.
84902         (__argp_basename) [!_LIBC]: Remove; the only use was
84903         replaced by its body.
84904         (__argp_short_program_name): Change condition from
84905         !defined __argp_short_program_name to
84906         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
84907         to match argp-namefrob.h.
84908         (__argp_failure): Don't assume strerror_r returns char *.
84909         * lib/argp-parse.c (N_): Define unconditionally.
84910         (argp_default_options): Fill out initializers with 0 to avoid
84911         gcc warnings.
84912
84913 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
84914
84915         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
84916         getopt1.c.
84917
84918 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
84919
84920         Merge from coreutils.
84921
84922         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
84923
84924         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
84925         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
84926
84927 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
84928
84929         Merge from coreutils.
84930
84931         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
84932         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
84933         for Reliant Unix 5.43.
84934
84935         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
84936         (union fooround): Use uintmax_t, not long int.
84937         The rest is a merge from libc:
84938         [defined _LIBC]: Include <shlib-compat.h>.
84939         (_obstack) [defined _LIBC]: Remove after 2.3.4.
84940
84941         * lib/settime.c (settime): Recode to avoid warning with
84942         Sun Forte C 6U2.
84943
84944         * lib/strverscmp.c: Convert to UTF-8.
84945
84946 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
84947
84948         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
84949         m4/uintmax_t.m4.
84950
84951 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
84952
84953         * modules/xalloc-die: New file.
84954         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
84955
84956         * modules/md5 (Files): Add m4/uint32_t.m4.
84957         * modules/sha1: Renamed from modules/sha.
84958         (Files):
84959         Rename lib/sha.h to lib/sha1.h.
84960         Rename lib/sha.c to lib/sha1.c.
84961         Rename m4/sha.m4 to m4/sha1.m4.
84962         (lib_SOURCES): Likewise.
84963         (configure.ac): Rename gl_SHA to gl_SHA1.
84964         (Include): sha.h -> sha1.h.
84965
84966 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
84967
84968         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
84969         * m4/sha1.m4: Renamed from sha.m4.
84970         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
84971
84972 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
84973
84974         * lib/obstack.h (obstack_empty_p):
84975         Don't assume that chunk->contents is suitably aligned.
84976         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
84977         Likewise. Problem reported by Benno in
84978         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
84979
84980         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
84981         readable.  This could be improved further but it'd take some work.
84982
84983 2004-08-08  Simon Josefsson  <jas@extundo.com>
84984
84985         * modules/xgethostname (Depends-on): Remove exit and error (not
84986         used).
84987
84988         * modules/getpass-gnu: Add getpass.h.
84989         (Depends-on): Add stdbool.
84990         * modules/getpass: Add getpass.h.
84991
84992 2004-08-08  Simon Josefsson  <jas@extundo.com>
84993
84994         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
84995         Check getpass declaration.
84996
84997 2004-08-08  Simon Josefsson  <jas@extundo.com>
84998
84999         * lib/xgethostname.c: Don't include error.h (not used).
85000
85001         * lib/getpass.h: Add.
85002         * lib/getpass.c: Include getpass.h first.
85003
85004 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
85005
85006         * lib/xalloc-die.c: New file.
85007         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
85008         All uses removed.
85009         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
85010         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
85011         xalloc-die.c.
85012         (_, N_, xalloc_die): Move to xalloc-die.c.
85013         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
85014         so that we needn't mess with xalloc_msg_memory_exhausted.
85015
85016         * lib/sha1.h: Renamed from sha.h.
85017         (SHA1_H): Renamed from _SHA_H.
85018         (sha1_ctx): Renamed from sha_ctx.
85019         (sha1_init_ctx): Renamed from sha_init_ctx.
85020         (sha1_process_block): Renamed from sha_process_block.
85021         (sha1_process_bytes): Renamed from sha_process_bytes.
85022         (sha1_finish_ctx): Renamed from sha_finish_ctx.
85023         (sha1_read_ctx): Renamed from sha_read_ctx.
85024         (sha1_stream): Renamed from sha_stream.
85025         (sha1_buffer): Renamed from sha_buffer.
85026         * lib/sha1.c: Likewise; renamed from sha.c.
85027         Do not include <sys/types.h>.
85028         Include <stddef.h> rather than <stdlib.h>.
85029
85030 2004-08-08  Bruno Haible  <bruno@clisp.org>
85031
85032         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
85033         FILESYSTEM_PREFIX_LEN.
85034         * lib/progreloc.c: Likewise.
85035         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
85036
85037 2004-08-06  Simon Josefsson  <jas@extundo.com>
85038
85039         * modules/progname (Depends-on): Don't depend on stdbool.
85040
85041 2004-08-06  Simon Josefsson  <jas@extundo.com>
85042
85043         * modules/getsubopt: New file.
85044         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
85045         getsubopt.
85046
85047 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
85048
85049         More merge from coreutils.
85050
85051         * m4/utimens.m4, m4/utimecmp.m4: New files.
85052         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
85053         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
85054         prereq.m4, sha.m4: Import changes from coreutils.
85055
85056 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
85057
85058         More merge from coreutils.
85059         * modules/raise, modules/readtokens0, modules/utimens:
85060         * modules/utimecmp, module/xnanosleep: New files.
85061         * modules/strftime: Add lib/strftime.h.
85062         Change include from <time.h> to "strftime.h".
85063         * modules/yesno: Add lib/yesno.h.
85064         * modules/backupfile: Remove lib/addext.c.
85065         * modules/euidaccess: Add stat-macros.h.
85066         * modules/canonicalize, modules/euidaccess,
85067         modules/filemode, modules/lchown, modules/makepath,
85068         modules/rmdir, modules/stat: Likewise.
85069
85070 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
85071
85072         Merge from tar.
85073         * lib/argp-help.c (make_hol, hol_append): Don't assume that
85074         SIZE_MAX is a valid preprocessor constant.
85075         (__argp_basename): Change from "#ifndef _LIBC"
85076         to "#ifndef __argp_short_program_name", so that
85077         we don't compile these functions for tar.
85078
85079         More merges from coreutils.
85080         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
85081         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
85082         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
85083         * lib/addext.c: Remove; no longer needed.
85084         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
85085         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
85086         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
85087         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
85088         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
85089         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
85090         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
85091         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
85092         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
85093         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
85094         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
85095         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
85096         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
85097         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
85098         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
85099         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
85100         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
85101         Import changes from coreutils.
85102
85103 2004-08-05  Simon Josefsson  <jas@extundo.com>
85104
85105         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
85106
85107 2004-08-05  Simon Josefsson  <jas@extundo.com>
85108
85109         * m4/getsubopt.m4: New file.
85110
85111 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
85112
85113         Merge from coreutils.
85114
85115         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
85116         * m4/getcwd-path-max.m4: New files.
85117
85118         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
85119         FILESYSTEM_PREFIX_LEN ->
85120         FILE_SYSTEM_PREFIX_LEN.
85121         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
85122         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
85123         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
85124         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
85125
85126         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
85127         prerequisite modules now handle the DOS stuff.
85128         Don't check for unistd.h.
85129
85130 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
85131
85132         Merge from coreutils.
85133
85134         * lib/.gdb-history: Remove; this doesn't belong here.
85135
85136         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
85137         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
85138         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
85139         * lib/getcwd.c: New files.
85140
85141         * lib/dirname.h: Include <stdbool.h>.
85142         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
85143         for consistency with POSIX terminology.  All uses changed.
85144         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
85145         (strip_trailing_slashes): Use bool for booleans.
85146         * lib/stripslash.c (strip_trailing_slashes): Likewise.
85147
85148         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
85149         sometimes returns a positive errno value even when it succeeds.
85150         (print_errno_message) [!LIBC]: Fall back on strerror if
85151         __strerror_r fails.
85152
85153         * lib/path-concat.c (mempcpy): Don't define if a system header defines
85154         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
85155         (longest_relative_suffix): New function.
85156         (path_concat): Use it.  Assume first argument is not NULL.
85157         Port to DOS.  Omit redundant separators.
85158         Report an error instead of returning NULL.
85159         Use mempcpy instead of memcpy.
85160         (xpath_concat): Remove: not declared or used.
85161
85162         * lib/same.h: Include <stdbool.h>
85163         (same_name): Return bool, not int.
85164         * lib/same.c (same_name): Likewise.
85165         (errno): Don't declare; we assume C89 or better now.
85166
85167         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
85168         if not already defined.
85169
85170         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
85171         * lib/dup-safer.c (errno): Likewise.
85172
85173 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
85174
85175         Merge from coreutils.
85176         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
85177         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
85178         * modules/path-concat: Don't depend on strdup.
85179
85180 2004-08-03  Simon Josefsson  <jas@extundo.com>
85181
85182         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
85183         * lib/progname.h: Don't include stdbool.h.
85184
85185 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
85186
85187         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
85188         * MODULES.html.sh (func_all_modules): Remove fatal.
85189
85190 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
85191
85192         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
85193
85194 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
85195
85196         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
85197         working.
85198
85199 2004-08-02  Simon Josefsson  <jas@extundo.com>
85200
85201         * lib/getsubopt.h: New file, with comments from Bruno Haible.
85202         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
85203         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
85204
85205 2004-08-01  Simon Josefsson  <jas@extundo.com>
85206
85207         * lib/xgetdomainname.c: Include stdlib.h, for free().
85208
85209 2004-07-19  Bruno Haible  <bruno@clisp.org>
85210
85211         * MODULES.html.sh (func_all_modules): Add dummy.
85212
85213 2004-07-16  Simon Josefsson  <jas@extundo.com>
85214
85215         * modules/dummy: New file.
85216
85217 2004-07-16  Simon Josefsson  <jas@extundo.com>
85218
85219         * lib/dummy.c: New file.
85220
85221 2004-07-16  Bruno Haible  <bruno@clisp.org>
85222
85223         * lib/backupfile.h: Add extern "C" for C++.
85224         * lib/closeout.h: Likewise.
85225         * lib/copy-file.h: Likewise.
85226         * lib/findprog.h: Likewise.
85227         * lib/full-write.h: Likewise.
85228         * lib/pathname.h: Likewise.
85229         * lib/progname.h: Likewise.
85230         * lib/stpcpy.h: Likewise.
85231         * lib/stpncpy.h: Likewise.
85232         * lib/strcase.h: Likewise.
85233         * lib/strstr.h: Likewise.
85234         * lib/xalloc.h: Likewise.
85235
85236         * lib/mbswidth.h: Add extern "C" for C++.
85237         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
85238
85239 2004-07-13  Robert Millan  <robertmh@gnu.org>
85240
85241         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
85242
85243 2004-07-09  Simon Josefsson  <jas@extundo.com>
85244
85245         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
85246         failed without this.)
85247
85248 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
85249
85250         * modules/chown (Files): Add lib/fchown-stub.c, since
85251         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
85252
85253 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
85254
85255         * lib/fchown-stub.c: New file.
85256
85257 2004-06-24  Jim Meyering  <jim@meyering.net>
85258
85259         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
85260
85261 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
85262
85263         * modules/argz: Omit "#include".
85264
85265         * MODULES.html.sh (func_all_modules): Add calloc, to match
85266         2004-06-01 addition of calloc module.
85267
85268 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
85269
85270         * m4/argz.m4: New file, which is autoupdated from libtool.
85271
85272 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
85273
85274         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
85275         libtool.
85276
85277 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
85278
85279         * config/srclist-update: Don't insist on "USA." before the
85280         close-comment, as libtool omits the period and puts the */ on a
85281         separate line.
85282         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
85283         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
85284
85285 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
85286
85287         * modules/argz: New file.
85288         * MODULES.html.sh (func_all_modules): Add argz.
85289
85290 2004-06-12  Jim Meyering  <jim@meyering.net>
85291         and  Paul Eggert  <eggert@cs.ucla.edu>
85292
85293         * modules/hash (Files): Add lib/xalloc.h.
85294         * modules/pipe (Depends-on): Add wait-process.
85295         * modules/stat (Depends-on): Add xalloc.
85296         * modules/userspec (Files): Add lib/userspec.h.
85297         * modules/xstrto
85298
85299         Upgrade from gettext-0.13.
85300         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
85301         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
85302         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
85303
85304 2004-06-10  Jim Meyering  <jim@meyering.net>
85305
85306         * lib/calloc.c: New file.
85307
85308 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
85309
85310         * lib/getdate.y (yylex): Allow space between sign and number.
85311         Problem reported by Dan Jacobson.
85312
85313 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
85314
85315         Merge from coreutils CVS.
85316
85317         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
85318         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
85319         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
85320         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
85321         xstrtol.m4: Fix copyright date and/or serial number.
85322
85323         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
85324         See if we need an fchown replacement.
85325         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
85326         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
85327         and use the replacement function if we detect either defect.
85328
85329         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
85330         gl_UTIMECMP.
85331
85332 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
85333         and  Jim Meyering  <jim@meyering.net>
85334
85335         Merge from coreutils CVS.
85336
85337         * lib/stat-macros.h: New file, with contents from file-type.h
85338         and coreutils' system.h.
85339         * lib/file-type.c: Include "stat-macros.h".
85340         * lib/file-type.h (file_type): Move all macro definitions to new file,
85341         stat-macros.h.
85342
85343         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
85344         Wrap old code with this conditional.
85345         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
85346         function that does not dereference symlinks.
85347         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
85348
85349         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
85350         dependency problems.
85351         (xreadlink): Accept new arg SIZE, for efficiency.
85352         All decls and uses changed.
85353         * lib/xreadlink.h: Include <stddef.h>, for size_t.
85354
85355         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
85356         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
85357
85358         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
85359         sysexits.h.
85360
85361 2004-06-01  Jim Meyering  <jim@meyering.net>
85362
85363         * m4/calloc.m4: New file.
85364
85365 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
85366
85367         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
85368         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
85369         Also, fix a typo in a diagnostic.
85370
85371 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
85372
85373         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
85374         or AC_FUNC_REALLOC.
85375
85376 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
85377
85378         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
85379         macros to be defined.
85380         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
85381         the allocator returns NULL because the requested size is zero.
85382
85383 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
85384
85385         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
85386         var.  Add comment explaining why libc still defines it.  This
85387         merges the following patch from glibc:
85388         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
85389
85390 2004-05-20  Andreas Schwab  <schwab@suse.de>
85391
85392         * m4/free.m4: Replace free if it not known to work, not the other
85393         way round.
85394
85395 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
85396
85397         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
85398         present in glibc since revision 1.1 of this file.
85399         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
85400         obstack_alignment_mask, obstack_alloc, obstack_base,
85401         obstack_blank, obstack_blank_fast, obstack_chunk_size,
85402         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
85403         obstack_grow0, obstack_init, obstack_int_grow,
85404         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
85405         obstack_next_free, obstack_object_size, obstack_ptr_grow,
85406         obstack_ptr_grow_fast, obstack_room): Remove declarations of
85407         nonexistent functions.
85408
85409 2004-05-18  Karl Berry  <karl@gnu.org>
85410
85411         * config/srclist.txt: break link for vasnprintf.c.
85412
85413 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
85414
85415         Port obstack to the AS/400, where pointers are 16 bytes wide and
85416         you cannot cast an integer to a valid pointer.  This patch is
85417         currently waiting to be integrated into glibc; see
85418         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
85419
85420         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
85421         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
85422         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
85423         (struct obstack): temp member is now a union of a pointer and
85424         an integer, instead of an integer.  All integer uses changed.
85425         This does not affect the physical layout of struct obstack,
85426         except on hosts (like the AS/400) where the size or alignment of
85427         void * is greater than that of ptrdiff_t.
85428         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
85429         __STDC__)]: Store temporary in pointer member of union, not
85430         integer member.
85431         * lib/obstack.c: Include <stddef.h>, for offsetof.
85432         (struct fooalign): Remove; it doesn't need a name.
85433         (union fooround): Change double to long double, and add void *.
85434         (DEFAULT_ALIGNMENT): Use offsetof to compute.
85435         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
85436         not a macro.  Hence the values are always int; so remove all
85437         casts-to-int in uses.
85438
85439 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
85440
85441         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
85442         we can get this patch merged into glibc.
85443
85444 2004-05-17  Derek R. Price  <derek@ximbiot.com>
85445             Paul Eggert  <eggert@cs.ucla.edu>
85446
85447         * m4/argp: Depend on alloca.
85448
85449 2004-05-17  Derek R. Price  <derek@ximbiot.com>
85450             Paul Eggert  <eggert@cs.ucla.edu>
85451
85452         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
85453         freecoding.
85454
85455 2004-05-17  Bruno Haible  <bruno@clisp.org>
85456
85457         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
85458         precision that consists of a '.' followed by an empty digit string.
85459         Patch by Tor Lillqvist <tml@iki.fi>.
85460
85461 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
85462
85463         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
85464         for backward compatibility with older code.  We need our own
85465         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
85466         it under some other name, and our alloca.h will define it.
85467
85468 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
85469             Derek Price  <derek@ximbiot.com>
85470
85471         * lib/alloca.c: Include <alloca.h>, to get our interface.
85472         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
85473         include <alloca.h> first.  Use C89 prototype for alloca; this
85474         requires including <stddef.h> for size_t.  Use extern "C" if C++.
85475         Use #elif for simplicity, since we can assume C89 now.
85476         Don't try to source the system alloca.h since it will not be found
85477         and to prevent recursively including its replacement.
85478         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
85479         * lib/regex.c: Likewise.
85480
85481 2004-05-16  Derek Price  <derek@ximbiot.com>
85482             Paul Eggert  <eggert@cs.ucla.edu>
85483
85484         getline cleanup.  This changes the getndelim2 API: both order of
85485         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
85486         no delimiter).
85487
85488         * lib/getline.c: Don't include stddef.h or stdio.h, since our
85489         interface does that.
85490         (getline): Always use getdelim, so that we don't have two
85491         copies of this code.
85492         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
85493         if available.
85494         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
85495         (GETNDELIM2_MAXIMUM): New macro.
85496         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
85497         instead of the old practice of delim2==0.  All callers changed.
85498         Return -1 on overflow, instead of returning junk.
85499         Do not set *linesize unless allocation succeeds.
85500         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
85501         that we include sys/types.h.
85502         * lib/getnline.h: Likewise.
85503         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
85504         (getndelim2): Reorder arguments.
85505         * lib/getnline.c (getnline, getndelim):
85506         Don't discard the NMAX argument.
85507         (getnline): Invoke getndelim, to avoid code duplication.
85508         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
85509         of (size_t) -1 by callers of the getnline family.
85510
85511 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
85512
85513         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
85514         Check for gettimeofday.
85515         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
85516         Check for settimeofday, stime.
85517
85518 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
85519
85520         * lib/nanosleep.c (suspended): Change its type from int to
85521         sig_atomic_t volatile.
85522         (first_call): Make it private to rpl_nanosleep, and have it
85523         be zero initially as that's a bit faster.
85524         (my_usleep): Round up fractional times instead of truncating them,
85525         as this is the usual meaning for 'sleep'.
85526
85527         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
85528         doesn't work.
85529         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
85530         (ENOSYS): Define if not defined.
85531         (settime): Fall back on stime if it exists and settimeofday fails.
85532         But don't bother with fallbacks if a method fails with errno == EPERM.
85533
85534 2004-05-11  Jim Meyering  <jim@meyering.net>
85535
85536         Prior to this change, the save_cwd caller required read access to the
85537         current directory on most systems (ones with the fchdir function).
85538
85539         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
85540         fails, try write-only, and finally, resort to using xgetcwd.
85541
85542 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
85543
85544         * lib/obstack.c, obstack.h: Import changes from libc.
85545
85546 2004-04-28  Bruno Haible  <bruno@clisp.org>
85547
85548         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
85549         also implicitly appends .exe to executables.
85550         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
85551         accepts Windows pathnames.
85552         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
85553         Treat Cygwin like Windows, since it now accepts Windows pathnames.
85554         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
85555         Treat Cygwin like Windows, since it now accepts Windows pathnames.
85556         Reported by Derek Robert Price <derek@ximbiot.com>.
85557
85558 2004-04-21  Karl Berry  <karl@gnu.org>
85559
85560         * config/srclist.txt (localcharset.c): break sync.
85561
85562 2004-04-20  Paul Eggert  <eggert@twinsun.com>
85563
85564         * m4/host-os.m4: Add a copyright notice.
85565
85566 2004-04-20  Jim Meyering  <jim@meyering.net>
85567
85568         Change UTILS_ to gl_ in AC_DEFINE'd names.
85569         Change utils_- and jm_-prefixed variables, too.
85570         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
85571         UTILS_FUNC_MKDIR_TRAILING_SLASH.
85572         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
85573
85574         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
85575         Don't emit trailing blanks.
85576         Also rename jm_-prefixed variables to have gl_ prefix.
85577
85578         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
85579         Also rename jm_-prefixed variables to have gl_ prefix.
85580
85581         * m4/jm-macros.m4: Reflect the renamings.
85582         * m4/prereq.m4: Likewise.
85583
85584 2004-04-20  Jim Meyering  <jim@meyering.net>
85585
85586         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
85587         memory.
85588
85589 2004-04-20  Jim Meyering  <jim@meyering.net>
85590             Bruno Haible  <bruno@clisp.org>
85591
85592         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
85593         memory when realloc fails.
85594
85595 2004-04-19  Jim Meyering  <jim@meyering.net>
85596
85597         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
85598         now that readutmp.c may call `free (0)'.
85599
85600 2004-04-19  Bruno Haible  <bruno@clisp.org>
85601
85602         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
85603         * m4/inttypes_h.m4: Likewise.
85604         * m4/stdint_h.m4: Likewise.
85605         * m4/intmax_t.m4: Likewise.
85606         * m4/uintmax_t.m4: Likewise.
85607
85608 2004-04-18  Jim Meyering  <jim@meyering.net>
85609
85610         * m4/prereq.m4: Don't forbid jm_ prefix.
85611
85612         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
85613         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
85614         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
85615         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
85616         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
85617         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
85618         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
85619         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
85620         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
85621         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
85622         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
85623         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
85624         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
85625         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
85626         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
85627         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
85628         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
85629         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
85630         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
85631
85632 2004-04-18  Jim Meyering  <jim@meyering.net>
85633
85634         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
85635         failure, don't leak memory and do call END_UTMP_ENT.
85636
85637 2004-04-16  Jim Meyering  <jim@meyering.net>
85638
85639         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
85640         coreutils' stat program.
85641         (gl_PREREQ): Don't require jm_PREREQ_STAT.
85642
85643 2004-04-11  Paul Eggert  <eggert@twinsun.com>
85644
85645         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
85646         C89.
85647         (CHAR_BIT): Remove, since we assume C89.
85648         Include <stdint.h> if available, as per current Autoconf CVS advice.
85649
85650 2004-03-31  Jim Meyering  <jim@meyering.net>
85651
85652         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
85653         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
85654         * m4/xalloc.m4: Likewise.
85655
85656 2004-03-30  Paul Eggert  <eggert@twinsun.com>
85657
85658         Merge from coreutils.
85659
85660         * m4/inttostr.m4: New file.
85661         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
85662         Require AM_STDBOOL_H and gl_TIMESPEC instead.
85663         Require gl_CLOCK_TIME.
85664         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
85665
85666 2004-03-30  Paul Eggert  <eggert@twinsun.com>
85667
85668         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
85669         not bool, to be more consistent with Unix conventions.
85670         Suggested by Bruno Haible.
85671
85672         Merge from coreutils.
85673
85674         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
85675         * lib/umaxtostr.c: New files.
85676
85677         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
85678         the usual <time.h> dance.
85679         (get_date): Change signature to support fractional time stamps.
85680         All callers changed.
85681         * lib/getdate.y: Include "getdate.h" first, as we can now
85682         assume C89 and don't need to worry about 'const'.
85683         Similarly, include "unlocked-io.h" near start, not in middle.
85684         Include <limits.h>.
85685         (textint.value): Use long int rather than int.
85686         (textint.digits): Use size_t rather than int.
85687         (BILLION, LOG10_BILLION): New constants.
85688         (parser_control): New member rel_ns.  Members day_ordinal,
85689         time_zone, month, day, hour, minutes, rel_year, rel_month,
85690         rel_day, rel_hour, rel_minutes, rel_seconds
85691         are now long int, not int.  Member seconds is now struct timespec,
85692         not int.  New member timespec_seen.  Members dates_seen, days_seen,
85693         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
85694         not int.
85695         (%union.intval): Now long int, not int.
85696         New member timespec.
85697         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
85698         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
85699         (spec): Now is a timespec or an item list.
85700         (timespec, items): New nonterminals.
85701         (time, rel, relunit, number, get_date):
85702         Add support for fractional seconds.
85703         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
85704         (gmtime, localtime, mktime): Remove decls; not needed with C89.
85705         (to_hour): First arg is now long int, not int.
85706         (to_year): Returns long int, not int.
85707         Don't treat year -70 like 70.
85708         (tm_diff): Returns long int, not int.
85709         (lookup_word): Use bool instead of int when appropriate.
85710         (yylex): Use size_t for count, not int.
85711         Detect overflow when parsing large integer constants.
85712         Add support for fractions.
85713         (get_date): Make pointers 'const' if possible.
85714         Use more-portable code to detect integer overflow.
85715         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
85716         Don't use ctime; it's not reliable if the year has >4 digits.
85717
85718         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
85719         This is for compatibility with BSD.
85720
85721         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
85722         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
85723         From coreutils' system.h.
85724
85725         * lib/userspec.c: Don't include "posixver.h".
85726         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
85727         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
85728         compatible extension.  Simplify code by removing a boolean int
85729         that was always nonzero if a string was nonnull.
85730
85731 2004-03-30  Jim Meyering  <jim@meyering.net>
85732
85733         Merge from coreutils.
85734
85735         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
85736         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
85737         on some systems one must include <grp.h> before it.
85738         Reported by Christian Krackowizer.
85739
85740 2004-03-30  Jim Meyering  <jim@meyering.net>
85741
85742         Merge from coreutils.
85743
85744         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
85745
85746         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
85747         an empty input stream.
85748
85749         * lib/readtokens.c: Include <stdbool.h>.
85750         (readtoken): Use `size_t' rather than int/long.
85751         All callers adjusted.
85752         Use `bool' rather than `int' where appropriate.
85753         Use memset rather than an explicit loop.
85754         Use x2nrealloc rather than xrealloc.
85755         Allow the use of `\0' as a delimiter.
85756         (readtokens): Likewise.
85757         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
85758
85759 2004-03-30  Jim Meyering  <jim@meyering.net>
85760
85761         * m4/realloc.m4: Remove file, since now it does no more than
85762         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
85763         the `configure.ac' section of module/realloc.
85764         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
85765
85766 2004-03-30  Bruno Haible  <bruno@clisp.org>
85767
85768         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
85769         nonnull.
85770
85771 2004-03-29  Paul Eggert  <eggert@twinsun.com>
85772
85773         Merge changes to getloadavg.c from coreutils and Emacs.
85774
85775         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
85776         Define to an expression, not to the empty string.
85777         Include cloexec.h and xalloc.h.
85778         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
85779         Use set_cloexec_flag rather than rolling our own.
85780         * lib/cloexec.c, lib/cloexec.h: New files.
85781
85782 2004-03-29  Paul Eggert  <eggert@twinsun.com>
85783
85784         * m4/cloexec.m4: New file.
85785
85786 2004-03-18  Paul Eggert  <eggert@twinsun.com>
85787
85788         * lib/getopt.h: Sync with libc CVS.
85789
85790 2004-03-18  Paul Eggert  <eggert@twinsun.com>
85791             Bruno Haible  <bruno@clisp.org>
85792
85793         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
85794         mbswidth.
85795
85796 2004-03-18  Paul Eggert  <eggert@twinsun.com>
85797             Bruno Haible  <bruno@clisp.org>
85798
85799         * lib/mbswidth.h: Include <wchar.h> only if
85800         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
85801         <wchar.h>.
85802         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
85803
85804 2004-03-09  Paul Eggert  <eggert@twinsun.com>
85805
85806         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
85807         Sync with libc CVS.
85808         * lib/getopt_int.h: New file, also synced from libc.
85809
85810 2004-03-09  Paul Eggert  <eggert@twinsun.com>
85811
85812         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
85813         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
85814         Bring back getopt.c, getopt.h, getopt1.c.
85815
85816 2004-03-07  Paul Eggert  <eggert@twinsun.com>
85817
85818         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
85819         All uses changed.  Check for sa_sigaction member; this fixes
85820         a bug first reported by Jason Andrade in
85821         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
85822
85823 2004-03-07  Paul Eggert  <eggert@twinsun.com>
85824
85825         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
85826         '#if' expressions.  Unlike the code it replaces, it does not
85827         depend on (defined _SC_PAGESIZE).  However, it does depend on
85828         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
85829         first reported by Jason Andrade in
85830         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
85831
85832 2004-02-25  Simon Josefsson  <jas@extundo.com>
85833
85834         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
85835
85836 2004-02-25  Simon Josefsson  <jas@extundo.com>
85837
85838         * lib/strdup.h: New file.
85839         * lib/strdup.c: Include it.
85840         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
85841         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
85842
85843 2004-02-23  Karl Berry  <karl@gnu.org>
85844
85845         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
85846         (from fencepost.gnu.org:/gd/gnuorg).
85847
85848 2004-02-23  Karl Berry  <karl@gnu.org>
85849
85850         * config/srclistvars.sh (GNUORG) [karl]: redefine.
85851         * config/srclist.txt: add maintain/standards documents.
85852
85853 2004-02-18  Bruno Haible  <bruno@clisp.org>
85854
85855         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
85856         Reported by Derek Robert Price <derek@ximbiot.com>.
85857
85858 2004-02-16  Karl Berry  <karl@gnu.org>
85859
85860         * config/mkinstalldirs, install-sh: update from automake.
85861
85862 2004-02-06  Karl Berry  <karl@gnu.org>
85863
85864         * m4/po.m4: update from gettext 0.14.1.
85865
85866 2004-02-06  Karl Berry  <karl@gnu.org>
85867
85868         * lib/config.charset: update from gettext 0.14.1.
85869
85870 2004-02-05  Paul Eggert  <eggert@twinsun.com>
85871
85872         Add comments and code, prompted by suggestions from Bruno Haible
85873         for sh-quote.
85874         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
85875         describing the enum quoting_style values.
85876         * lib/quotearg.c (quotearg_alloc): New function.
85877         (quotearg_buffer_restyled): Treat lone { and } as special.
85878         Treat = as special.  Work around bug with older shells
85879         that "see" a '\' that is really the 2nd byte of a multibyte char.
85880         Quote empty string with shell_quoting_style.
85881
85882 2004-02-03  Bruno Haible  <bruno@clisp.org>
85883
85884         * m4/pipe.m4: New file, from GNU gettext.
85885
85886 2004-02-03  Bruno Haible  <bruno@clisp.org>
85887
85888         * lib/pipe.h: New file, from GNU gettext.
85889         * lib/pipe.c: New file, from GNU gettext.
85890
85891 2004-01-27  Bruno Haible  <bruno@clisp.org>
85892
85893         * m4/execute.m4: New file, from GNU gettext.
85894
85895 2004-01-27  Bruno Haible  <bruno@clisp.org>
85896
85897         * lib/execute.h: New file, from GNU gettext.
85898         * lib/execute.c: New file, from GNU gettext.
85899         * lib/w32spawn.h: New file, from GNU gettext.
85900
85901 2004-01-24  Paul Eggert  <eggert@twinsun.com>
85902
85903         Merge from diffutils.
85904
85905         * lib/file-type.c (file_type): Add typed memory objects.
85906         * lib/file-type.h (S_TYPEISTMO): New macro.
85907
85908         * lib/c-stack.h (c_stack_action): Remove argv argument.
85909         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
85910         (die): Don't calculate message unless segv_action returns.
85911         (get_stack_location, min_address_from_argv, max_address_from_argv,
85912         volatile stack_base, volatile_stack_size): Remove.
85913         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
85914         that every segmentation violation is a stack overflow.  (Ouch!)
85915         See Debian bug 136249 (still outstanding) for more info about why
85916         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
85917
85918 2004-01-24  Paul Eggert  <eggert@twinsun.com>
85919
85920         Exit-status fix from coreutils.
85921
85922         Use exit_failure consistently in place of EXIT_FAILURE,
85923         so that program exit statuses are consistent on failure.
85924
85925         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
85926         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
85927         * lib/argmatch.h: Comment fix to match the above.
85928         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
85929         Now a macro referring to exit_failure, instead of a separate
85930         variable.  Include "exitfail.h" to get it.
85931         * lib/xstrtol.h: Include "exitfail.h".
85932         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
85933
85934         * lib/long-options.c (parse_long_options): Use prototype
85935         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
85936         for clarity.
85937
85938 2004-01-21  Jim Meyering  <jim@meyering.net>
85939
85940         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
85941         so as not to conflict with a different-sized __mktime_internal
85942         function in GNU libc.
85943         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
85944         Problem building statically-linked `ls' reported by Michael Brunnbauer.
85945
85946 2004-01-20  Karl Berry  <karl@gnu.org>
85947
85948         * config/config.guess: update from config.
85949
85950         * config/srclistvars.sh: GNUWWWLICENSES for karl.
85951
85952 2004-01-20  Bruno Haible  <bruno@clisp.org>
85953
85954         Safer stack allocation.
85955         * lib/setenv.c: Include allocsa.h.
85956         (alloca): Remove fallback definition.
85957         (freea): Remove macro.
85958         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
85959         instead of freea.
85960
85961 2004-01-20  Bruno Haible  <bruno@clisp.org>
85962
85963         * m4/eealloc.m4: New file, from GNU gettext.
85964
85965 2004-01-20  Bruno Haible  <bruno@clisp.org>
85966
85967         * m4/allocsa.m4: New file, from GNU gettext.
85968
85969 2004-01-20  Bruno Haible  <bruno@clisp.org>
85970
85971         * lib/xallocsa.h: New file, from GNU gettext.
85972         * lib/xallocsa.c: New file, from GNU gettext.
85973
85974 2004-01-20  Bruno Haible  <bruno@clisp.org>
85975
85976         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
85977
85978 2004-01-20  Bruno Haible  <bruno@clisp.org>
85979
85980         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
85981         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
85982         specially.
85983
85984 2004-01-20  Bruno Haible  <bruno@clisp.org>
85985
85986         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
85987         patch.
85988
85989 2004-01-20  Bruno Haible  <bruno@clisp.org>
85990
85991         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
85992
85993 2004-01-20  Bruno Haible  <bruno@clisp.org>
85994
85995         * lib/eealloc.h: New file.
85996
85997 2004-01-20  Bruno Haible  <bruno@clisp.org>
85998
85999         * lib/binary-io.h: Avoid warnings on Cygwin.
86000
86001 2004-01-20  Bruno Haible  <bruno@clisp.org>
86002
86003         * lib/allocsa.h: New file, from GNU gettext.
86004         * lib/allocsa.c: New file, from GNU gettext.
86005
86006 2004-01-18  Karl Berry  <karl@gnu.org>
86007
86008         * doc/gpl.texi, doc/lgpl.texi: new files.
86009
86010 2004-01-18  Karl Berry  <karl@gnu.org>
86011
86012         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
86013         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
86014
86015 2004-01-15  Paul Eggert  <eggert@twinsun.com>
86016
86017         Merge from coreutils.
86018
86019         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
86020         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
86021         (gl_DEFAULT_POSIX2_VERSION): Move
86022         the documentation from 'configure' into 'config.hin',
86023         so that 'configure --help' isn't burdened by it and
86024         we don't have to worry about its formatting there.
86025         Reword the documentation so that it's more succinct
86026         and can be run together into a single paragraph.
86027         * m4/same.m4 (gl_SAME): Check for pathconf.
86028
86029 2004-01-15  Paul Eggert  <eggert@twinsun.com>
86030
86031         Merge from coreutils.
86032
86033         * lib/posixver.c: Include posixver.h.
86034
86035         * lib/same.c: Include <stdbool.h>, <limits.h>.
86036         (_POSIX_NAME_MAX): Define if not defined.
86037         (MIN): New macro.
86038         (same_name): If file names are silently truncated, report
86039         that the file names are the same if they are the same after
86040         the silent truncation.
86041
86042         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
86043         conversion function.
86044         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
86045         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
86046         longer needed.
86047
86048 2004-01-15  Jim Meyering  <jim@meyering.net>
86049
86050         Merge from coreutils.
86051
86052         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
86053         if no library is required.
86054         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
86055         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
86056         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
86057         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
86058         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
86059         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
86060         value, $ac_cv_search_crypt, if it's "none required".
86061         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
86062         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
86063         not gl_FUNC_GETLOADAVG.
86064         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
86065         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
86066
86067 2004-01-15  Jim Meyering  <jim@meyering.net>
86068
86069         Merge from coreutils.
86070
86071         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
86072         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
86073         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
86074
86075         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
86076         optional configure-time default.
86077
86078         * lib/version-etc.c (version_etc_copyright): Update copyright date.
86079
86080         * lib/xreadlink.c (xreadlink): Correct outdated comment.
86081
86082 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
86083
86084         Merge from coreutils.
86085
86086         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
86087         value, $ac_cv_search_nanosleep, if it's "none required".
86088
86089 2004-01-14  Paul Eggert  <eggert@twinsun.com>
86090
86091         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
86092         with like-named macro in fnmatch.c.
86093         (EXT): Use an internal constant instead.
86094
86095         Merge fnmatch patches from glibc.
86096         * lib/fnmatch.c (mbsinit): Remove define.
86097         Add libc_hidden_ver (__fnmatch, fnmatch).
86098         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
86099         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
86100
86101 2004-01-14  Karl Berry  <karl@gnu.org>
86102
86103         * config/install-sh: update from automake.
86104
86105 2004-01-13  Karl Berry  <karl@gnu.org>
86106
86107         * config/install-sh: update from automake.
86108
86109 2004-01-09  Karl Berry  <karl@gnu.org>
86110
86111         * config/install-sh: update from automake.
86112
86113 2004-01-05  Karl Berry  <karl@gnu.org>
86114
86115         * config/config.{sub,guess}: update from config.
86116
86117 2003-12-31  Karl Berry  <karl@gnu.org>
86118
86119         * config/depcomp: update from automake.
86120
86121 2003-12-14  Karl Berry  <karl@gnu.org>
86122
86123         * lib/config.charset: update from gettext-runtime.
86124
86125 2003-12-03  Paul Eggert  <eggert@twinsun.com>
86126
86127         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
86128         Bug reported by Alfred M. Szmidt.
86129
86130 2003-12-03  Bruno Haible  <bruno@clisp.org>
86131
86132         * m4/gettext.m4: Upgrade from gettext-0.13.
86133         * m4/po.m4: Upgrade from gettext-0.13.
86134         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
86135         * m4/intmax.m4: New file, from gettext-0.13.
86136         * m4/printf-posix.m4: New file, from gettext-0.13.
86137
86138 2003-11-29  Karl Berry  <karl@gnu.org>
86139
86140         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
86141
86142 2003-11-25  Paul Eggert  <eggert@twinsun.com>
86143             Bruno Haible  <bruno@clisp.org>
86144
86145         * lib/printf-parse.h: Don't include sys/types.h.
86146         (ARG_NONE): New macro.
86147         (char_directive): Change type of *arg_index fields to size_t.
86148         * lib/printf-parse.c: Don't include sys/types.h.
86149         (SSIZE_MAX): Remove macro.
86150         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
86151         Remove unnecessary overflow check.
86152         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
86153         fields.
86154
86155 2003-11-25  Bruno Haible  <bruno@clisp.org>
86156
86157         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
86158
86159 2003-11-25  Bruno Haible  <bruno@clisp.org>
86160
86161         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
86162         gt_TYPE_SSIZE_T.
86163
86164 2003-11-24  Paul Eggert  <eggert@twinsun.com>
86165
86166         * modules/alloca: Remove dependency on xalloc.
86167
86168 2003-11-24  Paul Eggert  <eggert@twinsun.com>
86169
86170         * lib/alloca.c: Remove dependency on xalloc module.
86171         (xalloc_die): Remove.
86172         (memory_full) [!defined emacs]: New macro.
86173         [!defined emacs]: Don't include xalloc.h.
86174         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
86175         address arithmetic overflows.  Change datatypes a bit to avoid
86176         unnecessary casts.
86177
86178 2003-11-22  Jim Meyering  <jim@meyering.net>
86179
86180         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
86181         s/size/size_t/.
86182
86183 2003-11-21  Karl Berry  <karl@gnu.org>
86184
86185         * config/config.{sub,guess}: update from config.
86186
86187 2003-11-18  Karl Berry  <karl@gnu.org>
86188
86189         * config/config.{sub,guess}: update from config.
86190
86191         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
86192
86193 2003-11-17  Paul Eggert  <eggert@twinsun.com>
86194
86195         * README: Mention that S+T cannot overflow if S is the size of
86196         an existing object and T is sufficiently small.
86197
86198 2003-11-17  Jim Meyering  <jim@meyering.net>
86199
86200         On systems without utime and without a utimes function capable of
86201         dealing with a NULL struct utimbuf* argument, this utime replacement
86202         could -- in unusual circumstances -- leak a file descriptor.
86203         * lib/utime.c: Include <unistd.h> and <errno.h>.
86204         (utime_null): Be sure to close `fd' and to preserve errno.
86205         Reported by Geoff Collyer via Arnold Robbins.
86206
86207 2003-11-17  Bruno Haible  <bruno@clisp.org>
86208
86209         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
86210         (Depends-on): Add xsize.
86211
86212 2003-11-17  Bruno Haible  <bruno@clisp.org>
86213
86214         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
86215
86216 2003-11-17  Bruno Haible  <bruno@clisp.org>
86217
86218         * lib/vasnprintf.c (alloca): Remove fallback definition.
86219         (freea): Remove definition.
86220         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
86221         Reported by Paul Eggert.
86222
86223 2003-11-16  Paul Eggert  <eggert@twinsun.com>
86224             Bruno Haible  <bruno@clisp.org>
86225
86226         Protect against address arithmetic overflow.
86227         * lib/printf-args.h: Include stddef.h.
86228         (arguments): Change type of field 'count' to size_t.
86229         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
86230         'unsigned int' where appropriate.
86231         * lib/printf-parse.h: Include sys/types.h.
86232         (char_directive): Change type of *arg_index fields to ssize_t.
86233         (char_directives): Change type of fields 'count', max_*_length to
86234         size_t.
86235         * lib/printf-parse.c: Include sys/types.h and xsize.h.
86236         (SSIZE_MAX): Define fallback value.
86237         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
86238         instead of 'int' where appropriate. Check a_allocated, d_allocated
86239         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
86240         * lib/vasnprintf.c: Include xsize.h.
86241         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
86242         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
86243         overflow. Avoid wraparound when converting a width or precision from
86244         decimal to binary.
86245
86246 2003-11-16  Bruno Haible  <bruno@clisp.org>
86247
86248         Update from GNU gettext.
86249         * lib/printf-parse.c: Generalize to it can be compiled for wide
86250         strings.
86251         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
86252         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
86253         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
86254         SNPRINTF): New macros.
86255         Don't include <alloca.h> if the file is used inside libintl.
86256         (local_wcslen): New function, for Solaris 2.5.1.
86257         (VASNPRINTF): Use it instead of wcslen.
86258
86259 2003-11-16  Bruno Haible  <bruno@clisp.org>
86260
86261         * lib/xsize.h (xmax): New function.
86262         (xsum, xsum3, xsum4): Declare as "pure" functions.
86263
86264 2003-11-12  Paul Eggert  <eggert@twinsun.com>
86265
86266         * modules/xalloc (Files): Undo latest change, since xalloc.h
86267         no longer needs SIZE_MAX or PTRDIFF_MAX.
86268
86269 2003-11-12  Paul Eggert  <eggert@twinsun.com>
86270
86271         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
86272         gl_PTRDIFF_MAX.
86273
86274 2003-11-12  Paul Eggert  <eggert@twinsun.com>
86275
86276         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
86277         "return", to pacify some unknown compiler.  Problem reported
86278         by Joerg Schilling.
86279
86280 2003-11-12  Paul Eggert  <eggert@twinsun.com>
86281
86282         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
86283         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
86284         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
86285         heuristic is just as accurate as far as we know, and it removes a
86286         dependency on size_max.m4 and ptrdiff_max.m4.
86287
86288 2003-11-11  Bruno Haible  <bruno@clisp.org>
86289
86290         * modules/xsize (Files): Add m4/size_max.m4.
86291         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
86292
86293 2003-11-11  Bruno Haible  <bruno@clisp.org>
86294
86295         * m4/size_max.m4: New file.
86296         * m4/ptrdiff_max.m4: New file.
86297         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
86298         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
86299         (gl_XALLOC): Invoke it.
86300
86301 2003-11-11  Bruno Haible  <bruno@clisp.org>
86302
86303         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
86304         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
86305         defined.
86306
86307 2003-11-10  Paul Eggert  <eggert@twinsun.com>
86308
86309         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
86310         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
86311         rejected some allocations of exactly SIZE_MAX - 2 bytes.
86312         From Bruno Haible.
86313         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
86314         not (size_t) -1, since it's defined here.
86315
86316 2003-11-09  Karl Berry  <karl@gnu.org>
86317
86318         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
86319
86320 2003-11-06  Paul Eggert  <eggert@twinsun.com>
86321
86322         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
86323         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
86324         Reject sizes of exactly SIZE_MAX bytes.
86325         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
86326         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
86327
86328 2003-11-05  Bruno Haible  <bruno@clisp.org>
86329
86330         * lib/xsize.h: Include limits.h, to avoid a possible collision with
86331         SIZE_MAX defined in <limits.h> on Solaris.
86332
86333 2003-11-04  Jim Meyering  <jim@meyering.net>
86334
86335         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
86336         variable names, rather than @VAR@.
86337         * modules/poll: Likewise.
86338
86339 2003-11-04  Bruno Haible  <bruno@clisp.org>
86340
86341         * modules/xsize: New file.
86342         * modules/linebreak: Depend on xsize.
86343         * MODULES.html.sh (func_all_modules): Add xsize.
86344
86345 2003-11-04  Bruno Haible  <bruno@clisp.org>
86346
86347         * m4/xsize.m4: New file.
86348
86349 2003-11-04  Bruno Haible  <bruno@clisp.org>
86350
86351         * lib/xsize.h: New file.
86352         * lib/linebreak.c: Include xsize.h.
86353         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
86354         argument for overflow.
86355         Suggested by Paul Eggert.
86356
86357 2003-11-03  Karl Berry  <karl@gnu.org>
86358
86359         * config/config.{guess,sub}: update from config.
86360
86361 2003-11-03  Jim Meyering  <jim@meyering.net>
86362
86363         * modules/userspec (lib_SOURCES): Add userspec.h.
86364         (Include): Add "userspec.h".
86365         Improve description.
86366
86367 2003-11-03  Jim Meyering  <jim@meyering.net>
86368
86369         * lib/userspec.c: Include "userspec.h".
86370         * lib/userspec.h: New file.
86371
86372 2003-11-03  Bruno Haible  <bruno@clisp.org>
86373
86374         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
86375
86376 2003-11-03  Bruno Haible  <bruno@clisp.org>
86377
86378         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
86379         available, to avoid (extremely rare) race condition.
86380         Suggested by Paul Eggert.
86381
86382 2003-11-02  Karl Berry  <karl@gnu.org>
86383
86384         * config/srclist.txt (vasprintf.c): sync broken, sigh.
86385
86386 2003-10-31  Paul Eggert  <eggert@twinsun.com>
86387
86388         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
86389         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
86390         (read_filesystem_list): Set and use me_type_malloced.
86391         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
86392         whatever the type happens to be), for brevity and consistency.
86393         Check for size calculation overflow on Alphas running OSF/1.
86394
86395 2003-10-31  Jim Meyering  <jim@meyering.net>
86396
86397         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
86398
86399         * lib/linebuffer.c: Include <string.h> for declaration of memset.
86400
86401 2003-10-30  Paul Eggert  <eggert@twinsun.com>
86402             Bruno Haible  <bruno@clisp.org>
86403
86404         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
86405         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
86406
86407 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
86408
86409         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
86410         netbsd*-gnu*.  Suggested by Robert Millan.
86411
86412 2003-10-29  Paul Eggert  <eggert@twinsun.com>
86413
86414         * modules/group-member: Depend on stdbool.
86415
86416 2003-10-29  Paul Eggert  <eggert@twinsun.com>
86417
86418         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
86419
86420 2003-10-29  Paul Eggert  <eggert@twinsun.com>
86421
86422         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
86423         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
86424         after the 'gnu' in these cases.  This fixes some bugs in the
86425         previous change, and is based on suggestions by Robert Millan.
86426
86427 2003-10-29  Paul Eggert  <eggert@twinsun.com>
86428
86429         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
86430         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
86431         no longer needed.
86432         * lib/quotearg.c (quotearg_n_options): Use it.
86433         * lib/group-member.c: Include <stdbool.h>.
86434         (free_group_info): Arg is now const *; don't free arg.
86435         (get_group_info): Now returns bool and accepts struct group_info *,
86436         rather than returning a malloc'ed struct group_info *.
86437         All uses changed.  Check for overflow in internal size calculation.
86438
86439         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
86440         rather than xmalloc/xrealloc.
86441         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
86442         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
86443         conformance bug: the old code used a pointer after freeing the
86444         storage that it addressed.
86445         * lib/hash.c (hash_initialize): Simplify the code by using
86446         xalloc_oversized rather than doing it by hand.
86447         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
86448         the buffer preserved.  Use free and xmalloc instead.
86449         * lib/quotearg.c (quotearg_n_options): Likewise.
86450         Use a simpler test for size overflow.  Don't use xalloc_oversized
86451         because unsigned int might be wider than size_t (!); this suggests
86452         that we should switch from unsigned int to size_t for slot numbers.
86453
86454 2003-10-28  Paul Eggert  <eggert@twinsun.com>
86455
86456         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
86457         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
86458         NetBSD kernels.  Requested by Richard Stallman.
86459
86460 2003-10-27  Paul Eggert  <eggert@twinsun.com>
86461
86462         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
86463         to allocate the returned structure.  Do not allocate a subarray,
86464         as x2nrealloc will do that.
86465         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
86466         instead of xnrealloc.
86467         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
86468
86469 2003-10-27  Bruno Haible  <bruno@clisp.org>
86470
86471         * lib/stdbool_.h: Better support for BeOS.
86472
86473 2003-10-26  Paul Eggert  <eggert@twinsun.com>
86474
86475         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
86476         now uses inline.
86477
86478 2003-10-26  Paul Eggert  <eggert@twinsun.com>
86479
86480         * lib/xalloc.h (xalloc_oversized): New static inline function, for
86481         callers that want to do their own size-overflow checking.  Include
86482         <stdbool.h>, since xalloc_oversized returns bool.
86483         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
86484         to use xalloc_oversized.
86485
86486         Add two functions x2realloc, x2nrealloc, for programs that grow
86487         arrays dynamically by doubling their sizes.
86488         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
86489         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
86490         New functions.
86491
86492         Port to C99 semantics for 'inline' of external functions.
86493         Bug reported by Bruno Haible.
86494         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
86495         with the old contents of xnmalloc.
86496         (xnmalloc, xmalloc): Use it.
86497         (xnrealloc_inline): New static inline function,
86498         with the old contents of xnrealloc.
86499         (xnrealloc, xrealloc): Use it.
86500
86501         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
86502         that.
86503
86504 2003-10-26  Karl Berry  <karl@gnu.org>
86505
86506         * config/srclist.txt (COPYING.DOC): no longer available from
86507         /gd/gnuorg; don't know where the ultimate source is.
86508
86509 2003-10-25  Paul Eggert  <eggert@twinsun.com>
86510
86511         Fix several address-calculation bugs in the hash modules,
86512         plus some minor code cleanup.
86513
86514         * lib/hash.h: Include <stdbool.h>, for bool.
86515         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
86516         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
86517         hash_get_n_entries, hash_get_max_bucket_length,
86518         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
86519         hash_rehash): Use size_t rather than unsigned.
86520         * lib/hash.c (struct hash_table, hash_get_n_buckets,
86521         hash_get_n_buckets_used, hash_get_n_entries,
86522         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
86523         hash_get_entries, hash_do_for_each, hash_string, is_prime,
86524         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
86525         Likewise.
86526         (SIZE_MAX): Define if not defined.
86527         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
86528         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
86529         hash_print):
86530         Use const * when possible.
86531         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
86532         (check_tuning): Fix bug: if tuning parameters were very close to
86533         0 or 1, rounding errors could have caused subscript violations.
86534         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
86535         (hash_initialize): Add 'fail:' label
86536         to free table and return NULL, and use it to simplify code.
86537         Use calloc rather than clearing the storage ourself.
86538         (hash_initialize, hash_rehash): Check for arithmetic overflow in
86539         buffer size calculations.
86540         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
86541         Include <stddef.h>, for size_t.
86542         * lib/hash-pjw.c (hash_pjw): Likewise.
86543         Switch to method described by Bruno Haible.
86544         Include <limits.h>, for CHAR_BIT.
86545         (SIZE_BITS): New macro.
86546
86547 2003-10-23  Paul Eggert  <eggert@twinsun.com>
86548
86549         * m4/getline.m4 (AM_FUNC_GETLINE):
86550         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
86551         hosts.  Problem reported by Derek Robert Price in
86552         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
86553         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
86554         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
86555
86556 2003-10-21  Paul Eggert  <eggert@twinsun.com>
86557
86558         * lib/getndelim2.c (getndelim2): When size calculation overflows,
86559         ceiling the allocation at NMAX bytes rather than silently
86560         discarding input bytes before NMAX is reached.  This makes
86561         a difference only if NMAX exceeds SIZE_MAX / 2.
86562
86563         * lib/obstack.c: Merge from glibc.
86564         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
86565         Add libc_hidden_def (_obstack_newchunk).
86566         (_obstack_free) [! defined _LIBC]: Remove.
86567         [defined _LIBC]: Make a strong alias from obstack_free, rather than
86568         a clone of the function body.
86569         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
86570         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
86571
86572         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
86573         glibc.
86574         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
86575         arg to memcpy.
86576
86577         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
86578         (obstack_ptr_grow_fast, obstack_int_grow_fast):
86579         Don't use lvalue casts, as GCC plans to remove support for them
86580         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
86581         was also present in the non-GCC version, indicating that this
86582         code had always been buggy and had never been widely used.
86583         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
86584         Use the fast variant of each macro, rather than copying the
86585         definiens of the fast variant; that way, we'll be more likely to
86586         catch future bugs in the fast variants.
86587
86588 2003-10-20  Bruno Haible  <bruno@clisp.org>
86589
86590         * modules/wait-process: New file.
86591         * MODULES.html.sh (func_all_modules): Add wait-process.
86592
86593 2003-10-20  Bruno Haible  <bruno@clisp.org>
86594
86595         * m4/wait-process.m4: New file.
86596
86597 2003-10-20  Bruno Haible  <bruno@clisp.org>
86598
86599         * lib/wait-process.h: New file, from GNU gettext.
86600         * lib/wait-process.c: New file, from GNU gettext.
86601
86602 2003-10-19  Jim Meyering  <jim@meyering.net>
86603
86604         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
86605         HPUX 10.20.
86606
86607 2003-10-18  Karl Berry  <karl@gnu.org>
86608
86609         * config/config.guess: update from config.
86610
86611 2003-10-16  Paul Eggert  <eggert@twinsun.com>
86612
86613         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
86614         (getgroups): First arg is int, not size_t.
86615         Don't let 'free' mangle errno.
86616
86617 2003-10-16  Paul Eggert  <eggert@twinsun.com>
86618
86619         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
86620
86621 2003-10-16  Karl Berry  <karl@gnu.org>
86622
86623         * config/config.{guess,sub}: update from config.
86624
86625 2003-10-16  Jim Meyering  <jim@meyering.net>
86626
86627         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
86628         memcpy.
86629
86630 2003-10-15  Paul Eggert  <eggert@twinsun.com>
86631
86632         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
86633         (SIZE_MAX): Remove.
86634         (new_exclude, add_exclude_file): Initial size no longer needs to
86635         be a power of 2.
86636         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
86637         our own address arithmetic overflow checking.
86638
86639         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
86640         (fnmatch): Do not alloca more than 2000 wide characters;
86641         instead, use malloc for large buffers.
86642         Check for address arithmetic overflow, and return -1
86643         with errno set to ENOMEM in that case.
86644         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
86645         (NEW_PATTERN): Do not alloca more than 8000 bytes;
86646         instead, return -1.  Check for address arithmetic overflow.
86647
86648 2003-10-14  Paul Eggert  <eggert@twinsun.com>
86649
86650         Handle invalid suffixes and overflow independently, so that
86651         callers can treat them independently as needed.  Fix some bugs in
86652         suffix handling, e.g., "100k@" was not diagnosed as an invalid
86653         suffix for a human-readable blocksize.  The major caller-visible
86654         change is the addition of a new
86655         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
86656         that both overflow and suffix chars were found.
86657
86658         * lib/human.c (humblock): Don't check separately for invalid suffix
86659         char; that is xstrtoumax's job (now that its bug is fixed).
86660         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
86661         INTMAX_MAX]: New macros.
86662         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
86663         TYPE_MAXIMUM): New macros.
86664         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
86665         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
86666         if overflow occurs, as it's what __strtol does and it's more useful
86667         in practice.
86668         (__xstrtol): If __strtol reports some error other than ERANGE,
86669         reflect it to the caller as LONGINT_INVALID.  If it reports
86670         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
86671         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
86672         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
86673         value.
86674         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
86675         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
86676         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
86677         [defined UINTMAX_MAX]: New macros.
86678
86679 2003-10-14  Bruno Haible  <bruno@clisp.org>
86680
86681         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
86682
86683 2003-10-14  Bruno Haible  <bruno@clisp.org>
86684
86685         * m4/sig_atomic_t: New file, from GNU gettext.
86686         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
86687
86688 2003-10-14  Bruno Haible  <bruno@clisp.org>
86689
86690         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
86691         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
86692         Also use volatile where needed.
86693
86694 2003-10-12  Paul Eggert  <eggert@twinsun.com>
86695
86696         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
86697         Change maintainer from Bruno Haible to 'all'.
86698
86699 2003-10-12  Paul Eggert  <eggert@twinsun.com>
86700
86701         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
86702
86703 2003-10-12  Paul Eggert  <eggert@twinsun.com>
86704
86705         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
86706         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
86707         and define in terms of the other primitives.
86708         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
86709         (SIZE_MAX): Define if not already defined.
86710         (array_size_overflow): New function.
86711         (xalloc_die): Abort instead of exiting if 'error' returns.
86712         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
86713         (xmalloc, xrealloc): Use them.
86714         (xcalloc): Check for address arithmetic overflow.
86715         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
86716         a bit faster than strcpy.
86717
86718 2003-10-10  Simon Josefsson  <jas@extundo.com>
86719
86720         * modules/argp (Depends-on): Add restrict and strcase.
86721
86722 2003-10-10  Simon Josefsson  <jas@extundo.com>
86723
86724         * m4/argp.m4: Add AC_C_INLINE.
86725
86726 2003-10-08  Paul Eggert  <eggert@twinsun.com>
86727
86728         Merge getpass from libc, plus a few fixes.
86729
86730         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
86731         Include <stdbool.h>.
86732         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
86733         __fsetlocking to empty.
86734         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
86735         do include <bits/libc-lock.h>.
86736         Do not include <fcntl.h>; not needed.
86737         [_LIBC]: Include <wchar.h>.
86738         (NOTCANCEL_MODE): New macro.
86739         (flockfile, funlockfile) [_LIBC]: New macros.
86740         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
86741         [!_LIBC]: New macros.
86742         (call_fclose): New function.
86743         (getpass): Use it.  Save tty stream separately; this simplifies the
86744         code and makes it more reliable if stdin happens to equal stdout.
86745         Invoke __fsetlocking on tty.
86746         Handle thread cancellation if needed.
86747         Namespace cleanup (use __tcgetattr, __getline).
86748         Use bool for Booleans.
86749         [USE_IN_LIBIO]: Handle wide streams.
86750         [!_LIBC]: Unconditionally do the fseek, since we don't know what
86751         stream might go where.
86752
86753         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
86754         doesn't have to include <stdio.h> before us.
86755         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
86756         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
86757         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
86758         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
86759         if not declared, so that we can use getpass.c code from libc without
86760         rewriting it.
86761         (flockfile, ftrylockfile, funlockfile): New macros.
86762
86763 2003-10-08  Paul Eggert  <eggert@twinsun.com>
86764
86765         * modules/getpass: Depend on stdbool.
86766
86767 2003-10-08  Paul Eggert  <eggert@twinsun.com>
86768
86769         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
86770
86771 2003-10-07  Karl Berry  <karl@gnu.org>
86772
86773         * config/config.{guess,sub}: update from config.
86774
86775 2003-10-06  Jim Meyering  <jim@meyering.net>
86776             Bruno Haible  <bruno@clisp.org>
86777
86778         This lets translators provide better translations for the
86779         "Written by ..." part of --version output.
86780         * lib/version-etc.h: Include stdarg.h.
86781         (version_etc_copyright): Declare as readonly.
86782         (version_etc): Make this function variadic with a NULL-terminated list
86783         of author name strings.
86784         (version_etc_va): New declaration.
86785         * lib/version-etc.c: Include stdarg.h, stdlib.h.
86786         (version_etc_copyright): Declare as readonly.
86787         (version_etc_va): New function. Provide a different translatable string
86788         for each possible number of authors < 10. Abbreviate when there are 10
86789         authors or more.
86790         (version_etc): Make this function variadic. Call version_etc_va.
86791         Suggestion from Gary V. Vaughan.
86792
86793         * lib/long-options.h (parse_long_options): Change prototype: the
86794         authors string is moved to the end and becomes variadic.
86795         * lib/long-options.c: Include stdarg.h.
86796         (parse_long_options): Make this function variadic, too.
86797         Call version_etc_va, not version_etc.
86798
86799 2003-10-06  Bruno Haible  <bruno@clisp.org>
86800
86801         * modules/version-etc-2: Remove file.
86802         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
86803
86804 2003-10-06  Bruno Haible  <bruno@clisp.org>
86805
86806         * modules/fatal-signal: New file.
86807         * MODULES.html.sh (func_all_modules): Add fatal-signal.
86808
86809 2003-10-06  Bruno Haible  <bruno@clisp.org>
86810
86811         * m4/fatal-signal.m4: New file.
86812         * m4/signalblocking.m4: New file, from GNU gettext.
86813
86814 2003-10-06  Bruno Haible  <bruno@clisp.org>
86815
86816         * lib/version-etc-2.h: Remove file.
86817         * lib/version-etc-2.c: Remove file.
86818
86819 2003-10-06  Bruno Haible  <bruno@clisp.org>
86820
86821         * lib/fatal-signal.h: New file, from GNU gettext.
86822         * lib/fatal-signal.c: New file, from GNU gettext.
86823
86824 2003-10-05  Paul Eggert  <eggert@twinsun.com>
86825
86826         * README: Rework advice for preventing empty .o files.
86827         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
86828         not <sys/types.h>.
86829
86830 2003-10-04  Karl Berry  <karl@gnu.org>
86831
86832         * lib/argp*: update from libc.
86833
86834 2003-10-04  Karl Berry  <karl@gnu.org>
86835
86836         * config/config.{guess,sub}: update from config.
86837
86838 2003-10-02  Bruno Haible  <bruno@clisp.org>
86839
86840         * modules/lchown (Include): Add lchown.h.
86841         * modules/time_r (Include): Use "..." syntax.
86842         * modules/xgetdomainname (Include): Add xgetdomainname.h.
86843
86844 2003-10-01  Simon Josefsson  <jas@extundo.com>
86845
86846         * MODULES.html.sh (func_all_modules): Move gethostname from section
86847         'based on' to section 'lacking' POSIX:2001.
86848
86849 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
86850
86851         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
86852         to output mode on the same stream.
86853
86854 2003-09-29  Paul Eggert  <eggert@twinsun.com>
86855
86856         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
86857         Fix arg typo in previous patch.
86858
86859 2003-09-28  Jim Meyering  <jim@meyering.net>
86860
86861         * lib/error.c: Correct cpp indentation.
86862
86863 2003-09-27  Paul Eggert  <eggert@twinsun.com>
86864
86865         * modules/free: New file.
86866
86867 2003-09-27  Paul Eggert  <eggert@twinsun.com>
86868
86869         * m4/free.m4: New file.
86870
86871 2003-09-27  Paul Eggert  <eggert@twinsun.com>
86872
86873         * lib/minmax.h (MIN, MAX)
86874         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
86875         Omit the special code that used __typeof__, since we worry that
86876         it could be more trouble than it's worth.  See:
86877         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
86878         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
86879
86880         * lib/free.c: New file.
86881
86882 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
86883
86884         Trivial fixes to Makefile.am parts of module listings.
86885         * modules/strstr: Append strstr.h to lib_SOURCES.
86886         * modules/strcase: Likewise, for strcase.h.
86887
86888 2003-09-27  Karl Berry  <karl@gnu.org>
86889
86890         * config/mkinstalldirs: update from automake.
86891
86892 2003-09-26  Paul Eggert  <eggert@twinsun.com>
86893
86894         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
86895         (error_tail): Do not loop, reallocating temporary buffer, since
86896         the output cannot contain more wide characters than the input
86897         contains bytes, the size must be big enough already.  This avoids
86898         one potential size overflow calculation.  Check for size overflow
86899         when calculating temporary buffer size.  Free temporary buffer
86900         when done, if it was allocated with malloc; this plugs a memory
86901         leak.  Remove casts from void * to pointers, that are no longer
86902         needed now that we're assuming C89 or better.
86903
86904         Merge error changes from glibc.
86905
86906         * lib/error.c, error.h: Update copyright notice header to match glibc.
86907         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
86908         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
86909         Disable cancellation while printing error.
86910         * lib/error.h: Prepend __ to parameter names.
86911
86912 2003-09-26  Jim Meyering  <jim@meyering.net>
86913
86914         * lib/error.c (error_tail): Move some declarations
86915         into inner scope where the local variables are used.
86916
86917 2003-09-26  Bruno Haible  <bruno@clisp.org>
86918
86919         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
86920         stpncpy().
86921         Don't define stpncpy through config.h; it's now done through stpncpy.h.
86922
86923 2003-09-26  Bruno Haible  <bruno@clisp.org>
86924
86925         * lib/stpncpy.h (gnu_stpncpy): New declaration.
86926         (stpncpy): Define as alias for gnu_stpncpy.
86927         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
86928
86929 2003-09-25  Simon Josefsson  <jas@extundo.com>
86930
86931         * lib/xgetdomainname.h: New file.
86932         * lib/xgetdomainname.c: New file.
86933
86934 2003-09-25  Simon Josefsson  <jas@extundo.com>
86935             Bruno Haible  <bruno@clisp.org>
86936
86937         * modules/getdomainname: New file.
86938         * modules/xgetdomainname: New file.
86939         * MODULES.html.sh (func_all_modules): Add getdomainname,
86940         xgetdomainname.
86941
86942 2003-09-25  Simon Josefsson  <jas@extundo.com>
86943             Bruno Haible  <bruno@clisp.org>
86944
86945         * m4/getdomainname.m4: New file.
86946
86947 2003-09-25  Simon Josefsson  <jas@extundo.com>
86948             Bruno Haible  <bruno@clisp.org>
86949
86950         * lib/getdomainname.h: New file.
86951         * lib/getdomainname.c: New file.
86952
86953 2003-09-25  Karl Berry  <karl@gnu.org>
86954
86955         * lib/argp-fmtstream.c, argp-help.c: update from libc.
86956
86957 2003-09-25  Karl Berry  <karl@gnu.org>
86958
86959         * config/install-sh: update from automake.
86960
86961 2003-09-25  Bruno Haible  <bruno@clisp.org>
86962
86963         * modules/version-etc-2: New file, from modules/version-etc with
86964         modifications.
86965         * MODULES.html.sh (func_all_modules): Add version-etc-2.
86966
86967 2003-09-25  Bruno Haible  <bruno@clisp.org>
86968
86969         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
86970         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
86971
86972 2003-09-24  Simon Josefsson  <jas@extundo.com>
86973
86974         * modules/xgethostname: Add xgethostname.h.
86975
86976 2003-09-24  Paul Eggert  <eggert@twinsun.com>
86977
86978         * lib/linebuffer.c (freebuffer): Don't free the argument, just
86979         the buffer associated with the argument.  Bug reported by
86980         Simon Josefsson.
86981
86982 2003-09-24  Paul Eggert  <eggert@twinsun.com>
86983
86984         * README: Document assumptions that 'int' is at least 32 bits
86985         wide, that integer arithmetic is 2's complement without overflow,
86986         that there are no holes in integer values, that adding sizes of
86987         two nonoverlapping objects can't overflow, and that all-bits-zero
86988         yields scalar zero.  Fix spelling and capitalization typos.
86989
86990 2003-09-19  Karl Berry  <karl@gnu.org>
86991
86992         * lib/argp.h: update from libc.
86993
86994 2003-09-17  Paul Eggert  <eggert@twinsun.com>
86995
86996         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
86997         to avoid spurious warnings like "AC_RUN_IFELSE was called before
86998         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
86999
87000 2003-09-17  Paul Eggert  <eggert@twinsun.com>
87001
87002         * gnulib-tool: Use "test -h", not "test -L", for portability
87003         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
87004         (tags_regexp): Remove, since \| doesn't conform to POSIX.
87005         (sed_extract_prog): Issue s commands one-by-one, rather than
87006         using \| in one s command.
87007
87008 2003-09-16  Paul Eggert  <eggert@twinsun.com>
87009
87010         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
87011         input error, instead of returning NULL the next time we are called
87012         (and therefore losing track of errno).
87013
87014 2003-09-16  Bruno Haible  <bruno@clisp.org>
87015
87016         * gnulib-tool (func_create_testdir): Warn about duplicated
87017         dependencies.
87018
87019 2003-09-15  Paul Eggert  <eggert@twinsun.com>
87020
87021         * modules/argmatch, modules/fatal, modules/obstack,
87022         modules/xalloc, modules/xgethostname: Sort dependencies by
87023         importance, not alphabetically.
87024
87025 2003-09-15  Paul Eggert  <eggert@twinsun.com>
87026
87027         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
87028         fails, so that the caller gets the proper errno.
87029
87030         * lib/readutmp.c (read_utmp): Likewise.
87031         Check for fstat error.  Close stream and free storage
87032         when failing.
87033
87034 2003-09-14  Karl Berry  <karl@gnu.org>
87035
87036         * config/srclist.txt (strdup.c): disable for c89 changes.
87037
87038 2003-09-14  Jim Meyering  <jim@meyering.net>
87039
87040         * lib/getloadavg.c: Correct cpp indentation.
87041         * lib/strdup.c: Likewise.
87042         * lib/vasnprintf.c: Likewise.
87043
87044 2003-09-14  Bruno Haible  <bruno@clisp.org>
87045
87046         * modules/fwriteerror: New file.
87047         * MODULES.html.sh (func_all_modules): Add fwriteerror.
87048
87049 2003-09-14  Bruno Haible  <bruno@clisp.org>
87050
87051         * lib/fwriteerror.h: New file.
87052         * lib/fwriteerror.c: New file.
87053
87054 2003-09-12  Paul Eggert  <eggert@twinsun.com>
87055
87056         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
87057         modules/xgethostname, modules/xalloc: Depend on exit.
87058
87059 2003-09-12  Paul Eggert  <eggert@twinsun.com>
87060
87061         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
87062
87063         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
87064         and AC_MINIX, too, so that their extensions are available.
87065
87066         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
87067         This macro has been superseded by gl_BACKUPFILE.
87068
87069         More patches to assume C89 or better.
87070
87071         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
87072
87073         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
87074         unconditionally.
87075         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
87076         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
87077         Include <string.h>, <stdlib.h> unconditionally.
87078         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
87079         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
87080         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
87081         headers or for string.h.
87082         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
87083         or strtoul.
87084
87085         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
87086         headers.
87087         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
87088         * m4/userspec.m4 (gl_USERSPEC): Likewise.
87089         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
87090         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
87091         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
87092         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
87093         memcpy, memset.
87094         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
87095         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
87096         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
87097         strtol.
87098         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
87099         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
87100         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
87101         strtoul.
87102
87103 2003-09-12  Paul Eggert  <eggert@twinsun.com>
87104
87105         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
87106         * lib/obstack.c [!defined _LIBC]: Likewise.
87107         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
87108         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
87109         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
87110
87111         More changes to assume C89 or better.
87112
87113         * lib/error.c (error_tail): Assume vprintf.
87114
87115         * lib/argmatch.c (getenv): Remove decl.
87116         * lib/progreloc.c (get_full_program_name): Define via prototype.
87117         * lib/setenv.c (clearenv): Likewise.
87118         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
87119         needed.
87120         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
87121         (malloc, memcpy): Remove decls.
87122         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
87123         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
87124         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
87125         (memcpy): Remove macro.
87126         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
87127         (__P): Remove.  All uses removed.
87128         (PTR): Remove.  All uses changed to void *.
87129         (CHAR_BIT, NULL): Remove.
87130         (spaces, zeros, memset_space, memset_zero)
87131         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
87132         Remove.
87133         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
87134         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
87135         Define with prototype.
87136         Remove now-unnecessary prototype decl.
87137         (extra_args_spec): Assume ANSI C.  All uses changed.
87138         (extra_args_spec_iso): Remove.
87139         (my_strftime, emacs_strftimeu): Define via prototype.
87140         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
87141         unconditionally.
87142         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
87143         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
87144         (strtoul, strtol): Remove decls.
87145         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
87146         LONG_MAX): Remove.
87147         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
87148         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
87149         (LOCALE_PARAM_PROTO): New macro.
87150         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
87151         (INTERNAL (strtol), strtol): Define with a prototype.
87152         (PARAMS): Remove.  All uses removed.
87153         * lib/tempname.c: Include <string.h> unconditionally.
87154         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
87155         * lib/xgethostname.c (main): Define with a prototype.
87156         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
87157         Include <stdlib.h> unconditionally.
87158         (calloc, malloc, realloc, free): Remove decls.
87159         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
87160         Include <stdlib.h> unconditionally.  Sort include file names.
87161         (strtod): Remove.
87162         (xstrtod): Define with a prototype.
87163         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
87164         (strtol, strtoul): Remove decls.
87165
87166 2003-09-11  Paul Eggert  <eggert@twinsun.com>
87167
87168         More patches to assume C89 or better.
87169         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
87170         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
87171         string.h, memchr, STDC_HEADERS.
87172
87173 2003-09-11  Paul Eggert  <eggert@twinsun.com>
87174
87175         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
87176         Include <stdlib.h>, <string.h> unconditionally.
87177         Remove now-unnecessary cast to char *.
87178         * lib/strnlen.c: Include <string.h> unconditionally.
87179         * lib/yesno.c (yesno): Define with a prototype.
87180
87181 2003-09-11  Bruno Haible  <bruno@clisp.org>
87182
87183         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
87184
87185 2003-09-10  Jim Meyering  <jim@meyering.net>
87186
87187         * lib/error.c: Correct indentation of cpp directives.
87188
87189 2003-09-10  Bruno Haible  <bruno@clisp.org>
87190
87191         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
87192         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
87193         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
87194         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
87195         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
87196         <stdlib.h> and <string.h> checks.
87197         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
87198         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
87199
87200 2003-09-10  Bruno Haible  <bruno@clisp.org>
87201
87202         * lib/strcspn.c: Include <string.h> unconditionally.
87203         * lib/strpbrk.c: Include <string.h> unconditionally.
87204         * lib/strstr.c: Include <string.h> unconditionally.
87205         * lib/unicodeio.c: Include <string.h> unconditionally.
87206         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
87207         * lib/unsetenv.c: Likewise.
87208         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
87209         * lib/yesno.c: Include <stdlib.h> unconditionally.
87210         (rpmatch): Add prototype.
87211
87212 2003-09-09  Paul Eggert  <eggert@twinsun.com>
87213
87214         More patches to assume C89 or better.
87215         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
87216         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
87217         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
87218         or for string.h.
87219         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
87220         stdlib.h.
87221         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
87222         C headers.
87223         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
87224         string.h.
87225         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
87226         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
87227         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
87228         or for string.h.
87229         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
87230         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
87231         C headers.
87232         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
87233         memcpy.
87234         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
87235         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
87236         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
87237         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
87238         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
87239         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
87240         string.h, free.
87241         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
87242         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
87243         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
87244         C headers, or for string.h.
87245         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
87246         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
87247         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
87248         headers, memory.h, stdlib.h, string.h, strings.h.
87249         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
87250         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
87251         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
87252         strchr.
87253         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
87254         headers, memory.h, string.h.
87255         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
87256         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
87257         free.
87258         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
87259         headers.
87260         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
87261         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
87262         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
87263         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
87264         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
87265
87266 2003-09-09  Paul Eggert  <eggert@twinsun.com>
87267
87268         More K&R removal.
87269
87270         * lib/acosl.c (main): Use a prototype.
87271         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
87272         tanl.c: Likewise.
87273
87274         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
87275
87276         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
87277         (getopt, etopt_long, getopt_long_only, _getopt_internal)
87278         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
87279         with a prototype.
87280         * lib/getopt.c (const): Remove macro.
87281         Include <string.h> unconditionally.
87282         (my_index): Remove; all uses changed to strchr.
87283         (strlen): Remove decl.
87284         (exchange): Remove forward decl; no longer needed.
87285         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
87286         Define with prototype.
87287         * lib/getopt1.c (const): Remove macro.
87288         (getopt_long, getopt_long_only, main): Define with prototype.
87289
87290         * lib/getugroups.c: Include <string.h> unconditionally.
87291
87292         * lib/getusershell.c: Include <stdlib.h> unconditionally.
87293         (getusershell, setusershell, endusershell, readname, main):
87294         Define with prototypes.
87295
87296         * lib/group-member.c: Include group-member.h first.
87297         Include <stdlib.h> unconditionally.
87298
87299         * lib/hard-locale.c: Include hard-locale.h first.
87300         Include <stdlib.h>, <string.h> unconditionally.
87301
87302         * lib/hash.c (free, malloc): Remove decls.
87303         Include <stdlib.h> unconditionally.
87304
87305         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
87306         (getenv): Do not declare.
87307
87308         * lib/idcache.c: Include <string.h> unconditionally.
87309
87310         * lib/long-options.c: Include long-options.h first, to test interface.
87311         Include <stdlib.h> unconditionally.
87312
87313         * lib/makepath.c: Include makepath.h first, to test interface.
87314         Include <stdlib.h> and <string.h> unconditionally.
87315
87316         * lib/linebuffer.c: Include <stdlib.h>.
87317         (free): Remove decl.
87318
87319         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
87320         stddef.h. rpl_malloc returns void *, not char *.
87321         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
87322         prototype.
87323
87324         * lib/md5.h: Include <limits.h> unconditionally.
87325         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
87326         (__P): Remove; all uses removed.
87327         * lib/md5.c: Include "md5.h" first.
87328         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
87329         md5_buffer, md5_process_bytes, md5_process_block):
87330         Define with prototypes.
87331         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
87332         * lib/sha.c: Include "sha.h" first.
87333         Include <stdlib.h>, <string.h> unconditionally.
87334
87335         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
87336         * lib/memcmp.c (__ptr_t): Likewise.
87337         * lib/memrchr.c (__ptr_t): Likewise.
87338         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
87339         Include <string.h> unconditionally.
87340         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
87341         * lib/memchr.c: Include <stdlib.h> unconditionally.
87342         * lib/memchr.c (LONG_MAX): Remove.
87343         * lib/memrchr.c (LONG_MAX): Likewise.
87344         * lib/memchr.c (__memchr): Define via a prototype.
87345         * lib/memrchr.c (__memrchr): Likewise.
87346         * lib/memcmp.c (__P): Remove, and remove all uses.
87347         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
87348         Remove forward decls; no longer needed.
87349         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
87350         Use types required by C89 in prototype.
87351
87352         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
87353         * lib/savedir.c: Likewise.
87354         * lib/mkdir.c (free): Remove decl.
87355         * lib/rmdir.c (rmdir): Define with a prototype.
87356         * lib/savedir.c: Include savedir.h first, to test interface.
87357
87358         * lib/mktime.c (STDC_HEADERS): Remove.
87359         Include <stdlib.h>, <string.h> unconditionally.
87360
87361         * lib/modechange.c: Include <stdlib.h> unconditionally.
87362         (malloc): Remove decl.
87363
87364         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
87365         (free): Remove decl.
87366
87367         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
87368         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
87369         (This type really should be intptr_t, but that's a C99ism.)
87370         (_obstack_memcpy): Remove: all uses changed to memcpy.
87371         Include <string.h> unconditionally.
87372         (struct obstack): Assume __STDC__ for types of members
87373         chunkfun, freefun, extra_arg.
87374         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
87375         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
87376         obstack_begin, obstack_specify_allocation,
87377         obstack_specify_allocation_with_arg, obstack_chunkfun,
87378         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
87379         Remove unprototyped decls and the macros that use them.
87380         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
87381         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
87382         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
87383         (defined __STDC__ && __STDC__)]:
87384         Remove nonprototyped code.
87385         Include <stdlib.h> unconditionally.
87386         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
87387         _obstack_allocated_p, _obstack_free, obstack_free,
87388         _obstack_memory_used, print_and_abort):
87389         Define using prototypes.
87390         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
87391         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
87392         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
87393         obstack_next_free, obstack_object_size, obstack_room) [0]:
87394         Remove unused, unprototyped code.
87395
87396         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
87397
87398         * lib/physmem.c (physmem_total, physmem_available, main): Define
87399         with prototypes.
87400
87401         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
87402         (main): Define with a prototype.
87403
87404         * lib/posixver.c (getenv): Remove decl.
87405
87406         * lib/putenv.c (malloc): Returns void *, not char *.
87407         Include <string.h> unconditionally.
87408         (strchr, memcpy, NULL): Do not define.
87409
87410         * lib/readtokens.c: Include readtokens.h first, to test interface.
87411         Include <stdlib.h>, <string.h> unconditionally.
87412         (init_tokenbuffer): Define with a prototype.
87413
87414         * lib/regex.c (PARAMS): Remove.  All uses removed.
87415         All uses of _RE_ARGS removed, too.
87416         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
87417         unconditionally.
87418         (bzero): Assume memset exists.
87419         (memcmp, memcpy, NULL): Remove.
87420         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
87421         char, or assignments to local vars of type signed char.
87422         (init_syntax_once, PREFIX(extract_number_and_incr),
87423         PREFIX(print_partial_compiled_pattern),
87424         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
87425         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
87426         PREFIX(regex_grow_registers), PREFIX(regex_compile),
87427         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
87428         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
87429         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
87430         wcs_compile_range, byte_compile_range, truncate_wchar,
87431         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
87432         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
87433         count_mbs_length, wcs_re_match_2_internal,
87434         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
87435         PREFIX(alt_match_null_string_p),
87436         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
87437         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
87438         regfree, PREFIX(extract_number)): Define with prototype.  Remove
87439         now-unnecessary declaration, if any.
87440         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
87441         regcomp, regexec):
87442         Remove now-unnecessary casts among pointer types.
87443         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
87444
87445         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
87446         (free): Remove decl.
87447
87448         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
87449
87450         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
87451         (free): Remove decl.
87452
87453         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
87454         * lib/xgetcwd.c: Likewise.
87455
87456         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
87457         (free): Remove decl.
87458
87459         * lib/strchrnul.c (strchrnul): Define with a prototype.
87460         Fix bug: c_in was not converted to char before searching.
87461
87462         The following changes are not K&R related:
87463
87464         * lib/group-member.h: Include <sys/types.h>, so that this file is
87465         self-contained.
87466         * lib/makepath.h: Likewise.
87467
87468         * lib/getusershell.c (readname, default_index, line_size, readname):
87469         Use size_t, not int, for sizes.
87470         (readname): If the size overflows, report an error instead of
87471         looping forever.
87472
87473 2003-09-09  Paul Eggert  <eggert@twinsun.com>
87474
87475         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
87476         libc.
87477
87478 2003-09-09  Paul Eggert  <eggert@twinsun.com>
87479
87480         * README: New section: portability guidelines.
87481
87482 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
87483
87484         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
87485         C89 spec.
87486
87487 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
87488
87489         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
87490
87491 2003-09-08  Paul Eggert  <eggert@twinsun.com>
87492
87493         Assume C89 or better; remove K&R cruft.
87494         A few of these changes were first proposed by Derek Robert Price
87495         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
87496
87497         * lib/addext.c: Include <string.h> unconditionally.
87498         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
87499         Don't declare getenv or malloc.
87500
87501         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
87502         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
87503         (NULL): Remove.
87504         (find_stack_direction, alloca): Use prototypes.
87505
87506         * lib/atexit.c (atexit): Define using a prototype.
87507
87508         * lib/basename.c, dirname.c, stripslash.c:
87509         Include <string.h> unconditionally.
87510
87511         * lib/bcopy.c: Include <stddef.h>.
87512         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
87513
87514         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
87515
87516         * lib/error.h (error, error_at_line, error_print_progname)
87517         [! (defined (__STDC__) && __STDC__)]: Remove decls.
87518         * lib/error.c: Include error.h first, to check interface.
87519         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
87520         (VA_START): Remove; all uses changeed to va_start.
87521         (exit, strerror): Remove decls.
87522         (error_print_progname): Prototype uncondionally.
87523         Don't include <errno.h>; no longer needed.
87524         (private_strerror): Remove.
87525         (error_tail): Always define.
87526         (error, error_at_line): Assume C89 or better; always use prototypes.
87527         * lib/fatal.c: Include "fatal.h" first, to test interface.
87528         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
87529         (VA_START): Remove; all uses changed to va_start.
87530         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
87531         this case.
87532         (exit): Remove decl.
87533         (fatal): Prototype unconditionally.  Assume va_start works.
87534         Abort at end, to pacify gcc.
87535
87536         * lib/euidaccess.c (main): Define with a prototype.
87537
87538         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
87539
87540         * lib/exitfail.c: Include <stdlib.h> unconditionally.
87541
87542         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
87543         prototypes.
87544         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
87545         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
87546         (getenv): Remove decl.
87547         (fnmatch): Define using a prototype.
87548         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
87549         (FCT): Define using a prototype.
87550
87551         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
87552
87553         * lib/gethostname.c: Include <stddef.h>.
87554         (gethostname): Define with prototype.  Length is size_t, not int.
87555
87556 2003-09-08  Paul Eggert  <eggert@twinsun.com>
87557
87558         Assume C89 or better; remove K&R cruft.
87559         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
87560         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
87561         string.h, getenv, malloc.
87562         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
87563         headers.
87564         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
87565         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
87566         do not check for strerror.
87567         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
87568         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
87569         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
87570         do not check for doprnt or vprintf.
87571         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
87572         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
87573
87574 2003-09-08  Paul Eggert  <eggert@twinsun.com>
87575
87576         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
87577         getversion.c should have been removed then, but was accidentally
87578         preserved.
87579
87580         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
87581         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
87582
87583 2003-09-08  Karl Berry  <karl@gnu.org>
87584
87585         * config/config.sub, config.guess, srclistvars.sh: update from savannah
87586                 config, forget about prep.
87587
87588         * config/depcomp, missing: update from automake.
87589
87590 2003-09-07  Paul Eggert  <eggert@twinsun.com>
87591
87592         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
87593         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
87594
87595 2003-09-07  Paul Eggert  <eggert@twinsun.com>
87596
87597         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
87598         copy_tm_result.  Bug reported by Simon Josefsson in
87599         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
87600
87601 2003-09-06  Paul Eggert  <eggert@twinsun.com>
87602
87603         * m4/time_r.m4: New file.
87604         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
87605         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
87606         is. Check for timegm declaration.
87607         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
87608         Do not check for gmtime_r.
87609         Replace mktime if __mktime_internal does not exist and if mktime
87610         hasn't been replaced already.
87611
87612 2003-09-06  Paul Eggert  <eggert@twinsun.com>
87613
87614         * lib/time_r.c, lib/time_r.h: New files.
87615
87616         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
87617         __localtime_r.
87618         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
87619         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
87620
87621         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
87622         __gmtime_r.
87623         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
87624         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
87625         Include <time_r.h>.
87626
87627         * lib/timegm.c: Switch to glibc implementation, with the following
87628         changes:
87629         [defined HAVE_CONFIG_H]: Include <config.h>.
87630         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
87631         (__mktime_internal) [!defined _LIBC]: New decl.
87632         (__gmtime_r) [!defined _LIBC]: New macro and function.
87633         (timegm): Use a prototype, since gnulib assumes C89.
87634         Do not bother declaring tmp to be const, as it's not really usefu.
87635         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
87636         (timegm): Declare only if HAVE_DECL_TIMEGM.
87637
87638 2003-09-06  Paul Eggert  <eggert@twinsun.com>
87639
87640         * MODULES.html.sh (func_all_modules): Add time_r.
87641         * modules/time_r: New file.
87642         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
87643         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
87644
87645 2003-09-03  Paul Eggert  <eggert@twinsun.com>
87646
87647         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
87648         Bug reported by Lute Kamstra in
87649         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
87650
87651         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
87652         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
87653         course with correspondingly smaller numbers for tomorrow and
87654         yesterday.  From Tadayoshi Funaba.  Originally installed into
87655         sh-utils on 1999-08-07, but the patch got lost (I guess during the
87656         coreutils merge?).
87657
87658 2003-08-31  Simon Josefsson  <jas@extundo.com>
87659
87660         * modules/timegm: New file.
87661         * MODULES.html.sh (func_all_modules): Add timegm.
87662
87663 2003-08-31  Simon Josefsson  <jas@extundo.com>
87664
87665         * m4/timegm.m4: New file.
87666
87667 2003-08-31  Simon Josefsson  <jas@extundo.com>
87668
87669         * lib/timegm.h: New file.
87670         * lib/timegm.c: New file.  Based on
87671         wget-1.8.2/src/http.c:mktime_from_utc.
87672
87673 2003-08-31  Karl Berry  <karl@gnu.org>
87674
87675         * lib/argp.h: update from libc.
87676
87677 2003-08-28  Bruno Haible  <bruno@clisp.org>
87678
87679         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
87680         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
87681         followed by '#define fnmatch fnmatch_posix' gives an error.
87682
87683 2003-08-28  Bruno Haible  <bruno@clisp.org>
87684
87685         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
87686         warning on QNX, which defines O_BINARY to 000000.
87687
87688 2003-08-27  Jim Meyering  <jim@meyering.net>
87689
87690         * m4/mkstemp.m4: Require that the system mkstemp be able to create
87691         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
87692         would fail after 32.  Reported by Danny Levinson.  Details here:
87693         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
87694
87695 2003-08-24  Bruno Haible  <bruno@clisp.org>
87696
87697         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
87698         MSVC7 <stdio.h> is included later.
87699
87700 2003-08-22  Simon Josefsson  <jas@extundo.com>
87701
87702         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
87703
87704 2003-08-20  Karl Berry  <karl@gnu.org>
87705
87706         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
87707
87708 2003-08-20  Bruno Haible  <bruno@clisp.org>
87709
87710         * modules/progname: New file.
87711         * MODULES.html.sh (func_all_modules): Add progname.
87712
87713 2003-08-20  Bruno Haible  <bruno@clisp.org>
87714
87715         * lib/progname.h: New file, from GNU gettext.
87716         * lib/progname.c: New file, from GNU gettext.
87717         * lib/progreloc.c: New file, from GNU gettext.
87718
87719 2003-08-19  Jim Meyering  <jim@meyering.net>
87720
87721         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
87722         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
87723
87724 2003-08-19  Bruno Haible  <bruno@clisp.org>
87725
87726         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
87727         more.
87728
87729 2003-08-19  Bruno Haible  <bruno@clisp.org>
87730
87731         * lib/xstrdup.c: Assume <string.h> exists.
87732
87733 2003-08-18  Paul Eggert  <eggert@twinsun.com>
87734
87735         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
87736         in makefile rules.
87737
87738 2003-08-18  Jim Meyering  <jim@meyering.net>
87739
87740         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
87741         * m4/lib-ld.m4: Likewise.
87742
87743 2003-08-18  Jim Meyering  <jim@meyering.net>
87744
87745         * lib/setenv.h: Indent nested cpp directive.
87746         * lib/vasnprintf.c: Remove trailing blanks.
87747
87748 2003-08-17  Simon Josefsson  <jas@extundo.com>
87749
87750         * modules/xstrndup: New file.
87751         * MODULES.html.sh (func_all_modules): Add xstrndup.
87752
87753 2003-08-17  Simon Josefsson  <jas@extundo.com>
87754
87755         * modules/argp: Fix autoconf macro name. Add more dependencies.
87756
87757 2003-08-17  Simon Josefsson  <jas@extundo.com>
87758
87759         * m4/xstrndup.m4: New file.
87760
87761 2003-08-17  Simon Josefsson  <jas@extundo.com>
87762
87763         * m4/argp.m4: New file.
87764
87765 2003-08-17  Simon Josefsson  <jas@extundo.com>
87766             Bruno Haible  <bruno@clisp.org>
87767
87768         * lib/xstrndup.h: New file.
87769         * lib/xstrndup.c: New file.
87770
87771 2003-08-17  Bruno Haible  <bruno@clisp.org>
87772
87773         * modules/strndup (Files, Include): Add lib/strndup.h.
87774
87775 2003-08-17  Bruno Haible  <bruno@clisp.org>
87776
87777         * modules/euidaccess (Files): Add lib/euidaccess.h.
87778
87779 2003-08-17  Bruno Haible  <bruno@clisp.org>
87780
87781         * lib/strndup.h: New file.
87782
87783 2003-08-17  Bruno Haible  <bruno@clisp.org>
87784
87785         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
87786         like AC_GNU_SOURCE.
87787         * modules/extensions (configure.ac): Comment out the invocation of
87788         gl_USE_SYSTEM_EXTENSIONS.
87789
87790 2003-08-16  Paul Eggert  <eggert@twinsun.com>
87791
87792         Merges from coreutils, etc.
87793         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
87794         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
87795         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
87796         fixing a typo.
87797         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
87798         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
87799
87800 2003-08-16  Paul Eggert  <eggert@twinsun.com>
87801
87802         Document merge from coreutils.
87803         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
87804         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
87805         * modules/utime: Add m4/utimes-null.m4.
87806
87807 2003-08-16  Paul Eggert  <eggert@twinsun.com>
87808
87809         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
87810         space, undoing this 2003-08-12 change:
87811         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
87812
87813 2003-08-16  Paul Eggert  <eggert@twinsun.com>
87814
87815         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
87816         strtoul.c from libc, undoing this 2003-08-12 change:
87817         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
87818
87819 2003-08-16  Jim Meyering  <jim@meyering.net>
87820
87821         Merges from coreutils.
87822         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
87823         prefix.  Adjust cache variables similarly.  Create 500 rather than
87824         just 300 files, to exercise bug on Darwin6.5, too.
87825         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
87826         $missing_dir.
87827         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
87828         AM_SYS_POSIX_TERMIOS.
87829         Reported by mkc@mathdogs.com.
87830         Also change use of $am_cv_sys_posix_termios
87831         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
87832         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
87833         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
87834         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
87835         in /proc/mounts until it finds one with matching device number.  This
87836         is unnecessary when the FILE argument *is* a mount point.  No stat call
87837         is necessary in that case.  So, disable the statvfs-testing code on
87838         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
87839         as RedHat bug# 84846.
87840         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
87841         to 1MB, so as not to render systems with no stack size limit (e.g.,
87842         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
87843         Include <unistd.h>.  On some systems,
87844         it is required for the definition of _SC_PAGESIZE.
87845
87846 2003-08-16  Jim Meyering  <jim@meyering.net>
87847
87848         Merge from coreutils.
87849         * lib/xstrtoimax.c: #else #if -> #elif.
87850         * lib/xstrtoumax.c: Likewise.
87851
87852 2003-08-16  Jim Meyering  <jim@meyering.net>
87853
87854         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
87855         * m4/utimes.m4: Removed.
87856         * m4/utimes-null.m4: Renamed from utimes.m4.
87857
87858         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
87859         to 1MB, so as not to render systems with no stack size limit (e.g.,
87860         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
87861         Include <unistd.h>.  On some systems,
87862         it is required for the definition of _SC_PAGESIZE.
87863
87864 2003-08-16  Jim Meyering  <jim@meyering.net>
87865         and Paul Eggert  <eggert@cs.ucla.edu>
87866
87867         Merges from coreutils, etc.
87868
87869         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
87870         using the latest version from cvs.  This avoids problems with #line
87871         directives using a vendor (Sun) compiler.
87872         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
87873         Don't set GETGROUPS_LIB here; now it's
87874         done via getgroups.m4's wrapper function.
87875         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
87876         rather than just in sh-util/configure.in, so that the
87877         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
87878         same.
87879         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
87880         AC_FUNC_GETLOADAVG where to find getloadavg.c.
87881         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
87882         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
87883         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
87884         Remove code that is now done by the newly-required macros.
87885         Append $(EXEEXT) to DF_PROG.
87886         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
87887         Do not invoke or require the following here,
87888         since prereq.m4 or some gnulib .m4 now does this for us:
87889         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
87890         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
87891         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
87892         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
87893         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
87894         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
87895         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
87896         AC_FUNC_OBSTACK.
87897         Do not replace the following functions, as this is now the job
87898         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
87899         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
87900         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
87901         atexit getpass, strdup, getpagesize.
87902         Replace 'raise'.
87903         Do not check for the following functions, as this is now the job
87904         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
87905         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
87906         setregid.
87907         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
87908         Check for sys/sysctl.h.
87909         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
87910         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
87911         of checking for ssize_t ourselves.
87912
87913         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
87914         Require every macro that gnulib/modules/* suggests for us.
87915         (jm_PREREQ_ADDEXT): New macro.
87916         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
87917         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
87918
87919         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
87920         (gl_PHYSMEM): Use it.
87921         Also check for `table' function.
87922         Check for new headers and functions.
87923         Add check for sys/sysmp.h.
87924         With suggestions from Kaveh Ghazi.
87925         Ignore headers that are present but cannot be compiled.  This
87926         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
87927         C 5.4.
87928
87929 2003-08-15  Paul Eggert  <eggert@twinsun.com>
87930
87931         Document merge from coreutils.
87932         * modules/userspec: Depend on posixver.
87933         * modules/strftime: Depend on tzset.
87934
87935 2003-08-15  Paul Eggert  <eggert@twinsun.com>
87936
87937         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
87938         rather than tab, after '#' in shell-script copyright notices.
87939         Suggested by Bruno Haible.
87940
87941 2003-08-15  Paul Eggert  <eggert@twinsun.com>
87942
87943         * config/srclist-update: Use three spaces, rather than tab, after '#'
87944         in shell-script copyright notices.  Suggested by Bruno Haible.
87945         Remove unnecessary parenthesization in regular expression.
87946
87947 2003-08-15  Jim Meyering  <jim@meyering.net>
87948
87949         Merge from coreutils.
87950         * lib/xgethostname.c: Include <stdlib.h>.
87951         (xghostname): Don't exit for anything other than memory-related
87952         failure; just return NULL.
87953         * lib/userspec.c: Include "posixver.h".
87954         (parse_user_spec): Accept `.' as a separator only
87955         in pre-POSIX-200112 mode.
87956         * lib/strtoimax.c: Use #elif rather than #else #if.
87957         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
87958         Remove function, now that we can rely on a working tzset function.
87959         [!_LIBC]: Ensure that the required autoconf test has been run.
87960         [!defined _NL_CURRENT && HAVE_STRFTIME]:
87961         Use underlying_strftime for %r.
87962         * lib/sha.c: Merge in some clean-up and optimization changes from
87963         glibc.
87964         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
87965         Ensure that it is a multiple of 64.
87966         Rearrange loop exit tests so as to avoid performing an
87967         additional fread after encountering an error or EOF.
87968         * lib/realloc.c: Update copyright date.
87969
87970 2003-08-15  Jim Meyering  <jim@meyering.net>
87971         and Paul Eggert  <eggert@twinsun.com>
87972
87973         Merge from coreutils.
87974         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
87975         member but strut utmpx does not.  Needed for AIX 4.3.3.
87976         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
87977
87978 2003-08-15  Jim Meyering  <jim@meyering.net>
87979         and Paul Eggert  <eggert@cs.ucla.edu>
87980
87981         Merges from coreutils, etc.
87982         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
87983         Require gl_FUNC_TZSET_CLOBBER.
87984         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
87985         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
87986         members.
87987
87988 2003-08-14  Paul Eggert  <eggert@twinsun.com>
87989
87990         Help the merge from coreutils.
87991         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
87992         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
87993         * m4/tzset.m4: Use it too.
87994
87995 2003-08-14  Paul Eggert  <eggert@twinsun.com>
87996
87997         * modules/tzset: New file.
87998
87999 2003-08-14  Jim Meyering  <jim@meyering.net>
88000
88001         Merges from coreutils.
88002         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
88003         variable names, rather than @FNMATCH_H@.
88004         * modules/alloca: Likewise for $(ALLOCA_H).
88005
88006         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
88007         the three copies of the literal target, `fnmatch.h'.
88008         * modules/alloca (alloca.h): Likewise.
88009
88010 2003-08-14  Jim Meyering  <jim@meyering.net>
88011
88012         Merge from coreutils.
88013         * m4/tzset.m4: New file.
88014         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
88015         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
88016         otherwise, AIX 5.1 systems would end up using the latter.
88017         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
88018         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
88019         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
88020         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
88021
88022 2003-08-14  Jim Meyering  <jim@meyering.net>
88023
88024         Merge from coreutils.
88025         * lib/obstack.h: Whitespace changes.
88026         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
88027         and xcalloc return values.
88028         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
88029         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
88030         hang on OSF/1 5.1 for DIR on both local and remote file systems.
88031         Reported by (and fix confirmed by) Nelson H. F. Beebe.
88032         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
88033         error from mntctl.
88034         Use mntctl's return value to drive the entry-processing loop, since
88035         we can't rely on the value of the vmt_length member in the last
88036         entry.  On some systems doing so could result in exhausting
88037         virtual memory.  Based in part on a patch from Mike Jetzer.
88038
88039 2003-08-14  Jim Meyering  <jim@meyering.net>
88040         and Paul Eggert  <eggert@twinsun.com>
88041
88042         Merges from coreutils, plus other fixes.
88043         * lib/physmem.c: Merge in portability changes from gcc/libiberty
88044         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
88045         for credits and details.  Thanks to Kaveh Ghazi for helping
88046         to keep these files in sync.
88047         (ARRAY_SIZE): Define it.
88048         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
88049         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
88050         (memcasecmp): Don't assume size_t fits in unsigned int.
88051         Remove casts and duplicate code.
88052         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
88053         (memcpy): Remove definition.
88054         Merge in some clean-up and optimization changes from glibc.
88055         [BLOCKSIZE]: Move definition to top of file.
88056         Ensure that it is a multiple of 64.
88057         Rearrange loop exit tests so as to avoid performing an
88058         additional fread after encountering an error or EOF.
88059         * lib/md5.h (md5_uintptr): Define.
88060         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
88061         return to the initial working directory.  Preserve errno
88062         for caller.
88063         * lib/idcache.c: Include "xalloc.h".
88064         (xmalloc, xrealloc): Remove decls.
88065         (getuser): Remove casts no longer required in C89.
88066         * lib/human.c: Include stdio.h, for sprintf.
88067         * lib/group-member.c: Include "xalloc.h".
88068         (xmalloc, xrealloc): Remove decls.
88069         (get_group_info): Remove casts no longer required in C89.
88070         * lib/getusershell.c (readname): Remove casts no longer required in
88071         C89.
88072         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
88073         * lib/getline.c: Whitespace fix, from coreutils.
88074
88075 2003-08-13  Paul Eggert  <eggert@twinsun.com>
88076
88077         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
88078         Check for isascii.
88079
88080         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
88081         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
88082         Undo previous (whitespace-only) change.
88083
88084 2003-08-13  Paul Eggert  <eggert@twinsun.com>
88085
88086         * lib/exclude.c: Include <ctype.h>
88087         (IN_CTYPE_DOMAIN): New macro.
88088         (is_space): New fn.
88089         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
88090         and empty lines.
88091
88092         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
88093         Undo previous (whitespace-only) change.
88094
88095 2003-08-13  Paul Eggert  <eggert@twinsun.com>
88096
88097         * config/srclist-update: Change update back to the old behavior,
88098         leaving whitespace alone.  Use one 'sed' command rather than a
88099         pipeline.
88100         (fixlicense): Now a variable, not a function.
88101         (remove_trailing_blanks): Remove.
88102         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
88103         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
88104         Undo previous (whitespace-only) change.
88105
88106 2003-08-12  Paul Eggert  <eggert@twinsun.com>
88107
88108         Merge from coreutils.
88109         * modules/euidaccess: Add lib_SOURCES, include for new
88110         file euidaccess.h
88111
88112 2003-08-12  Paul Eggert  <eggert@twinsun.com>
88113
88114         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
88115         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
88116         Normalize leading white space and remove trailing white space.
88117
88118         Merge from coreutils
88119         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
88120
88121         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
88122         0.12.1.  These files are now being upgraded automatically by
88123         ../config/srclist-update.
88124
88125 2003-08-12  Paul Eggert  <eggert@twinsun.com>
88126
88127         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
88128         Normalize leading white space and remove trailing white space.
88129         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
88130         notice, as per ../config/srclist-update.
88131
88132         Merge from coreutils.
88133         * lib/euidaccess.h: New file.
88134         * lib/euidaccess.c: Include it.
88135         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
88136         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
88137         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
88138
88139 2003-08-12  Paul Eggert  <eggert@twinsun.com>
88140
88141         * config/srclist-update: Add copyright notice.
88142         (remove_id_lines, remove_trailing_blanks): New constants.
88143         (fixfile): Use them to normalize spacing a bit in copied files.
88144         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
88145         Normalize leading white space and remove trailing white space.
88146
88147         * config/texinfo.tex: Sync with texinfo.
88148
88149         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
88150         strtoul.c from libc, to merge coreutils whitespace changes.
88151
88152         * config/srclist.txt: Get the following m4 files from gettext:
88153         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
88154         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
88155         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
88156         wint_t.m4.
88157
88158 2003-08-12  Karl Berry  <karl@gnu.org>
88159
88160         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
88161         been made.
88162
88163 2003-08-11  Paul Eggert  <eggert@twinsun.com>
88164
88165         * modules/gnu-source, m4/gnu-source.m4:
88166         Remove; we're assuming Autoconf 2.54 or later now.
88167         Suggested by Bruno Haible.
88168         * MODULES.html.sh (func_all_modules): Remove gnu-source.
88169
88170 2003-08-11  Bruno Haible  <bruno@clisp.org>
88171
88172         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
88173
88174 2003-08-11  Bruno Haible  <bruno@clisp.org>
88175
88176         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
88177         (vasnprintf): Use it instead of wcslen.
88178
88179 2003-08-11  Bruno Haible  <bruno@clisp.org>
88180
88181         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
88182         value to ensure that _Bool promotes to int. Use #define for _Bool when
88183         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
88184
88185 2003-08-10  Karl Berry  <karl@gnu.org>
88186
88187         * lib/regex.h: update from libc (whitespace fix).
88188
88189 2003-08-09  Paul Eggert  <eggert@twinsun.com>
88190
88191         Merge some files from coreutils.  These changes were
88192         originally made by Jim Meyering.
88193         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
88194         many older Unixes require this.
88195         * lib/alloca.c (alloca): Remove cast to argument of free;
88196         no longer needed in C89.
88197         * lib/alloca_.h, regex.h: Fix white space to match
88198         what GNU indent does.
88199
88200 2003-08-09  Paul Eggert  <eggert@twinsun.com>
88201
88202         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
88203         apparently Emacs's Unicode mode got confused before my 2003-08-05
88204         checkin.
88205
88206 2003-08-08  Paul Eggert  <eggert@twinsun.com>
88207
88208         * m4/extensions.m4: New file.
88209         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
88210         Require gl_USE_SYSTEM_EXTENSIONS.
88211         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
88212         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
88213
88214 2003-08-08  Paul Eggert  <eggert@twinsun.com>
88215
88216         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
88217         * modules/extensions, modules/gnu-source: New files.
88218         * modules/timespec, modules/unlocked-io: Depend on extensions.
88219
88220 2003-08-07  Paul Eggert  <eggert@twinsun.com>
88221
88222         * modules/restrict: New file.
88223         * MODULES.html.sh (func_all_modules): Add restrict.
88224         * modules/regex: Depend on restrict.
88225
88226 2003-08-07  Paul Eggert  <eggert@twinsun.com>
88227
88228         * m4/restrict.m4: New file.
88229         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
88230
88231 2003-08-07  Bruno Haible  <bruno@clisp.org>
88232
88233         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
88234         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
88235
88236 2003-08-07  Bruno Haible  <bruno@clisp.org>
88237
88238         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
88239         makes the module 'getndelim2' compatible with the module 'getline'.
88240
88241 2003-08-05  Paul Eggert  <eggert@twinsun.com>
88242
88243         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
88244         byte with "\201" to avoid glitches when editing that source file
88245         with multi-gnome-terminal.
88246
88247 2003-08-05  Paul Eggert  <eggert@twinsun.com>
88248
88249         * lib/bumpalloc.h: Remove.
88250
88251 2003-08-05  Paul Eggert  <eggert@twinsun.com>
88252
88253         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
88254         * modules/bumpalloc: Remove.
88255
88256 2003-08-04  Paul Eggert  <eggert@twinsun.com>
88257
88258         * lib/getloadavg.c: Change copyright notice and spacing to conform to
88259         GNU coding style.
88260
88261         Merge from coreutils.
88262         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
88263         1. From glibc.
88264         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
88265         from Karl Berry, implemented by Jim Meyering.
88266         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
88267         from Dmitry V. Levin.
88268         Remove anachronistic cast of xrealloc.
88269         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
88270         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
88271         type. Otherwise, it wouldn't compile with at least /bin/cc on
88272         ymp-cray-unicos9.0.2.X.
88273         Combine two mostly-identical uses of alloca into one.
88274         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
88275
88276 2003-08-04  Dave Love  <d.love@dl.ac.uk>
88277
88278         [From Emacs.]
88279
88280         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
88281         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
88282         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
88283         obsolete NLIST_NAME_UNION.
88284         [__GNU__]: Undef BSD and FSCALE.
88285         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
88286
88287 2003-08-03  Paul Eggert  <eggert@twinsun.com>
88288
88289         * lib/stdbool_.h (_Bool): Make it signed char, instead of
88290         an enum type, so that it's guaranteed to promote to int.  See:
88291         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
88292
88293 2003-08-03  Karl Berry  <karl@gnu.org>
88294
88295         * config/depcomp: update from automake.
88296
88297 2003-07-31  Paul Eggert  <eggert@twinsun.com>
88298
88299         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
88300         (strerror): Don't assume that a printable int fits in 14 bytes.
88301
88302 2003-07-31  Bruno Haible  <bruno@clisp.org>
88303
88304         * modules/getpass-gnu: New file.
88305         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
88306
88307 2003-07-31  Bruno Haible  <bruno@clisp.org>
88308
88309         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
88310
88311 2003-07-24  Karl Berry  <karl@gnu.org>
88312
88313         * config/missing: update from automake.
88314
88315 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
88316             Bruno Haible  <bruno@clisp.org>
88317
88318         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
88319         * lib/getline.c (getline, getdelim): Likewise.
88320         Remove _GNU_SOURCE define; now it's defined in config.h through
88321         m4/getline.m4.
88322
88323 2003-07-23  Karl Berry  <karl@gnu.org>
88324
88325         * config/config.sub: update from prep.
88326
88327 2003-07-22  Paul Eggert  <eggert@twinsun.com>
88328
88329         * modules/xalloc (Depends-on): Add exitfail.
88330         * modules/xmemcoll: Likewise.
88331
88332 2003-07-22  Paul Eggert  <eggert@twinsun.com>
88333
88334         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
88335         over-parenthesization in macros.
88336
88337         Sync with coreutils.
88338
88339         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
88340         required by C99.
88341
88342         Use `exit_failure' for xalloc and xmemcoll instead of their own
88343         private exit-failure variables.
88344         * lib/xalloc.h (xalloc_exit_failure): Remove.
88345         * lib/xmalloc.c: Likewise.  Include exitfail.h.
88346         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
88347         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
88348         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
88349         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
88350
88351 2003-07-20  Jim Meyering  <jim@meyering.net>
88352
88353         * modules/closeout (Depends-on): Add exitfail.
88354         Suggestion from Bruno Haible.
88355
88356 2003-07-19  Karl Berry  <karl@gnu.org>
88357
88358         * config/config.sub: update from prep.
88359
88360 2003-07-18  Paul Eggert  <eggert@twinsun.com>
88361
88362         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
88363         Remove.
88364         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
88365         to test that it can stand by itself.  Include "exitfail.h".
88366         Clients should set exit_failure instead.
88367         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
88368
88369 2003-07-18  Bruno Haible  <bruno@clisp.org>
88370
88371         * modules/getndelim2: New file.
88372         * modules/getline: Share files with module getndelim2.
88373         * modules/getnline: Depend on getndelim2 instead of sharing files with
88374         it. Add getnline.c to lib_SOURCES.
88375         * MODULES.html.sh (func_all_modules): Add getndelim2.
88376
88377 2003-07-18  Bruno Haible  <bruno@clisp.org>
88378
88379         * m4/getndelim2.m4: New file.
88380         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
88381         invoke gl_PREREQ_GETNDELIM2.
88382         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
88383         gl_PREREQ_GETNDELIM2.
88384         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
88385         gl_GETNDELIM2.
88386
88387 2003-07-18  Bruno Haible  <bruno@clisp.org>
88388
88389         * lib/getndelim2.h: New file.
88390         * lib/getndelim2.c: Make into a module of its own. Include config.h,
88391         getndelim2.h.
88392         (getndelim2): Make non-static. Change return type to ssize_t.
88393         * lib/getline.h: Change argument names.
88394         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
88395         * lib/getnline.c: Include getndelim2.h.
88396
88397 2003-07-18  Andreas Schwab  <schwab@suse.de>
88398
88399         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
88400
88401 2003-07-17  Karl Berry  <karl@gnu.org>
88402
88403         * config/config.sub: update from prep.
88404
88405 2003-07-17  Bruno Haible  <bruno@clisp.org>
88406
88407         * modules/getnline: New file.
88408         * modules/getline: Add lib/getndelim2.c to source file list.
88409         * MODULES.html.sh (func_all_modules): Add getnline.
88410
88411 2003-07-17  Bruno Haible  <bruno@clisp.org>
88412
88413         * m4/getnline.m4: New file.
88414
88415 2003-07-17  Bruno Haible  <bruno@clisp.org>
88416
88417         * m4/Makefile.am.in: Remove file.
88418         * m4/Makefile.am: Remove file.
88419         * m4/Makefile.in: Remove file.
88420
88421 2003-07-17  Bruno Haible  <bruno@clisp.org>
88422
88423         * lib/getnline.h: New file.
88424         * lib/getnline.c: New file.
88425         * lib/getndelim2.c: New file, extracted from getline.c.
88426         (getndelim2): Renamed from getdelim2, with added nmax argument.
88427         * lib/getline.c: Include getndelim2.c.
88428         (getdelim2): Moved out to getndelim2.c.
88429         (getline, getdelim): Update.
88430
88431 2003-07-17  Bruno Haible  <bruno@clisp.org>
88432
88433         * lib/Makefile.am: Remove file.
88434         * lib/Makefile.in: Remove file.
88435
88436 2003-07-17  Bruno Haible  <bruno@clisp.org>
88437
88438         * configure.in: Remove file.
88439         * Makefile.in: Remove file.
88440
88441 2003-07-17  Bruno Haible  <bruno@clisp.org>
88442
88443         * MODULES.html.sh: Put the </BODY> right before </HTML>.
88444
88445 2003-07-16  Karl Berry  <karl@gnu.org>
88446
88447         * config/srclist-update: was running fixlicense twice, which caused
88448                 texinfo.tex to be nullified for some reason.  Simplify,
88449                 $gplsrc is no longer needed as far as I can see?
88450
88451 2003-07-16  Jim Meyering  <jim@meyering.net>
88452
88453         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
88454
88455 2003-07-15  Paul Eggert  <eggert@twinsun.com>
88456
88457         * config/srclist.txt: Get the following files from gettext-runtime/intl
88458         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
88459         ref-del.sin.  From Bruno Haible.
88460         * config/srclist-update (fixfile): Change grep pattern again, since the
88461         previous fix didn't work (there was another trailing $).  Use
88462         '[$]' to escape the $s.
88463
88464 2003-07-15  Karl Berry  <karl@gnu.org>
88465
88466         * lib/vasnprintf.c: update from gettext.
88467
88468 2003-07-15  Karl Berry  <karl@gnu.org>
88469
88470         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
88471         gets expanded when surrounded by '$'.
88472
88473 2003-07-15  Jim Meyering  <jim@meyering.net>
88474
88475         * modules/save-cwd: Don't depend on error.  From Derek Price.
88476
88477 2003-07-15  Jim Meyering  <jim@meyering.net>
88478
88479         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
88480
88481 2003-07-14  Simon Josefsson  <jas@extundo.com>
88482
88483         * modules/mempcpy: New file.
88484         * MODULES.html.sh (func_all_modules): Add mempcpy.
88485
88486 2003-07-14  Simon Josefsson  <jas@extundo.com>
88487
88488         * m4/mempcpy.m4: New file.
88489
88490 2003-07-14  Simon Josefsson  <jas@extundo.com>
88491
88492         * lib/mempcpy.h: New file.
88493         * lib/mempcpy.c: New file.
88494
88495 2003-07-14  Paul Eggert  <eggert@twinsun.com>
88496
88497         * modules/getdate, modules/posixtm: Depend on mktime.
88498
88499 2003-07-14  Paul Eggert  <eggert@twinsun.com>
88500
88501         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
88502         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
88503         unicodeio.c, unicodeio.h, unlocked-io.h:
88504         Switch from LGPL to GPL.
88505
88506 2003-07-14  Paul Eggert  <eggert@twinsun.com>
88507
88508         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
88509         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
88510         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
88511         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
88512         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
88513         updated automatically by ../config/srclist-update.  This changes
88514         their license from LPGL to GPL.
88515
88516 2003-07-14  Paul Eggert  <eggert@twinsun.com>
88517
88518         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
88519         assumed to refer to the root of the most recent stable gettext version.
88520         * config/srclistvars.sh: Add defaults for eggert.
88521         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
88522         Match "This program" as well as "The program".  This is needed
88523         for gettext.
88524
88525 2003-07-14  Jim Meyering  <jim@meyering.net>
88526
88527         Don't emit diagnostics.  Let callers do that.
88528         * lib/save-cwd.c: Don't include "error.h".
88529         (save_cwd): Don't call error.  Ensure that errno is valid
88530         when returning nonzero.
88531
88532         * lib/save-cwd.h (restore_cwd): Update prototype.
88533         * lib/save-cwd.c (restore_cwd): Remove two parameters.
88534         Simplify.  Don't call error upon failure.  Let callers do that.
88535         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
88536         when auditing is enabled.  But don't bother updating the #if.
88537
88538 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
88539
88540         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
88541         it breaks C++ compilation.
88542         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
88543
88544 2003-07-10  Simon Josefsson  <jas@extundo.com>
88545
88546         * modules/strchrnul (Makefile.am): Add strchrnul.h.
88547
88548 2003-07-10  Jim Meyering  <jim@meyering.net>
88549
88550         * m4/clock_time.m4: Remove trailing blank.
88551         * m4/intmax_t.m4: Likewise.
88552
88553 2003-07-10  Jim Meyering  <jim@meyering.net>
88554
88555         * lib/vasnprintf.c: Remove trailing blanks.
88556         Make cpp indentation consistent.
88557
88558 2003-07-09  Paul Eggert  <eggert@twinsun.com>
88559
88560         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
88561         posixver.c, strftime.c, strnlen.c, strverscmp.c:
88562         Switch from LGPL to GPL.
88563
88564 2003-07-09  Paul Eggert  <eggert@twinsun.com>
88565
88566         * config/srclist.txt: Sort sublists.  Add
88567         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
88568         that differ from gnulib for one reason or another; we'd like this list
88569         to be smaller but for now let's document what we have.
88570
88571 2003-07-08  Paul Eggert  <eggert@twinsun.com>
88572
88573         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
88574         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
88575         and sweeter "eval x=$x".
88576         * config/srclist.txt: Get lib/argp* from glibc.
88577
88578 2003-07-07  Paul Eggert  <eggert@twinsun.com>
88579
88580         * lib/mktime.c: Fix some boundary cases and remove need for floating
88581         point.
88582
88583         Issue a compile-time diagnostic if time_t is floating point, or if
88584         two's complement arithmetic is not in effect, or if arithmetic
88585         right shift does not propagate the sign.  These assumptions were
88586         all in the original code but they weren't checked.
88587
88588         (TIME_T_MIDPOINT, verify): New macros.
88589         (__isleap): Remove; it has integer overflow problems.
88590         (leapyear): New function, without those problems.
88591         (ydhms_tm_diff): Remove; splitting into two parts.
88592         (ydhms_diff): New function, containing the arithmetic part of
88593         the old ydhms_tm_diff function.  Issue a compile-time
88594         diagnostic if we are not using C99 integer division.
88595         Avoid casts when possible.
88596         (guess_time_tm): New function, containing the checking part of
88597         the old ydhms_tm_diff function.  Return the new value, rather than
88598         the difference between it and the old.  Accept a new argument T
88599         so that *T specifies the old value.  Check for overflow in the result.
88600
88601         (__mktime_internal): Use a time_t offset, not a long int offset.
88602         This undoes the 2003-06-04 change, which is no longer needed now
88603         that we have better overflow checking.
88604         (localtime_offset): Likewise.
88605
88606         (__mktime_internal): Avoid harmful overflow on hosts where time_t
88607         and long are 64-bit but int is only 32-bit.
88608         (ydhms_diff): Use long int to store year1 and yday1.
88609         Issue a compile-time diagnostic if long int is not wide enough.
88610
88611         (__mktime_internal): Use long int to store adjusted year and yday.
88612         Use plain C rather than preprocessor commands, if that doesn't
88613         affect efficiency.
88614         Check for overflow (and try to repair) after each probe
88615         rather than checking only at the very end.  This avoids some bugs
88616         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
88617         does not equal GMT offset at maximum time).
88618         Use integer to check for overflow rather than floating point; this
88619         is more portable to non-IEEE hosts, and is a tad faster.
88620         When we detect that we are oscillating between two values,
88621         don't check whether tm_isdst has the requested value, since
88622         we already know the answer.  When tm_isdst has the wrong value,
88623         use a different heuristic to find the right one, based on the
88624         extreme values actually observed in practice in tz2003a,
88625         rather than the (overly optimistic) "previous 3 calendar quarters".
88626
88627         (not_equal_tm, print_tm, check_result): Use "const T" rather than
88628         "T const" to accommodate glibc style.
88629         (check_result): Use less-confusing report format.  "long" -> "long int.
88630         (main): Likewise.
88631         Don't loop if the iteration overflows time_t.
88632         Allow a negative step in the iteration.
88633
88634 2003-07-06  Karl Berry  <karl@gnu.org>
88635
88636         * config/depcomp: update from automake.
88637         * config/config.sub: update from prep.
88638
88639 2003-07-03  Karl Berry  <karl@gnu.org>
88640
88641         * config/config.guess: update from prep.
88642
88643 2003-07-01  Paul Eggert  <eggert@twinsun.com>
88644
88645         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
88646         xreadlink.c now includes it unconditionally.
88647
88648 2003-07-01  Paul Eggert  <eggert@twinsun.com>
88649
88650         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
88651         having it depend on HAVE_SYS_TYPES_H.
88652
88653 2003-07-01  Bruno Haible  <bruno@clisp.org>
88654
88655         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
88656         <sys/types.h> should be sufficient.
88657         Reported by Paul Eggert.
88658
88659 2003-06-26  Karl Berry  <karl@gnu.org>
88660
88661         * config/depcomp: update from automake.
88662
88663 2003-06-26  Bruno Haible  <bruno@clisp.org>
88664
88665         * modules/human: Depend on module stdbool.
88666
88667 2003-06-25  Bruno Haible  <bruno@clisp.org>
88668
88669         * modules/readlink: New file.
88670         * modules/xreadlink: Depend on it.
88671         * MODULES.html.sh (func_all_modules): Add readlink.
88672
88673 2003-06-25  Bruno Haible  <bruno@clisp.org>
88674
88675         * m4/readlink.m4: New file.
88676
88677 2003-06-25  Bruno Haible  <bruno@clisp.org>
88678
88679         * lib/readlink.c: New file.
88680
88681 2003-06-22  Karl Berry  <karl@gnu.org>
88682
88683         * config/srclist.txt: update mkinstalldirs from automake.
88684         * config/mkinstalldirs: update.
88685
88686 2003-06-22  Bruno Haible  <bruno@clisp.org>
88687
88688         Portability to mingw32.
88689         * m4/ssize_t.m4: New file, from GNU gettext.
88690         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
88691         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
88692
88693 2003-06-22  Bruno Haible  <bruno@clisp.org>
88694
88695         * modules/safe-read: Add m4/ssize_t.m4.
88696         * modules/xreadlink: Add m4/ssize_t.m4.
88697
88698 2003-06-20  Bruno Haible  <bruno@clisp.org>
88699
88700         Assume C89, so PARAMS isn't needed.
88701         * lib/unicodeio.h (PARAMS): Remove.
88702         * lib/unicodeio.c: Don't use PARAMS.
88703
88704 2003-06-18  Karl Berry  <karl@gnu.org>
88705
88706         * config/config.{guess,sub}: update from prep.
88707
88708 2003-06-18  Jim Meyering  <jim@meyering.net>
88709
88710         Merge changes from coreutils.
88711         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
88712         Remove explicit declarations of xmalloc and realloc.
88713         Include xalloc.h.
88714         (read_utmp): Remove anachronistic cast of xmalloc.
88715
88716 2003-06-17  Paul Eggert  <eggert@twinsun.com>
88717
88718         Assume C89, so PARAMS isn't needed.
88719         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
88720         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
88721         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
88722         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
88723         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
88724         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
88725         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
88726         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
88727         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
88728         lib/xstrtod.h, lib/xstrtol.h: Likewise.
88729         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
88730         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
88731         no longer needed. Anyway, config.h should always be included before any
88732         other file.
88733
88734 2003-06-11  Simon Josefsson  <jas@extundo.com>
88735
88736         * modules/sysexits: New file.
88737         * MODULES.html.sh (func_all_modules): Add sysexits.
88738
88739 2003-06-11  Simon Josefsson  <jas@extundo.com>
88740
88741         * lib/sysexit_.h: New file.
88742
88743 2003-06-11  Derek Price  <derek@ximbiot.com>
88744
88745         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
88746         necessary.
88747
88748 2003-06-11  Bruno Haible  <bruno@clisp.org>
88749
88750         * m4/sysexits.m4: New file.
88751
88752 2003-06-10  Simon Josefsson  <jas@extundo.com>
88753
88754         * lib/argp.h: New file, from glibc.
88755         * lib/argp-ba.c: New file, from glibc.
88756         * lib/argp-eexst.c: New file, from glibc.
88757         * lib/argp-fmtstream.c: New file, from glibc.
88758         * lib/argp-fmtstream.h: New file, from glibc.
88759         * lib/argp-fs-xinl.c: New file, from glibc.
88760         * lib/argp-help.c: New file, from glibc.
88761         * lib/argp-namefrob.h: New file, from glibc.
88762         * lib/argp-parse.c: New file, from glibc.
88763         * lib/argp-pv.c: New file, from glibc.
88764         * lib/argp-pvh.c: New file, from glibc.
88765         * lib/argp-xinl.c: New file, from glibc.
88766
88767 2003-06-10  Simon Josefsson  <jas@extundo.com>
88768
88769         * modules/strchrnul: New file.
88770
88771 2003-06-10  Simon Josefsson  <jas@extundo.com>
88772
88773         * modules/argp: New file.
88774
88775 2003-06-10  Simon Josefsson  <jas@extundo.com>
88776
88777         * m4/strchrnul.m4: New file.
88778
88779 2003-06-10  Simon Josefsson  <jas@extundo.com>
88780
88781         * lib/strchrnul.h: New file.
88782         * lib/strchrnul.c: New file.
88783
88784 2003-06-10  Bruno Haible  <bruno@clisp.org>
88785
88786         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
88787
88788 2003-06-07  Karl Berry  <karl@gnu.org>
88789
88790         * config/config.{guess,sub}: update from prep.
88791
88792 2003-06-07  Jim Meyering  <jim@meyering.net>
88793
88794         * modules/strtod: Use $(...) notation, not @...@ for
88795         AC_REPLACE'd variables.
88796         * modules/localcharset: Likewise.
88797
88798 2003-06-07  Jim Meyering  <jim@meyering.net>
88799
88800         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
88801         in place of my name in the copyright comment.
88802         Remove definition and uses of __P.
88803
88804         From coreutils.
88805         * lib/stat.c: Don't declare xmalloc explicitly.
88806         Instead, include "xalloc.h".
88807         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
88808         xrealloc, and xcalloc return values.
88809         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
88810         Improve comment.
88811         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
88812
88813 2003-06-07  Bruno Haible  <bruno@clisp.org>
88814
88815         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
88816         avoid AC_CONFIG_LINKS.
88817         * modules/fnmatch (Makefile.am): Use explicit creation rule for
88818         fnmatch.h, to avoid AC_CONFIG_LINKS.
88819         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
88820
88821 2003-06-07  Bruno Haible  <bruno@clisp.org>
88822
88823         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
88824         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
88825         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
88826         directory.
88827         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
88828         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
88829         directory.
88830
88831 2003-06-06  Jim Meyering  <jim@meyering.net>
88832
88833         Merge from coreutils.
88834         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
88835         Consolidate declarations and initializations of *_base* locals.
88836
88837         Merge from coreutils.
88838         This avoids a core dump on systems without GNU putenv,
88839         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
88840         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
88841         (unsetenv): New static function, from GNU libc.
88842         (rpl_putenv): Use it.
88843
88844         * lib/modechange.c: Remove trailing blanks.
88845
88846         Merge from coreutils.
88847         * lib/fsusage.c: Remove declaration of statfs.
88848         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
88849
88850         * lib/posixtm.c: Include <stdbool.h> unconditionally.
88851
88852 2003-06-06  Jim Meyering  <jim@meyering.net>
88853
88854         * lib/stdbool_.h: Renamed from stdbool.h.in.
88855
88856 2003-06-06  Jim Meyering  <jim@meyering.net>
88857             Bruno Haible  <bruno@clisp.org>
88858
88859         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
88860         Adjust Makefile.am snippet not to redirect directly to target.
88861         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
88862
88863 2003-06-05  Paul Eggert  <eggert@twinsun.com>
88864
88865         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
88866         mismatch, look in future quarters as well as past.  This fixes a
88867         bug when processing fall-backwards gaps immediately after a long
88868         period of daylight-saving time.
88869
88870         * lib/mktime.c: Assume freestanding C89 or better.
88871         (HAVE_LIMITS_H): Remove.  Assume it's 1.
88872         (__P): Remove; not used.
88873         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
88874         (mktime, not_equal_tm, print_tm, check_result,
88875         main): Use prototypes.  Use const * where appropriate.
88876         (main): Fix typo in testing code that uncovered by above changes.
88877         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
88878
88879 2003-06-04  Paul Eggert  <eggert@twinsun.com>
88880
88881         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
88882         locale.h, localeconv.  This merges changes from coreutils.
88883
88884         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
88885         It can be removed after the next Autoconf is released.
88886         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
88887         needed.
88888
88889 2003-06-04  Paul Eggert  <eggert@twinsun.com>
88890
88891         * lib/mktime.c: Fix Debian bug 177940
88892         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
88893         (localtime_offset): Now long int, not time_t, because we want it
88894         to be guaranteed to be signed.  All uses changed.
88895         (__mktime_internal): If overflow would occur when adding offset,
88896         don't add it.
88897
88898         Merge 'human' changes from coreutils.  Rewrite to support
88899         locale-specific notations like thousands separators.
88900         * lib/human.c: Simplify authorship notice.
88901         Include human.h immediately after config.h.
88902         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
88903         <limits.h>: Do not include, since human.h does.
88904         (SIZE_MAX, UINTMAX_MAX): New macros.
88905         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
88906         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
88907         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
88908         (power_letter): Renamed from suffixes.
88909         (generate_suffix_backwards): Remove.
88910         (adjust_value): Now takes int style (because of human.h changes)
88911         and long double value (for greater precision on some platforms).
88912         (group_number): New function.
88913         (human_readable): Use it.  Use integer options, not enum.
88914         Put the options before the sizes in the arg list.
88915         Support all the new options.
88916         The old human_readable function has been removed;
88917         use inttostr.h instead.
88918         (human_readable, default_block_size, humblock):
88919         Use uintmax_t, not int, for block sizes.
88920         (human_readable_inexact, block_size_types): Remove.
88921         (block_size_opts): New constant.
88922         (human_options): Renamed from human_block_size, with new signature
88923         that allows block sizes up to UINTMAX_MAX.  All callers changed.
88924         * lib/human.h: Add copyright and authorship notice.
88925         Include <limits.h> and <stdbool.h> unconditionally.
88926         (PARAMS): Remove.  All uses removed.
88927         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
88928         (enum human_inexact_style): Remove tag; now a nameless enum.
88929         (human_floor, human_ceiling, human_round_to_even): Now have
88930         values 2, 0, 1 rather than -1, 1, 0.
88931         (human_group_digits, human_suppress_point_zero, human_autoscale,
88932         human_base_1024, human_SI, human_B): New constants.
88933         (human_readable_inexact, human_block_size): Remove.
88934         (human_readable): Size args are now uintmax_t, not int.
88935         (human_options): New decl.
88936
88937         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
88938         unnecessary now that we assume C89 or better.  This change
88939         imported from coreutils.
88940
88941         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
88942         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
88943         in the 2003-05-30 sync from glibc.
88944
88945         .h files should stand alone, but we shouldn't include <sys/types.h>
88946         if we can get away with just <stddef.h>.
88947
88948         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
88949         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
88950         rather than <sys/types.h>, as we merely need size_t.
88951         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
88952         to get size_t.
88953         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
88954         Include <stdio.h>, to get FILE.
88955         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
88956         memcasecmp.h has included <stddef.h> and all we need is size_t.
88957         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
88958         our interface, instead of including <sys/types.h>
88959
88960 2003-06-04  Paul Eggert  <eggert@twinsun.com>
88961
88962         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
88963         now, as glibc mktime is buggy on non-glibc systems.
88964
88965 2003-06-03  Karl Berry  <karl@gnu.org>
88966
88967         * config/config.sub: update from prep.
88968
88969 2003-06-02  Paul Eggert  <eggert@twinsun.com>
88970
88971         [from coreutils]
88972         Fix some minor time-related bugs with POSIX time arguments.
88973         Some valid time stamps were being rejected (notably -1, and
88974         time stamps before 1900 on 64-bit hosts).  And some invalid
88975         time stamps were being accepted, e.g. September 31.
88976
88977         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
88978         that we can return (time_t) -1 successfully.
88979         * lib/posixtm.c: Likewise.
88980         [HAVE_STDBOOL_H]: Include <stdbool.h>.
88981         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
88982         (t): Remove static var.
88983         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
88984         of static var.  All uses changed.
88985         (year): Do not reject years before 1900; they can occur with
88986         64-bit time_t.
88987         (posix_time_parse): Do not check for out-of-range components;
88988         that is now the caller's responsibility, since our checks were
88989         only approximations.
88990         (posixtime): Use mktime to check for out-of-range components,
88991         since it knows them exactly.
88992         If mktime returns (time_t) -1, check whether an error actually occurred
88993         by invoking localtime on -1.
88994         (main) [TEST_POSIXTIME]: Check for input data errors, and report
88995         posixtime failures better.
88996         Improve the test data (in comments only).
88997
88998 2003-06-02  Karl Berry  <karl@gnu.org>
88999
89000         * config/mkinstalldirs (version): new variable.
89001         (--version): new option.
89002         (usage): improve message.
89003
89004 2003-05-30  Karl Berry  <karl@gnu.org>
89005
89006         * lib/mktime.c: update from libc.
89007
89008 2003-05-30  Bruno Haible  <bruno@clisp.org>
89009
89010         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
89011         * config/config.rpath: Upgrade to gettext-0.12.1.
89012
89013 2003-05-30  Bruno Haible  <bruno@clisp.org>
89014
89015         * m4/gettext.m4: Upgrade to gettext-0.12.1.
89016         * m4/nls.m4: New file, from gettext-0.12.1.
89017         * m4/po.m4: New file, from gettext-0.12.1.
89018         * m4/progtest.m4: Upgrade to gettext-0.12.1.
89019
89020 2003-05-30  Bruno Haible  <bruno@clisp.org>
89021
89022         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
89023         * lib/localcharset.h: Likewise.
89024         * lib/localcharset.c: Likewise.
89025
89026 2003-05-29  Karl Berry  <karl@gnu.org>
89027
89028         * config/config.rpath: update from gettext.
89029
89030 2003-05-28  Paul Eggert  <eggert@twinsun.com>
89031
89032         Assume the headers required for C89 freestanding compilers.
89033         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
89034         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
89035         * m4/human.m4 (gl_HUMAN): Likewise.
89036         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
89037         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
89038         * m4/userspec.m4 (gl_USERSPEC): Likewise.
89039         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
89040         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
89041         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
89042
89043 2003-05-28  Paul Eggert  <eggert@twinsun.com>
89044
89045         Assume the headers required for C89 freestanding compilers.
89046         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
89047         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
89048         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
89049         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
89050         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
89051         define, since <limits.h> is guaranteed to do that.
89052         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
89053         * lib/exclude.c: Include <stdbool.h> unconditionally.
89054         * lib/tempname.c: Include <stddef.h> unconditionally.
89055         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
89056         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
89057         <stddef.h> does that.
89058         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
89059         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
89060         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
89061         needed.
89062         * lib/xstrtol.c: Likewise.
89063         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
89064         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
89065
89066         * lib/addext.c (addext): Use assignment rather than cast, to avoid
89067         warnings on some platforms.
89068
89069         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
89070         arbitrarily.
89071
89072 2003-05-26  Jim Meyering  <jim@meyering.net>
89073
89074         Merge in a change from coreutils:
89075         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
89076         that is guaranteed to be `no'.  Use `no_such_member' to indicate
89077         that condition, rather than `-1' which is slightly misleading.
89078         Change the name of the cache variable to have the gl_ prefix.
89079         Prompted by a patch from Richard Dawe for DJGPP.
89080
89081 2003-05-24  Karl Berry  <karl@gnu.org>
89082
89083         * config/config.guess: update from prep.
89084
89085 2003-05-22  Karl Berry  <karl@gnu.org>
89086
89087         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
89088
89089 2003-05-20  Karl Berry  <karl@gnu.org>
89090
89091         * config/config.guess: update from prep.
89092
89093 2003-05-18  Karl Berry  <karl@gnu.org>
89094
89095         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
89096         might actually be set by the user.
89097
89098         * config/depcomp, install-sh, mdate-sh: update from automake.
89099
89100 2003-05-17  Bruno Haible  <bruno@clisp.org>
89101
89102         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
89103         invalid expansion for AC_EGREP_CPP.
89104         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
89105         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
89106         Suggested by Akim Demaille <akim@epita.fr> in
89107         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
89108
89109 2003-05-12  Jim Meyering  <jim@meyering.net>
89110
89111         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
89112         the space-padded-by-default conversion specifiers, %e, %k, %l.
89113
89114 2003-05-12  Bruno Haible  <bruno@clisp.org>
89115
89116         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
89117         the string is longer than 4 KB.
89118
89119 2003-05-11  Karl Berry  <karl@gnu.org>
89120
89121         * config/config.{guess,sub}: update from prep.
89122
89123 2003-05-09  Bruno Haible  <bruno@clisp.org>
89124
89125         * modules/error: Add m4/strerror_r.m4 to file list.
89126
89127 2003-05-03  Bruno Haible  <bruno@clisp.org>
89128
89129         Upgrade to Unicode-4.0.
89130         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
89131         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
89132         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
89133         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
89134         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
89135         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
89136         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
89137         Change width of U+E0100..U+E01EF from 1 to 0.
89138
89139 2003-04-25  Jim Meyering  <jim@meyering.net>
89140
89141         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
89142         of type size_t, not int.
89143
89144 2003-04-25  Bruno Haible  <bruno@clisp.org>
89145
89146         * lib/copy-file.c: Include <stddef.h>, for size_t.
89147
89148 2003-04-21  Paul Eggert  <eggert@twinsun.com>
89149
89150         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
89151         code which expansion is under static control.  Patch imported from
89152         Akim Demaille's patch to Bison; see
89153         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
89154
89155 2003-04-14  Bruno Haible  <bruno@clisp.org>
89156
89157         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
89158
89159 2003-04-11  Jim Meyering  <jim@meyering.net>
89160
89161         Merge changes from Coreutils.
89162
89163         2003-03-22  Jim Meyering  <jim@meyering.net>
89164
89165         * lib/strftime.c (widen): Cast alloca return value to proper type.
89166
89167         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
89168
89169         From GNU libc.
89170         * lib/strftime.c (my_strftime): Handle very large width
89171         specifications for numeric values correctly.  Improve checks for
89172         overflow.
89173
89174         2003-01-19  Jim Meyering  <jim@meyering.net>
89175
89176         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
89177         definitions.
89178         (nl_get_alt_digit) [! defined my_strftime]: Define.
89179         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
89180         _nl_get_alt_digit and _nl_get_walt_digit.
89181
89182         * lib/strftime.c (my_strftime): Merge in locale-related changes from
89183         libc. These changes have no effect outside of _LIBC.
89184
89185 2003-04-10  Bruno Haible  <bruno@clisp.org>
89186
89187         * modules/findprog: New file.
89188         * MODULES.html.sh (func_all_modules): Add it.
89189
89190 2003-04-10  Bruno Haible  <bruno@clisp.org>
89191
89192         * m4/findprog.m4: New file.
89193         * m4/eaccess.m4: New file.
89194
89195 2003-04-10  Bruno Haible  <bruno@clisp.org>
89196
89197         * lib/findprog.h: New file, from GNU gettext.
89198         * lib/findprog.c: New file, from GNU gettext.
89199
89200 2003-04-05  Jim Meyering  <jim@meyering.net>
89201
89202         Merge changes from Coreutils.
89203
89204         * lib/exclude.h (PARAMS): Remove definition and uses.
89205         * lib/exclude.c: Remove uses of `PARAMS'.
89206
89207         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
89208         Add test-cases for DOS filenames. Declare program_name.
89209         (main): Set up program_name.  Patch by Rich Dawe.
89210
89211         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
89212         error from mntctl.
89213         Use mntctl's return value to drive the entry-processing loop, since
89214         we can't rely on the value of the vmt_length member in the last
89215         entry.  On some systems doing so could result in exhausting
89216         virtual memory.  Based in part on a patch from Mike Jetzer.
89217
89218 2003-04-04  Bruno Haible  <bruno@clisp.org>
89219
89220         * modules/linebreak: New file.
89221         * MODULES.html.sh (func_all_modules): Add it.
89222
89223 2003-04-04  Bruno Haible  <bruno@clisp.org>
89224
89225         * m4/linebreak.m4: New file.
89226
89227 2003-04-04  Bruno Haible  <bruno@clisp.org>
89228
89229         * lib/linebreak.h: New file, from GNU gettext.
89230         * lib/linebreak.c: New file, from GNU gettext with slight
89231         modifications.
89232         * lib/lbrkprop.h: New file, from GNU gettext.
89233
89234 2003-04-03  Bruno Haible  <bruno@clisp.org>
89235
89236         * modules/utf8-ucs4: New file.
89237         * modules/utf16-ucs4: New file.
89238         * modules/ucs4-utf8: New file.
89239         * modules/ucs4-utf16: New file.
89240         * MODULES.html.sh (func_all_modules): Add them.
89241
89242 2003-04-03  Bruno Haible  <bruno@clisp.org>
89243
89244         * m4/utf-ucs4.m4: New file.
89245         * m4/ucs4-utf.m4: New file.
89246
89247 2003-04-03  Bruno Haible  <bruno@clisp.org>
89248
89249         * lib/utf8-ucs4.h: New file, from GNU gettext.
89250         * lib/utf16-ucs4.h: New file, from GNU gettext.
89251         * lib/ucs4-utf8.h: New file, from GNU gettext.
89252         * lib/ucs4-utf16.h: New file, from GNU gettext.
89253
89254 2003-04-02  Bruno Haible  <bruno@clisp.org>
89255
89256         * modules/binary-io: New file.
89257         * MODULES.html.sh (func_all_modules): Add it.
89258
89259 2003-04-02  Bruno Haible  <bruno@clisp.org>
89260
89261         * lib/binary-io.h: New file, from GNU gettext.
89262
89263 2003-04-01  Bruno Haible  <bruno@clisp.org>
89264
89265         * modules/pathname: New file.
89266         * MODULES.html.sh (func_all_modules): Add it.
89267
89268 2003-04-01  Bruno Haible  <bruno@clisp.org>
89269
89270         * lib/pathname.h: New file, from GNU gettext.
89271         * lib/concatpath.c: New file, from GNU gettext.
89272
89273 2003-03-30  Bruno Haible  <bruno@clisp.org>
89274
89275         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
89276
89277 2003-03-30  Bruno Haible  <bruno@clisp.org>
89278
89279         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
89280         function chown() doesn't exist.
89281
89282 2003-03-28  Bruno Haible  <bruno@clisp.org>
89283
89284         * modules/copy-file: New file.
89285         * MODULES.html.sh (func_all_modules): Add it.
89286
89287 2003-03-28  Bruno Haible  <bruno@clisp.org>
89288
89289         * m4/copy-file.m4: New file.
89290
89291 2003-03-28  Bruno Haible  <bruno@clisp.org>
89292
89293         * lib/copy-file.h: New file, from GNU gettext.
89294         * lib/copy-file.c: New file, from GNU gettext.
89295
89296 2003-03-18  Jim Meyering  <jim@meyering.net>
89297
89298         * lib/quote.c (quote_n): Fix typo in comment.
89299
89300 2003-03-18  Bruno Haible  <bruno@clisp.org>
89301
89302         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
89303         checking.
89304         * m4/onceonly_2_57.m4: Likewise.
89305
89306 2003-03-17  Bruno Haible  <bruno@clisp.org>
89307
89308         * m4/onceonly.m4: Require autoconf 2.54 or newer.
89309         (m4_quote): Remove macro.
89310         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
89311
89312 2003-03-14  Jim Meyering  <jim@meyering.net>
89313
89314         Merge changes from Coreutils.
89315         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
89316         to be const, in order to avoid warnings.
89317         (obstack_room): Likewise.
89318         (obstack_empty_p): Likewise.
89319
89320 2003-03-14  Bruno Haible  <bruno@clisp.org>
89321
89322         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
89323         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
89324
89325 2003-03-13  Paul Eggert  <eggert@twinsun.com>
89326
89327         Merge changes from Bison.
89328         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
89329         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
89330         when compiling Bison 1.875's `bitset bset = obstack_alloc
89331         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
89332         * lib/hash.c: Include <stdbool.h> unconditionally.
89333
89334 2003-03-13  Paul Eggert  <eggert@twinsun.com>
89335
89336         * m4/onceonly.m4 (m4_quote): New macro.
89337         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
89338         Quote AC_FOREACH variable-expansions properly.
89339
89340 2003-03-13  Paul Eggert  <eggert@twinsun.com>
89341
89342         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
89343
89344 2003-03-09  Paul Eggert  <eggert@twinsun.com>
89345
89346         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
89347         Reported by Bruce Becker; see:
89348         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
89349
89350 2003-03-03  Paul Eggert  <eggert@twinsun.com>
89351             Bruno Haible  <bruno@clisp.org>
89352
89353         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
89354         Reported by John Hughes, see
89355         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
89356
89357 2003-02-20  Bruno Haible  <bruno@clisp.org>
89358
89359         * MODULES.html.sh (func_all_modules): Add poll.
89360
89361 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
89362
89363         * modules/poll: New file.
89364
89365 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
89366
89367         * lib/poll_.h: New file.
89368         * lib/poll.c: New file.
89369
89370 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
89371
89372         * m4/poll.m4: New file.
89373
89374 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
89375
89376         * modules/mathl: New file.
89377
89378 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
89379
89380         * lib/mathl.h: New file.
89381         * lib/acosl.c: New file.
89382         * lib/asinl.c: New file.
89383         * lib/atanl.c: New file.
89384         * lib/ceill.c: New file.
89385         * lib/cosl.c: New file.
89386         * lib/expl.c: New file.
89387         * lib/floorl.c: New file.
89388         * lib/frexpl.c: New file.
89389         * lib/ldexpl.c: New file.
89390         * lib/logl.c: New file.
89391         * lib/sincosl.c: New file.
89392         * lib/sinl.c: New file.
89393         * lib/sqrtl.c: New file.
89394         * lib/tanl.c: New file.
89395         * lib/trigl.c: New file.
89396         * lib/trigl.h: New file.
89397
89398 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
89399
89400         * m4/mathl.m4: New file.
89401
89402 2003-02-18  Bruno Haible  <bruno@clisp.org>
89403
89404         * MODULES.html.sh (func_all_modules): Add mathl.
89405
89406 2003-02-17  Bruno Haible  <bruno@clisp.org>
89407
89408         * modules/mkdtemp: New module.
89409         * MODULES.html.sh (func_all_modules): Add it.
89410
89411 2003-02-17  Bruno Haible  <bruno@clisp.org>
89412
89413         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
89414
89415 2003-02-17  Bruno Haible  <bruno@clisp.org>
89416
89417         * lib/mkdtemp.h: New file, from GNU gettext.
89418         * lib/mkdtemp.c: New file, from GNU gettext.
89419
89420 2003-02-02  Jim Meyering  <jim@meyering.net>
89421
89422         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
89423         e.g. glibc-2.2.93.
89424
89425 2003-01-31  Bruno Haible  <bruno@clisp.org>
89426
89427         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
89428         'rpl_rename'.
89429         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
89430         'rpl_strnlen'.
89431         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
89432         'rpl_strtod'.
89433         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
89434         'rpl_utime'.
89435
89436 2003-01-31  Bruno Haible  <bruno@clisp.org>
89437
89438         * lib/rename.c: #undef rename before defining rpl_rename.
89439         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
89440
89441 2003-01-30  Bruno Haible  <bruno@clisp.org>
89442
89443         * modules/vasnprintf, modules/vasprintf: New modules.
89444         * MODULES.html.sh (func_all_modules): Add them.
89445
89446 2003-01-30  Bruno Haible  <bruno@clisp.org>
89447
89448         * m4/signed.m4: New file, from GNU gettext.
89449         * m4/longdouble.m4: New file, from GNU gettext.
89450         * m4/wchar_t.m4: New file, from GNU gettext.
89451         * m4/wint_t.m4: New file, from GNU gettext.
89452         * m4/vasnprintf.m4: New file.
89453         * m4/vasprintf.m4: New file.
89454
89455 2003-01-30  Bruno Haible  <bruno@clisp.org>
89456
89457         * lib/printf-args.h: New file, from GNU gettext.
89458         * lib/printf-args.c: New file, from GNU gettext.
89459         * lib/printf-parse.h: New file, from GNU gettext.
89460         * lib/printf-parse.c: New file, from GNU gettext.
89461         * lib/vasnprintf.h: New file, from GNU gettext.
89462         * lib/vasnprintf.c: New file, from GNU gettext.
89463         * lib/asnprintf.c: New file, from GNU gettext.
89464         * lib/vasprintf.h: New file, from GNU gettext with modifications.
89465         * lib/vasprintf.c: New file, from GNU gettext.
89466         * lib/asprintf.c: New file, from GNU gettext.
89467
89468 2003-01-29  Bruno Haible  <bruno@clisp.org>
89469
89470         * modules/stpncpy: New module.
89471         * MODULES.html.sh (func_all_modules): Add it.
89472
89473 2003-01-29  Bruno Haible  <bruno@clisp.org>
89474
89475         * m4/stpncpy.m4: New file.
89476
89477 2003-01-29  Bruno Haible  <bruno@clisp.org>
89478
89479         * lib/stpncpy.h: New file, from GNU gettext with modifications.
89480         * lib/stpncpy.c: New file, from GNU gettext with modifications.
89481
89482 2003-01-28  Bruno Haible  <bruno@clisp.org>
89483
89484         * modules/c-ctype: New module.
89485         * MODULES.html.sh (func_all_modules): Add it.
89486
89487 2003-01-28  Bruno Haible  <bruno@clisp.org>
89488
89489         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
89490         Paul Eggert.
89491         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
89492         Paul Eggert.
89493
89494 2003-01-27  Bruno Haible  <bruno@clisp.org>
89495
89496         * modules/xsetenv: New module.
89497         * MODULES.html.sh (func_all_modules): Add it.
89498
89499 2003-01-27  Bruno Haible  <bruno@clisp.org>
89500
89501         * lib/xsetenv.h: New file, from GNU gettext.
89502         * lib/xsetenv.c: New file, from GNU gettext.
89503
89504 2003-01-23  Jim Meyering  <jim@meyering.net>
89505
89506         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
89507         from working on systems without dirfd (at least Irix and OSF1/Tru64).
89508
89509 2003-01-23  Bruno Haible  <bruno@clisp.org>
89510
89511         * modules/minmax: New module.
89512         * MODULES.html.sh (func_all_modules): Add it.
89513
89514 2003-01-23  Bruno Haible  <bruno@clisp.org>
89515
89516         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
89517         Eggert.
89518
89519 2003-01-22  Bruno Haible  <bruno@clisp.org>
89520
89521         * modules/exit: New module.
89522         * MODULES.html.sh (func_all_modules): Add it.
89523
89524 2003-01-22  Bruno Haible  <bruno@clisp.org>
89525
89526         * lib/exit.h: New file, from GNU gettext.
89527
89528 2003-01-19  Bruno Haible  <bruno@clisp.org>
89529
89530         * gnulib-tool: Recognize option --extract-maintainer.
89531         (func_get_maintainer): New function.
89532         * modules/*: Add Maintainer entry.
89533
89534 2003-01-16  Jim Meyering  <jim@meyering.net>
89535
89536         * m4/regex.m4: The `regex' struct is both input and output.
89537         Initialize it before each use.  Patch by Tim Waugh.
89538
89539 2003-01-16  Bruno Haible  <bruno@clisp.org>
89540
89541         * MODULES.html.sh: Add a table of contents. Add the module name as
89542         leftmost column. Add hyperlinks.
89543
89544 2003-01-15  Bruno Haible  <bruno@clisp.org>
89545
89546         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
89547
89548 2003-01-15  Bruno Haible  <bruno@clisp.org>
89549
89550         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
89551         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
89552         suffix.
89553
89554 2003-01-15  Bruno Haible  <bruno@clisp.org>
89555
89556         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
89557
89558 2003-01-15  Bruno Haible  <bruno@clisp.org>
89559
89560         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
89561         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
89562
89563 2003-01-14  Jim Meyering  <jim@meyering.net>
89564
89565         * lib/same.c (same_name): Tweak a comment.
89566
89567 2003-01-14  Bruno Haible  <bruno@clisp.org>
89568
89569         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
89570         when a string comparison is sufficient.
89571
89572 2003-01-14  Bruno Haible  <bruno@clisp.org>
89573
89574         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
89575         'unsigned int'.
89576
89577 2003-01-14  Bruno Haible  <bruno@clisp.org>
89578
89579         * lib/hash-pjw.c: Add comment about low quality of this function.
89580
89581 2003-01-13  Bruno Haible  <bruno@clisp.org>
89582
89583         * modules/stpcpy: Distribute lib/stpcpy.h.
89584         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
89585
89586 2003-01-13  Bruno Haible  <bruno@clisp.org>
89587
89588         * modules/*: Add a description.
89589         * modules/strpbrk: Fix Makefile.am snippet.
89590         * modules/strtoimax: Fix dependencies.
89591         * modules/strtoumax: Likewise.
89592
89593 2003-01-13  Bruno Haible  <bruno@clisp.org>
89594
89595         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
89596         * modules/alloca (Makefile.am): All object files depend on alloca.h.
89597         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
89598
89599 2003-01-13  Bruno Haible  <bruno@clisp.org>
89600
89601         * gnulib-tool (func_create_testdir): Store config/* files in the main
89602         directory.
89603         * config.rpath: Move to ...
89604         * config/config.rpath: ... here.
89605         * modules/gettext: Contains config/config.rpath, not config.rpath.
89606         * modules/iconv: Likewise.
89607
89608 2003-01-12  Paul Eggert  <eggert@twinsun.com>
89609
89610         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
89611         to avoid collisions with libcurses and libreadline.
89612
89613         * m4/getstr.m4: Remove.
89614         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
89615
89616 2003-01-12  Paul Eggert  <eggert@twinsun.com>
89617
89618         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
89619         to avoid collisions with libcurses and libreadline.
89620
89621         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
89622         * lib/getstr.h, getstr.c: Remove.
89623         * lib/getline.c: Include "getline.h", to check interface.
89624         Move body of old getstr.c here: this defines MIN_CHUNK and
89625         declares getdelim2, which is renamed from getstr.
89626         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
89627
89628         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
89629         All uses changed.
89630         * lib/linebuffer.h: Likewise.
89631         (readline): Remove backward-compatibility macro.
89632
89633 2003-01-12  Paul Eggert  <eggert@twinsun.com>
89634
89635         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
89636         to avoid collisions with libcurses and libreadline.
89637         * getstr: Remove.
89638         * MODULES.html.sh: Remove getstr.
89639         * modules/getline: Depend on unlocked-io, not getstr.
89640
89641 2003-01-12  Jim Meyering  <jim@meyering.net>
89642
89643         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
89644
89645 2003-01-10  Bruno Haible  <bruno@clisp.org>
89646
89647         * modules/alloca: Change Makefile.am requirements. Simplify Include
89648         requirements. Add lib/alloca_.h to file list.
89649
89650 2003-01-10  Bruno Haible  <bruno@clisp.org>
89651
89652         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
89653
89654 2003-01-10  Bruno Haible  <bruno@clisp.org>
89655
89656         * lib/alloca_.h: New file.
89657         * lib/getdate.y: Unconditionally include alloca.h.
89658         * lib/makepath.c: Likewise.
89659         * lib/setenv.c: Likewise.
89660         * lib/userspec.c: Likewise.
89661
89662 2003-01-09  Karl Berry  <karl@gnu.org>
89663
89664         * MODULES.html.sh: include `dirname $0` in PATH, to find
89665         gnulib-tool.
89666
89667 2003-01-09  Bruno Haible  <bruno@clisp.org>
89668
89669         * modules/stdbool: Change configure.ac, Makefile.am requirements.
89670         Simplify Include requirements. Add lib/stdbool.h.in to file list.
89671
89672 2003-01-09  Bruno Haible  <bruno@clisp.org>
89673
89674         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
89675
89676 2003-01-09  Bruno Haible  <bruno@clisp.org>
89677
89678         * lib/stdbool.h.in: New file.
89679
89680 2003-01-09  Bruno Haible  <bruno@clisp.org>
89681
89682         * gnulib-tool (func_all_modules): Ignore files ending in ~.
89683         * MODULES.html.sh: Likewise.
89684
89685 2003-01-08  Jim Meyering  <jim@meyering.net>
89686
89687         * lib/full-write.c: Undefine and define-away `const' after inclusion
89688         of errno.h, not before.  Suggestion from Bruno Haible.
89689
89690 2003-01-08  Bruno Haible  <bruno@clisp.org>
89691
89692         * modules/full-read: Depend on full-write.
89693
89694 2003-01-08  Bruno Haible  <bruno@clisp.org>
89695
89696         * lib/safe-read.c: Include specification header first, to ensure its
89697         selfcontainedness.
89698         * lib/full-write.c: Likewise.
89699
89700 2003-01-07  Jim Meyering  <jim@meyering.net>
89701
89702         * lib/full-write.c: Rework so that it may serve to define full_read,
89703         too.
89704         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
89705
89706 2003-01-07  Bruno Haible  <bruno@clisp.org>
89707
89708         * lib/strtoimax.c: Include <stdint.h> as an alternative to
89709         <inttypes.h>.
89710         * lib/xstrtol.h: Likewise.
89711         * lib/xstrtoimax.c: Likewise.
89712         * lib/xstrtoumax.c: Likewise.
89713         * lib/human.h: Likewise.
89714
89715         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
89716         on systems that have <inttypes.h> but not <stdint.h>.
89717
89718 2003-01-07  Bruno Haible  <bruno@clisp.org>
89719
89720         * MODULES.html.sh: Add copyright notice.
89721         (missed_files): Omit CVS directory entries.
89722         (func_module): Make it work with sed-3.02.
89723         * MODULES.txt: Remove file.
89724
89725 2003-01-06  Jim Meyering  <jim@meyering.net>
89726
89727         * lib/version-etc.c: Update year in translatable copyright string.
89728
89729 2003-01-03  Karl Berry  <karl@gnu.org>
89730
89731         * config/config.{guess,sub}: update from prep.
89732
89733 2003-01-02  Karl Berry  <karl@gnu.org>
89734
89735         * doc/COPYING.DOC: belatedly updated to 1.2.
89736
89737 2003-01-01  Karl Berry  <karl@gnu.org>
89738
89739         * gnulib-tool (func_verify_module): report module name $module in
89740         error message, not $1.
89741         * gnulib-tool (create-testdir): don't complain if destdir couldn't
89742         be created, only if it doesn't exist.
89743         * gnulib-tool (last_checkin_date): don't expand the $Date here.
89744
89745 2002-12-31  Paul Eggert  <eggert@twinsun.com>
89746
89747         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
89748
89749 2002-12-31  Paul Eggert  <eggert@twinsun.com>
89750
89751         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
89752         memcmp if strcoll doesn't work.
89753
89754 2002-12-31  Bruno Haible  <bruno@clisp.org>
89755
89756         * lib/utime.c (utime_null): No need to call ftruncate if the file was
89757         nonempty.
89758
89759 2002-12-31  Bruno Haible  <bruno@clisp.org>
89760
89761         * lib/memcoll.c (STRCOLL): New macro.
89762         (memcoll): Use it.
89763
89764 2002-12-31  Bruno Haible  <bruno@clisp.org>
89765
89766         * lib/localcharset.h: New file.
89767         * lib/localcharset.c: Include it.
89768         * lib/unicodeio.c: Likewise.
89769
89770 2002-12-31  Bruno Haible  <bruno@clisp.org>
89771
89772         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
89773         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
89774
89775 2002-12-31  Bruno Haible  <bruno@clisp.org>
89776
89777         * lib/getline.h: Include <stddef.h>, for size_t.
89778
89779         * lib/unicodeio.h: Include <stddef.h>, for size_t.
89780         * lib/unicodeio.c: Don't include <stddef.h>.
89781
89782 2002-12-31  Bruno Haible  <bruno@clisp.org>
89783
89784         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
89785         HAVE_TM_ZONE.
89786
89787 2002-12-24  Karl Berry  <karl@gnu.org>
89788
89789         * config/config.guess: update from prep.
89790
89791 2002-12-24  Bruno Haible  <bruno@clisp.org>
89792
89793         General infrasructure.
89794         * m4/README: Rewritten.
89795         * m4/onceonly.m4: New file.
89796         * m4/onceonly_2_57.m4: New file.
89797
89798         Module atexit.
89799         * m4/atexit.m4: New file.
89800
89801         Module strtod.
89802         * m4/strtod.m4: New file.
89803
89804         Module strtol.
89805         * m4/strtol.m4: New file.
89806
89807         Module strtoul.
89808         * m4/strtoul.m4: New file.
89809
89810         Module memchr.
89811         * m4/memchr.m4: New file.
89812
89813         Module memcmp.
89814         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
89815         (jm_FUNC_MEMCMP): Invoke it.
89816
89817         Module memcpy.
89818         * m4/memcpy.m4: New file.
89819
89820         Module memmove.
89821         * m4/memmove.m4: New file.
89822
89823         Module memset.
89824         * m4/memset.m4: New file.
89825
89826         Module strcspn.
89827         * m4/strcspn.m4: New file.
89828
89829         Module strpbrk.
89830         * m4/strpbrk.m4: New file.
89831
89832         Module strstr.
89833         * m4/strstr.m4: New file.
89834
89835         Module strerror.
89836         * m4/strerror.m4: New file.
89837
89838         Module mktime.
89839         * m4/mktime.m4: Renamed from jm-mktime.m4.
89840         (gl_PREREQ_MKTIME): New macro.
89841         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
89842
89843         Module malloc.
89844         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
89845         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
89846         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
89847
89848         Module realloc.
89849         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
89850         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
89851         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
89852
89853         Module strftime.
89854         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
89855         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
89856         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
89857         gl_TM_GMTOFF.
89858         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
89859
89860         Module xalloc.
89861         * m4/xalloc.m4: New file.
89862
89863         Module alloca.
89864         * m4/alloca.m4: New file.
89865
89866         Module putenv.
89867         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
89868         (jm_FUNC_PUTENV): Invoke it.
89869
89870         Module setenv.
89871         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
89872         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
89873         when invoked twice.
89874         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
89875         gt_FUNC_SETENV.
89876
89877         Module memrchr.
89878         * m4/memrchr.m4: New file.
89879
89880         Module stpcpy.
89881         * m4/stpcpy.m4: New file.
89882
89883         Module strcase.
89884         * m4/strcase.m4: New file.
89885
89886         Module strdup.
89887         * m4/strdup.m4: New file.
89888
89889         Module strnlen.
89890         * m4/strnlen.m4: New file.
89891
89892         Module strndup.
89893         * m4/strndup.m4: New file.
89894
89895         Module xstrtod.
89896         * m4/xstrtod.m4: New file.
89897
89898         Module xstrtol.
89899         * m4/xstrtol.m4: New file.
89900
89901         Module getdate.
89902         * m4/getdate.m4: New file.
89903
89904         Module unlocked-io.
89905         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
89906         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
89907         * m4/jm-glibc-io.m4n: Remove file.
89908
89909         Module long-options.
89910         * m4/long-options.m4: New file.
89911
89912         Module md5.
89913         * m4/md5.m4: New file.
89914
89915         Module sha.
89916         * m4/sha.m4: New file.
89917
89918         Module getstr.
89919         * m4/getstr.m4: New file.
89920
89921         Module getline.
89922         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
89923         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
89924         <sys/types.h>, for size_t. Use the function name gnu_getline, not
89925         simply getline. Infoke gl_PREREQ_GETLINE.
89926
89927         Module obstack.
89928         * m4/obstack.m4: New file.
89929
89930         Module hash.
89931         * m4/hash.m4: New file.
89932
89933         Module readtokens.
89934         * m4/readtokens.m4: New file.
89935
89936         Module strverscmp.
89937         * m4/strverscmp.m4: New file.
89938
89939         Module stdbool.
89940         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
89941         OSF/1.
89942
89943         Module strtoll.
89944         * m4/strtoll.m4: New file.
89945
89946         Module strtoull.
89947         * m4/strtoull.m4: New file.
89948
89949         Module strtoimax.
89950         * m4/strtoimax.m4: New file.
89951
89952         Module strtoumax.
89953         * m4/strtoumax.m4: New file.
89954
89955         Module xstrtoimax.
89956         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
89957         jm_AC_PREREQ_XSTRTOIMAX.
89958         Moved the strtol prerequisites to strtol.m4.
89959         Moved the strtoll prerequisites to strtoll.m4.
89960         Moved the strtoimax prerequisites to strtoimax.m4.
89961
89962         Module xstrtoumax.
89963         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
89964         jm_AC_PREREQ_XSTRTOUMAX.
89965         Moved the strtoul prerequisites to strtoul.m4.
89966         Moved the strtoull prerequisites to strtoull.m4.
89967         Moved the strtoumax prerequisites to strtoumax.m4.
89968
89969         Module chown.
89970         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
89971         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
89972
89973         Module dup2.
89974         * m4/dup2.m4: New file.
89975
89976         Module ftruncate.
89977         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
89978         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
89979
89980         Module getgroups.
89981         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
89982         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
89983
89984         Module gettimeofday.
89985         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
89986         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
89987         gl_PREREQ_GETTIMEOFDAY.
89988
89989         Module mkdir.
89990         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
89991         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
89992
89993         Module mkstemp.
89994         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
89995         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
89996         jm_AC_TYPE_UINTMAX_T.
89997         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
89998
89999         Module stat.
90000         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
90001         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
90002
90003         Module lstat.
90004         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
90005         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
90006
90007         Module timespec.
90008         * m4/timespec.m4 (gl_TIMESPEC): New macro.
90009         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
90010         * m4/st_mtim.m4: Indentation.
90011
90012         Module nanosleep.
90013         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
90014         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
90015         gl_PREREQ_NANOSLEEP.
90016
90017         Module regex.
90018         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
90019         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
90020         (gl_REGEX): New macro.
90021
90022         Module rename.
90023         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
90024         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
90025
90026         Module rmdir.
90027         * m4/rmdir.m4: New file.
90028
90029         Module utime.
90030         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
90031         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
90032         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
90033
90034         Module dirname.
90035         * m4/dirname.m4: New file.
90036
90037         Module getopt.
90038         * m4/getopt.m4: New file.
90039
90040         Module unistd-safer.
90041         * m4/unistd-safer.m4: New file.
90042
90043         Module fnmatch.
90044         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
90045         declaration.
90046         (gl_PREREQ_FNMATCH_EXTRA): New macro.
90047         (gl_FUNC_FNMATCH_POSIX): New macro.
90048         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
90049         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
90050         simply fnmatch.
90051
90052         Module exclude.
90053         * m4/exclude.m4: New file.
90054
90055         Module human.
90056         * m4/human.m4: New file.
90057
90058         Module acl.
90059         * m4/acl.m4: Nop.
90060
90061         Module backupfile.
90062         * m4/backupfile.m4: New file.
90063         * m4/d-ino.m4: Indentation.
90064
90065         Module fsusage.
90066         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
90067         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
90068         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
90069
90070         Module dirfd.
90071         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
90072         requirements.
90073
90074         Module euidaccess.
90075         * m4/euidaccess.m4: New file.
90076
90077         Module file-type.
90078         * m4/file-type.m4: New file.
90079
90080         Module fileblocks.
90081         * m4/fileblocks.m4: New file.
90082
90083         Module filemode.
90084         * m4/filemode.m4: New file.
90085
90086         Module isdir.
90087         * m4/isdir.m4: New file.
90088
90089         Module lchown.
90090         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
90091         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
90092
90093         Module makepath.
90094         * m4/makepath.m4: New file.
90095
90096         Module modechange.
90097         * m4/modechange.m4: New file.
90098
90099         Module mountlist.
90100         * m4/mountlist.m4: New file.
90101         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
90102         Indentation.
90103
90104         Module path-concat.
90105         * m4/path-concat.m4: New file.
90106
90107         Module pathmax.
90108         * m4/pathmax.m4: New file.
90109
90110         Module same.
90111         * m4/same.m4: New file.
90112
90113         Module save-cwd.
90114         * m4/save-cwd.m4: New file.
90115
90116         Module savedir.
90117         * m4/savedir.m4: New file.
90118
90119         Module xgetcwd.
90120         * m4/xgetcwd.m4: New file.
90121         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
90122
90123         Module xreadlink.
90124         * m4/xreadlink.m4: New file.
90125
90126         Module safe-read.
90127         * m4/safe-read.m4: New file.
90128
90129         Module safe-write.
90130         * m4/safe-write.m4: New file.
90131
90132         Module closeout.
90133         * m4/closeout.m4: New file.
90134
90135         Module stdio-safer.
90136         * m4/stdio-safer.m4: New file.
90137
90138         Module getpass.
90139         * m4/getpass.m4: New file.
90140
90141         Module getugroups.
90142         * m4/getugroups.m4: New file.
90143
90144         Module group-member.
90145         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
90146         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
90147
90148         Module idcache.
90149         * m4/idcache.m4: New file.
90150
90151         Module userspec.
90152         * m4/userspec.m4: New file.
90153
90154         Module gettime.
90155         * m4/clock_time.m4: New file.
90156         * m4/gettime.m4: New file.
90157
90158         Module settime.
90159         * m4/settime.m4: New file.
90160
90161         Module posixtm.
90162         * m4/posixtm.m4: New file.
90163
90164         Module gethostname.
90165         * m4/gethostname.m4: New file.
90166
90167         Module canon-host.
90168         * m4/canon-host.m4: New file.
90169
90170         Module gettext.
90171         * m4/codeset.m4: New file, from gettext-0.11.5.
90172         * m4/gettext.m4: New file, from gettext-0.11.5.
90173         * m4/glibc21.m4: New file, from gettext-0.11.5.
90174         * m4/iconv.m4: New file, from gettext-0.11.5.
90175         * m4/intdiv0.m4: New file, from gettext-0.11.5.
90176         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
90177         * m4/inttypes.m4: New file, from gettext-0.11.5.
90178         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
90179         * m4/isc-posix.m4: New file, from gettext-0.11.5.
90180         * m4/lcmessage.m4: New file, from gettext-0.11.5.
90181         * m4/lib-ld.m4: New file, from gettext-0.11.5.
90182         * m4/lib-link.m4: New file, from gettext-0.11.5.
90183         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
90184         * m4/progtest.m4: New file, from gettext-0.11.5.
90185         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
90186         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
90187         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
90188
90189         Module localcharset.
90190         * m4/localcharset.m4: New file.
90191
90192         Module hard-locale.
90193         * m4/hard-locale.m4: New file.
90194
90195         Module mbswidth.
90196         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
90197         onceonly macros.
90198         * m4/mbrtowc.m4: Add comment.
90199
90200         Module memcasecmp.
90201         * m4/memcasecmp.m4: New file.
90202
90203         Module memcoll.
90204         * m4/memcoll.m4: New file.
90205
90206         Module unicodeio.
90207         * m4/unicodeio.m4: New file.
90208
90209         Module rpmatch.
90210         * m4/rpmatch.m4: New file.
90211
90212         Module yesno.
90213         * m4/yesno.m4: New file.
90214
90215         Module exitfail.
90216         * m4/exitfail.m4: New file.
90217
90218         Module c-stack.
90219         * m4/c-stack.m4 (gl_C_STACK): New macro.
90220         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
90221
90222         Module error.
90223         * m4/error.m4 (gl_ERROR): New macro.
90224         (jm_PREREQ_ERROR): Use onceonly macros.
90225
90226         Module fatal.
90227         * m4/fatal.m4: New file.
90228
90229         Module getloadavg.
90230         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
90231         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
90232
90233         Module getpagesize.
90234         * m4/getpagesize.m4: New file.
90235
90236         Module getusershell.
90237         * m4/getusershell.m4: New file.
90238
90239         Module physmem.
90240         * m4/physmem.m4: New file.
90241
90242         Module posixver.
90243         * m4/posixver.m4: New file.
90244
90245         Module quotearg.
90246         * m4/quotearg.m4: New file.
90247
90248         Module quote.
90249         * m4/quote.m4: New file.
90250
90251         Module readutmp.
90252         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
90253
90254         Module sig2str.
90255         * m4/sig2str.m4: New file.
90256
90257         Other.
90258         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
90259         ulonglong.m4.
90260         * m4/intmax_t.m4: New file.
90261         * m4/d-type.m4: Indentation.
90262         * m4/jm-macros.m4: Update.
90263         * m4/prereq.m4 (jm_PREREQ): Update.
90264         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
90265         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
90266         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
90267         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
90268         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
90269         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
90270         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
90271         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
90272         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
90273         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
90274         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
90275         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
90276         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
90277         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
90278         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
90279         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
90280         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
90281         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
90282         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
90283
90284 2002-12-24  Bruno Haible  <bruno@clisp.org>
90285
90286         * MODULES.txt: Update according to m4/ changes.
90287
90288         Module gettext.
90289         * config.rpath: New file, from gettext-0.11.5.
90290
90291         * modules/*: New module descriptions.
90292         * gnulib-tool: New file.
90293         * MODULES.html.sh: New file.
90294
90295 2002-12-21  Karl Berry  <karl@gnu.org>
90296
90297         * doc/fdl.texi: update to version 1.2.
90298
90299 2002-12-19  Karl Berry  <karl@gnu.org>
90300
90301         * config/config.guess: update from prep.
90302
90303 2002-12-18  Bruno Haible  <bruno@clisp.org>
90304
90305         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
90306         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
90307
90308 2002-12-17  Bruno Haible  <bruno@clisp.org>
90309
90310         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
90311         stdlib.h, string.h.
90312
90313 2002-12-17  Bruno Haible  <bruno@clisp.org>
90314
90315         * lib/canon-host.c (strdup): Remove unused declaration.
90316
90317         * lib/fsusage.c: Include full_read.h.
90318         (get_fs_usage): Use full_read instead of safe_read.
90319
90320         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
90321
90322 2002-12-12  Karl Berry  <karl@gnu.org>
90323
90324         * config/config.guess: update from prep.
90325
90326 2002-12-11  Bruno Haible  <bruno@clisp.org>
90327
90328         * m4/setenv.m4: New file, from gettext-0.11.5.
90329
90330 2002-12-11  Bruno Haible  <bruno@clisp.org>
90331
90332         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
90333         not unsetenv().
90334         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
90335         modifications:
90336
90337         2002-12-11  Bruno Haible  <bruno@clisp.org>
90338
90339                 * setenv.c (alloca): Fall back to malloc.
90340                 (freea): New macro.
90341                 (setenv): Use freea() to free memory allocated with alloca().
90342
90343         2002-11-13  Bruno Haible  <bruno@clisp.org>
90344
90345                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
90346                 function declarations.
90347                 * unsetenv.c (unsetenv): Likewise.
90348
90349         2002-03-04  Bruno Haible  <bruno@clisp.org>
90350
90351                 Portability to AIX 4.3.3.
90352                 * unsetenv.c: New file, extracted from setenv.c.
90353                 * setenv.c: Move the unsetenv() function to unsetenv.c.
90354
90355         2001-12-20  Bruno Haible  <bruno@clisp.org>
90356
90357                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
90358                 use malloc instead. For SunOS 4.
90359
90360         2001-12-11  Bruno Haible  <bruno@clisp.org>
90361
90362                 * setenv.c: Declare alloca.
90363                 (compar_fn_t): New typedef.
90364                 (KNOWN_VALUE, STORE_VALUE): Use it.
90365
90366         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
90367         setenv.h.
90368
90369 2002-12-10  Paul Eggert  <eggert@twinsun.com>
90370
90371         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
90372         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
90373         Choose values that are less likely to collide with system fnmatch
90374         options.
90375         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
90376         defined (e.g., a pure POSIX system).
90377         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
90378         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
90379
90380 2002-12-06  Paul Eggert  <eggert@twinsun.com>
90381
90382         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
90383         a pain in practice to deal with generated m4 files.  This change
90384         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
90385
90386         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
90387         and jm-glibc-io.m4, as they are no longer a special case.
90388         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
90389         kludge and the auto-generation stuff.  Check only whether the
90390         functions are declared, not whether they exist, since older hosts
90391         that don't declare the functions can't use the optimization anyway.
90392
90393 2002-12-06  Jim Meyering  <jim@meyering.net>
90394
90395         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
90396
90397         Merge in changes from libc's misc/error.c, in preparation
90398         for the merge of gnulib's changes back into libc.
90399
90400         * lib/error.c (_): Define only if not already defined.
90401         Move definition to follow all #include directives.
90402         Include unlocked-io.h only if !_LIBC.
90403         [_LIBC]: Include <libio/libioP.h>.
90404         [USE_IN_LIBIO]: Include <libio/iolibio.h>
90405         (fflush): Tweak definition to use INTUSE.
90406         (putc): Define.
90407
90408 2002-12-05  Paul Eggert  <eggert@twinsun.com>
90409
90410         * lib/alloca.c [defined emacs]: Include "lisp.h".
90411         (xalloc_die) [defined emacs]: New macro.
90412         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
90413         [! defined emacs]: Include <xalloc.h>.
90414         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
90415         (pointer): Typedef to POINTER_TYPE *.
90416         (malloc): Remove decl; we now always use xmalloc.
90417         (alloca): Use old-style definition, since Emacs needs this.
90418         Check for arithmetic overflow when computing combined size.
90419
90420 2002-12-04  Paul Eggert  <eggert@twinsun.com>
90421
90422         Do not generate unlocked-io.h automatically, since it's easier to
90423         maintain it by hand.
90424
90425         * lib/unlocked-io.h: New file, from GNU diffutils,
90426         but with proper copyright notice and attribution.
90427         * lib/gen-uio: Remove.
90428         * lib/Makefile.am: Add copyright notice.
90429         (libfetish_a_SOURCES): Add unlocked-io.h.
90430         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
90431         (DISTCLEANFILES, io_functions): Remove macros.
90432         (EXTRA_DIST): Remove gen_uio.
90433         (unlocked-io.h): Remove rule.
90434
90435 2002-12-04  Jim Meyering  <jim@meyering.net>
90436
90437         Reflect the fact that stat.c and lstat.c are no longer generated.
90438         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
90439         (DISTCLEANFILES): Likewise.
90440         (EXTRA_DIST): Likewise.
90441         (all_local): Don't depend on stat.c or lstat.c.
90442         (stat.c, lstat.c): Remove rules.
90443         (EXTRA_DIST): Remove xstat.in.
90444
90445         * lib/xstat.in: Remove file.  Contents moved into stat.c.
90446         * lib/stat.c: New file.  Contents mostly from xstat.in.
90447         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
90448         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
90449
90450         * lib/safe-read.c: Rework so that it may serve to define safe_write,
90451         too.
90452         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
90453
90454 2002-12-03  Jim Meyering  <jim@meyering.net>
90455
90456         * lib/safe-read.c, safe-write.c: Change variable names and comments,
90457         but not semantics, to minimize the differences between these two files.
90458         (safe_read): Change comment to mention SAFE_READ_ERROR.
90459
90460         * lib/safe-read.c (IS_EINTR): Define.
90461         (safe_read): Use IS_EINTR in place of in-function cpp directives.
90462
90463 2002-12-02  Jim Meyering  <jim@meyering.net>
90464
90465         * lib/safe-read.c (EINTR): Define.
90466         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
90467         (INT_MAX): Provide fallback.
90468         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
90469
90470         * lib/safe-read.h (SAFE_READ_ERROR): Define.
90471
90472 2002-12-02  Bruno Haible  <bruno@clisp.org>
90473
90474         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
90475         Define, taken from safe-read.c.
90476         (INT_MAX): Provide fallback.
90477         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
90478         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
90479
90480         * lib/safe-read.c (EINTR): Remove definition.
90481         (safe_read): Don't use EINTR if it is absent.
90482
90483 2002-12-01  Jim Meyering  <jim@meyering.net>
90484
90485         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
90486         zero.
90487         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
90488
90489 2002-11-27  Paul Eggert  <eggert@twinsun.com>
90490
90491         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
90492         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
90493         with `if (! (value < limit)) abort ();', for readability.
90494
90495 2002-11-26  Karl Berry  <karl@gnu.org>
90496
90497         * lib/strdup.c: copy from libc again, with jim's ok.
90498         * lib/.cppi-disable: re-add strdup.c
90499
90500 2002-11-25  Karl Berry  <karl@gnu.org>
90501
90502         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
90503         instead of "strtol.c".
90504
90505 2002-11-25  Karl Berry  <karl@gnu.org>
90506
90507         * config/install-sh: update from automake for variable quoting, $0 in
90508         error msgs, etc.
90509
90510         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
90511         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
90512         entry.
90513
90514 2002-11-25  Jim Meyering  <jim@meyering.net>
90515
90516         * lib/mktime.c: Sync from libc, now that it has the latest fix.
90517
90518 2002-11-24  Karl Berry  <karl@gnu.org>
90519
90520         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
90521         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
90522
90523 2002-11-24  Jim Meyering  <jim@meyering.net>
90524
90525         Update from coreutils:
90526
90527         * lib/mktime.c: Merge in changes from libc.
90528
90529         Avoid a link-time failure on some Linux systems.
90530         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
90531         (otherwise).
90532         (__mon_yday): Declare with the STATIC attribute.
90533         (__mktime_internal): Likewise.
90534         Based on a report from Greg Schafer.
90535
90536 2002-11-23  Jim Meyering  <jim@meyering.net>
90537
90538         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
90539         Use `unsigned', not `int', as type of index.
90540
90541         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
90542
90543         * lib/fsusage.c: Remove unneeded parentheses around operands of
90544         `defined'.
90545
90546 2002-11-22  Paul Eggert  <eggert@twinsun.com>
90547
90548         * lib/quotearg.h: Allow multiple inclusion by surrounding with
90549         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
90550         so that we can be included first.
90551         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
90552         * lib/quotearg.c: Include quotearg.h immediately after config.h.
90553         No need to include stddef.h or sys/types.h any more.
90554         Surround local include files with "", not "<>".
90555         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
90556         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
90557         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
90558         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
90559         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
90560         (ISPRINT): Remove; no longer needed now that we assume C89.
90561
90562         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
90563         Preserve errno.
90564
90565         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
90566         quotearg_char): Use SIZE_MAX rather than
90567         (size_t) -1 when we are talking about "infinity".
90568
90569         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
90570
90571 2002-11-22  Paul Eggert  <eggert@twinsun.com>
90572
90573         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
90574         hint that one should use `if (! x) abort ();' rather than `assert
90575         (x);', and anyway it's one less thing to worry about configuring.
90576         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
90577         hash_rehash, hash_insert): Use abort rather than assert.
90578
90579 2002-11-22  Bruno Haible  <bruno@clisp.org>
90580
90581         * lib/safe-read.h: Assume C89. Add comments.
90582         (safe_read): Change return type to size_t.
90583         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
90584         byte counts > SSIZE_MAX correctly.
90585         * lib/safe-write.h: New file.
90586         * lib/safe-write.c: New file.
90587         * lib/full-read.h: New file.
90588         * lib/full-read.c: New file.
90589         * lib/full-write.h: Assume C89. Add comments.
90590         * lib/full-write.c: Include safe-write.h.
90591         (full_write): Rewritten to use safe_write.
90592         Suggested by Jim Meyering and Paul Eggert.
90593
90594 2002-11-21  Jim Meyering  <jim@meyering.net>
90595
90596         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
90597
90598         Merge in changes from the coreutils.
90599
90600         2002-09-25  Paul Eggert  <eggert@twinsun.com>
90601         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
90602         <stdint.h>.
90603         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
90604         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
90605         int.  Work more efficiently if X is the same width as uintmax_t.
90606         Do not compare X to -1, to avoid bogus compiler warning.
90607         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
90608         Don't assume that f_frsize and f_bsize are the same type.
90609
90610         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
90611         warning on FreeBSD.
90612
90613         * lib/makepath.c (make_path): Restore umask *before* creating the final
90614         component.
90615         (make_path): Minor reformatting.
90616
90617         * lib/xmalloc.c: Adjust to work with new autoconf macros,
90618         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
90619         HAVE_MALLOC/HAVE_REALLOC.
90620
90621         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
90622         dummy ones.  At least on GNU/Linux systems, `auto' means something
90623         else.
90624         From Michael Stone.
90625
90626 2002-11-21  Bruno Haible  <bruno@clisp.org>
90627
90628         Remove case insensitive option matching.
90629         * lib/argmatch.h (argcasematch): Remove declaration.
90630         (ARGCASEMATCH): Remove macro.
90631         (__xargmatch_internal): Remove case_sensitive argument.
90632         (XARGMATCH): Update.
90633         (XARGCASEMATCH): Remove macro.
90634         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
90635         case_sensitive argument.
90636         (argcasematch): Remove function.
90637         (__xargmatch_internal): Remove case_sensitive argument.
90638         (main): Use XARGMATCH instead of XARGCASEMATCH.
90639
90640         * lib/xmalloc.c: Change compile-time error message. Add comment about
90641         required autoconf version.
90642
90643 2002-11-20  Paul Eggert  <eggert@twinsun.com>
90644
90645         Merge argmatch cleanups from Bison.  Assume C89.
90646
90647         * lib/argmatch.c: Include config.h here, not in argmatch.h.
90648         Include stdlib.h, for EXIT_FAILURE.
90649         Always include <string.h>, since we assume C89.
90650         (EXIT_FAILURE): Remove pre-C89 bug workaround.
90651         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
90652         Include <stddef.h> instead, since it's all we need for size_t.
90653         (PARAMS): Remove.  All uses removed.
90654         (ARRAY_CARDINALITY): Do not bother to #undef.
90655         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
90656         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
90657         Remove unnecessary parentheses.
90658         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
90659         Insert necessary parentheses.
90660         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
90661         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
90662
90663 2002-11-19  Bruno Haible  <bruno@clisp.org>
90664
90665         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
90666         * lib/mbswidth.h: Include <stddef.h>, for size_t.
90667
90668         * lib/mbswidth.h (PARAMS): Remove macro.
90669         (mbswidth, mbsnwidth): Use ANSI C function declarations.
90670         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
90671
90672         * lib/gcd.h (PARAMS): Remove macro.
90673         (gcd): Use ANSI C function declarations.
90674         * lib/gcd.c (gcd): Likewise.
90675
90676 2002-11-15  Bruno Haible  <bruno@clisp.org>
90677
90678         * lib/strcspn.c: Include <stddef.h>.
90679         (strcspn): Use ANSI C function declaration. Change return type to
90680         size_t. Use NULL.
90681         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
90682         (strpbrk): Use NULL.
90683         * lib/strpbrk.h (PARAMS): Remove macro.
90684         (strpbrk): Use ANSI C function declaration.
90685         * lib/strstr.c: Don't include <sys/types.h>.
90686         * lib/strstr.h (PARAMS): Remove macro.
90687         (strstr): Use ANSI C function declarations.
90688
90689 2002-11-14  Karl Berry  <karl@gnu.org>
90690
90691         * config/mkinstalldirs: `do' on separate line, instead of
90692         `for var; do'.
90693
90694 2002-11-06  Bruno Haible  <bruno@clisp.org>
90695
90696         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
90697         * lib/gcd.c (gcd): Likewise.
90698
90699 2002-11-05  Bruno Haible  <bruno@clisp.org>
90700
90701         * lib/gcd.h: New file, from gettext-0.11.5.
90702         * lib/gcd.c: New file, from gettext-0.11.5.
90703
90704 2002-11-05  Bruno Haible  <bruno@clisp.org>
90705
90706         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
90707         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
90708         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
90709         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
90710
90711         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
90712         <libintl.h>.
90713         * lib/makepath.c: Include gettext.h instead of <locale.h> and
90714         <libintl.h>.
90715
90716         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
90717         * lib/human.c: Include gettext.h instead of <libintl.h>.
90718         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
90719         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
90720         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
90721         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
90722         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
90723         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
90724         (textdomain): Remove definition.
90725         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
90726
90727         * lib/long-options.c: Remove include of <libintl.h> and definition of
90728         _.
90729         * lib/same.c: Remove include of <libintl.h> and definition of _.
90730
90731 2002-11-04  Owen Taylor  <otaylor@redhat.com>
90732
90733         * lib/config.charset: A few additions for Solaris.
90734
90735 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
90736
90737         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
90738         * lib/localcharset.c (locale_charset): Declare as extern "C".
90739
90740 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
90741
90742         * lib/config.charset: msdos in uk_UA uses CP1125.
90743
90744 2002-11-04  Bruno Haible  <bruno@clisp.org>
90745
90746         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
90747         * lib/strcase.h: New file, from GNU gettext-0.11.5.
90748         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
90749         * lib/strstr.h: New file, from GNU gettext-0.11.5.
90750         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
90751
90752 2002-11-04  Bruno Haible  <bruno@clisp.org>
90753
90754         * lib/localcharset.c (locale_charset): Don't return an empty string.
90755
90756 2002-11-04  Bruno Haible  <bruno@clisp.org>
90757
90758         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
90759         aliases.
90760
90761 2002-11-04  Bruno Haible  <bruno@clisp.org>
90762
90763         * lib/config.charset: Update for newest glibc. Add canonical names
90764         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
90765
90766 2002-11-04  Bruno Haible  <bruno@clisp.org>
90767
90768         * lib/config.charset: Add support for NetBSD.
90769
90770 2002-11-04  Bruno Haible  <bruno@clisp.org>
90771
90772         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
90773
90774 2002-11-01  Bruno Haible  <bruno@clisp.org>
90775
90776         * configure.in: Add AC_CONFIG_AUX_DIR call.
90777         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
90778         test/Makefile.
90779         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
90780
90781 2002-09-28  Karl Berry  <karl@gnu.org>
90782
90783         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
90784         installed automake until the next release, since changes have been
90785         made.
90786
90787 2002-09-25  Karl Berry  <karl@gnu.org>
90788
90789         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
90790         * lib/getopt*: copy from libc/posix.
90791         * lib/gettext.h: copy from gettext.
90792         * lib/.cppi-disable: add strdup.c, gettext.h.
90793
90794 2002-09-25  Karl Berry  <karl@gnu.org>
90795
90796         * config/srclist.txt: enable gettext.h check.
90797         * config/config.{guess,sub}: update from prep.
90798         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
90799                 from automake 1.6.3.
90800         See srclist*.
90801
90802 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
90803
90804         * regex.c (PATFETCH): Remove the translating fetch.
90805         (PATFETCH_RAW): Rename to PATFETCH.
90806         (set_image_of_range): New fun.
90807         (SET_RANGE_TABLE_WORK_AREA): Use it.
90808         (regex_compile): Don't translate the pattern chars so eagerly.
90809         Only do it when inserting an `exactn' bytecode or when handling
90810         a char-range.
90811         (mutually_exclusive_p): Avoid empty statement.
90812
90813 2002-07-06  Jim Meyering  <meyering@lucent.com>
90814
90815         * m4/README: Don't mention Makefile.am.in.
90816         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
90817
90818 2002-07-01  Jim Meyering  <meyering@lucent.com>
90819
90820         * lib/c-stack.c: Include sys/time.h.
90821         From Volker Borchert.
90822
90823 2002-06-26  Paul Eggert  <eggert@twinsun.com>
90824
90825         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
90826
90827 2002-06-26  Paul Eggert  <eggert@twinsun.com>
90828
90829         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
90830         New macro.  Use it uniformly instead of
90831         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
90832         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
90833         reported by Vin Shelton.
90834
90835 2002-06-22  Paul Eggert  <eggert@twinsun.com>
90836
90837         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
90838         Do not assume SA_SIGINFO behavior.
90839         Bug reported by Jim Meyering on NetBSD 1.5.2.
90840
90841 2002-06-22  Jim Meyering  <meyering@lucent.com>
90842
90843         * m4/c-stack.m4: New file, from diffutils-2.8.2.
90844         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
90845
90846         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
90847         now that configure.ac uses AC_GNU_SOURCE.
90848         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
90849         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
90850
90851         Update to latest tools.  Suggestions from Paul Eggert.
90852         * m4/stdbool.m4: New file, from diffutils-2.8.2.
90853         * m4/gnu-source.m4: Update from diffutils-2.8.2.
90854         * m4/fnmatch.m4: Likewise.
90855         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
90856         to AC_HEADER_STDBOOL
90857
90858 2002-06-22  Jim Meyering  <meyering@lucent.com>
90859
90860         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
90861         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
90862
90863 2002-06-22  Jim Meyering  <meyering@lucent.com>
90864
90865         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
90866
90867         * lib/exitfail.c, exitfail.h: Likewise.
90868         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
90869
90870         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
90871         of fnmatch.h.
90872         (EXTRA_DIST): Add fnmatch_loop.c.
90873         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
90874
90875         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
90876         * lib/fnmatch.c: Update from diffutils-2.8.2.
90877         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
90878         * lib/fnmatch.h: Remove file.
90879
90880 2002-06-21  Jim Meyering  <meyering@lucent.com>
90881
90882         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
90883         * m4/mbrtowc.m4: Likewise.
90884
90885         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
90886         * m4/mbswidth.m4: Reflect name change:
90887         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
90888         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
90889
90890         * m4/lib-link.m4: Update from gettext-0.11.2.
90891         * m4/gettext.m4: Likewise.
90892
90893         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
90894         From Alfred M. Szmidt.
90895
90896 2002-06-18  Paul Eggert  <eggert@twinsun.com>
90897
90898         * lib/file-type.h: Report an error if neither S_ISREG nor
90899         S_IFREG is defined, instead of using a test specific to glibc
90900         2.2.  This should be safe, since POSIX requires S_ISREG and
90901         Unix Version 7 had S_IFREG.  We don't need to check for
90902         <sys/types.h> since we don't use any symbols that it defines.
90903
90904 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
90905
90906         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
90907         $@-t, so that each temporary file name is unique and valid in the first
90908         8 characters, for operation under DOS.
90909
90910 2002-06-15  Paul Eggert  <eggert@twinsun.com>
90911
90912         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
90913
90914 2002-06-15  Jim Meyering  <meyering@lucent.com>
90915
90916         Work even with DJGPP 2.03, which lacks support for symlinks.
90917         From Richard Dawe.
90918         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
90919         is defined.
90920         * lib/lchown.c (S_ISLNK): Likewise.
90921
90922 2002-06-15  Jim Meyering  <meyering@lucent.com>
90923
90924         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
90925         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
90926         have been included before this file.
90927
90928 2002-06-14  Jim Meyering  <meyering@lucent.com>
90929
90930         * lib/file-type.h: Use the version from diffutils-2.8.2.
90931         * lib/file-type.c: Likewise.
90932
90933 2002-06-07  Jim Meyering  <meyering@lucent.com>
90934
90935         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
90936         They're needed at least for NetBSD 1.5.2.
90937         ($statxfs_includes): Include those same headers.
90938         ($statxfs_includes): Include sys/vfs.h if available.
90939         ($statxfs_includes): Likewise for sys/statvfs.h.
90940         Check for the following members in both structs statfs and statvfs:
90941         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
90942
90943 2002-06-01  Jim Meyering  <meyering@lucent.com>
90944
90945         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
90946         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
90947
90948 2002-05-28  Jim Meyering  <meyering@lucent.com>
90949
90950         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
90951         Reported by Volker Borchert.
90952
90953 2002-05-27  Jim Meyering  <meyering@lucent.com>
90954
90955         Fix a problem seen only on nonconforming systems whereby ls.c's
90956         use of localtime, and then of gettimeofday would cause trouble:
90957         the localtime call used to initialize rpl_gettimeofday's save
90958         mechanism would clobber ls's current local time information so
90959         that in any long listing the first file would always be listed
90960         with date 1970-01-01.  Analysis by Volker Borchert.
90961
90962         * lib/gettimeofday.c (localtime): Undefine.
90963         (rpl_localtime): New function.
90964
90965 2002-05-27  Jim Meyering  <meyering@lucent.com>
90966
90967         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
90968         localtime.
90969
90970         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
90971         use the replacement function; it wouldn't resolve at link time.
90972         Reported by Volker Borchert.
90973
90974 2002-05-22  Jim Meyering  <meyering@lucent.com>
90975
90976         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
90977         file-type.h.
90978         * lib/file-type.h: New file.
90979         * lib/file-type.c (file_type): New file/function.  Extracted from
90980         diffutils.
90981
90982 2002-04-30  Jim Meyering  <meyering@lucent.com>
90983
90984         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
90985
90986 2002-04-29  Paul Eggert  <eggert@twinsun.com>
90987
90988         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
90989
90990 2002-04-29  Paul Eggert  <eggert@twinsun.com>
90991
90992         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
90993         Do not check for alloca.h (no longer used) or stdbool.h (was never
90994         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
90995
90996 2002-04-29  Paul Eggert  <eggert@twinsun.com>
90997
90998         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
90999
91000 2002-04-29  Jim Meyering  <meyering@lucent.com>
91001
91002         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
91003         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
91004         Use AC_FUNC_STRNLEN here instead.
91005
91006         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
91007         With autoconf-2.53a, it's part of AC_PROG_CC.
91008
91009 2002-04-28  Paul Eggert  <eggert@twinsun.com>
91010
91011         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
91012         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
91013
91014 2002-04-28  Paul Eggert  <eggert@twinsun.com>
91015
91016         * lib/sig2str.h, lib/sig2str.c: New files.
91017         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
91018
91019 2002-04-28  Paul Eggert  <eggert@twinsun.com>
91020
91021         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
91022         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
91023         of 127, since 64 is the largest conceivable number for ancient
91024         nonstandard hosts.
91025         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
91026
91027 2002-04-28  Jim Meyering  <meyering@lucent.com>
91028
91029         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
91030
91031 2002-04-24  Jim Meyering  <meyering@lucent.com>
91032
91033         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
91034         (jm_PREREQ): Use it.
91035
91036         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
91037         mach/mach.h fcntl.h.
91038         Check for this function: setlocale.
91039
91040 2002-04-24  Jim Meyering  <meyering@lucent.com>
91041
91042         * lib/gettext.h: New file, from Gettext.
91043         * lib/Makefile.am (INCLUDES): Remove -I../intl.
91044         (libfetish_a_SOURCES): Add gettext.h.
91045
91046 2002-04-16  Jim Meyering  <meyering@lucent.com>
91047
91048         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
91049         ut_pid, ut_id, ut_exit.
91050
91051 2002-04-16  Jim Meyering  <meyering@lucent.com>
91052
91053         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
91054         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
91055         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
91056
91057 2002-04-12  Jim Meyering  <meyering@lucent.com>
91058
91059         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
91060         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
91061         existence of the getmntinfo function.  Needed for Darwin 5.3.
91062
91063         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
91064         This is necessary at least on Darwin 5.3.
91065
91066         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
91067         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
91068         strnlen.o in the library, and that makes some versions of ranlib
91069         object.
91070
91071 2002-04-12  Jim Meyering  <meyering@lucent.com>
91072
91073         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
91074
91075 2002-04-09  Jim Meyering  <meyering@lucent.com>
91076
91077         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
91078         to be more precise.  Rather than saying we're checking whether the
91079         function `works', say what we're testing.
91080         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
91081         Reported by Bruno Haible.
91082
91083 2002-03-10  Jim Meyering  <meyering@lucent.com>
91084
91085         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
91086         Suggestion from Santiago Vila.
91087
91088 2002-03-08  Jim Meyering  <meyering@lucent.com>
91089
91090         * lib/rename.c: Mention that this wrapper is needed also on
91091         mips-dec-ultrix4.4 systems.
91092
91093 2002-03-02  Jim Meyering  <meyering@lucent.com>
91094
91095         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
91096         not HAVE_CLOCK_SETTIME.
91097
91098 2002-02-27  Paul Eggert  <eggert@twinsun.com>
91099
91100         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
91101         Check for clock_settime.
91102
91103 2002-02-27  Paul Eggert  <eggert@twinsun.com>
91104
91105         * lib/nanosleep.h: Rename to....
91106         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
91107
91108         * lib/gettime.c: New file.
91109         * lib/settime.c: New file.
91110         * lib/stime.c: Remove.
91111
91112         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
91113         timespec.h.  Remove nanosleep.h.
91114
91115 2002-02-25  Paul Eggert  <eggert@twinsun.com>
91116
91117         * m4/acl.m4: New file.
91118         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
91119         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
91120
91121 2002-02-25  Paul Eggert  <eggert@twinsun.com>
91122
91123         * lib/acl.c, lib/acl.h: New files.
91124         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
91125
91126 2002-02-24  Jim Meyering  <meyering@lucent.com>
91127
91128         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
91129         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
91130         cause trouble.  Reported by Nelson Beebe.
91131
91132 2002-02-23  Paul Eggert  <eggert@twinsun.com>
91133
91134         * lib/path-concat.c (xpath_concat): Reorder code to pacify
91135         compilers that don't know that xalloc_die never returns.
91136
91137 2002-02-20  Jim Meyering  <meyering@lucent.com>
91138
91139         * lib/getdate.c: Regenerate using bison-1.33.
91140
91141 2002-02-17  Jim Meyering  <meyering@lucent.com>
91142
91143         * config/config.guess (main): Don't use `head -1'; it's no longer
91144         portable. Use `sed 1q' instead.
91145
91146 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
91147
91148         * m4/codeset.m4: Upgrade to gettext-0.11.
91149         * m4/gettext.m4: Upgrade to gettext-0.11.
91150         * m4/glibc21.m4: Upgrade to gettext-0.11.
91151         * m4/iconv.m4: Upgrade to gettext-0.11.
91152         * m4/isc-posix.m4: Upgrade to gettext-0.11.
91153         * m4/lcmessage.m4: Upgrade to gettext-0.11.
91154         * m4/lib-ld.m4: New file, from gettext-0.11.
91155         * m4/lib-link.m4: New file, from gettext-0.11.
91156         * m4/lib-prefix.m4: New file, from gettext-0.11.
91157         * m4/progtest.m4: Upgrade to gettext-0.11.
91158
91159 2002-02-15  Paul Eggert  <eggert@twinsun.com>
91160
91161         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
91162         (jm_PREREQ): Use it.
91163
91164 2002-02-15  Paul Eggert  <eggert@twinsun.com>
91165
91166         * lib/posixver.c, lib/posixver.h: New files.
91167         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
91168
91169 2002-02-02  Paul Eggert  <eggert@twinsun.com>
91170             Bruno Haible  <bruno@clisp.org>
91171
91172         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
91173         (fwrite_success_callback): New declaration.
91174         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
91175         print_unicode_char. Call failure callback instead of error.
91176         (fwrite_success_callback): New function.
91177         (exit_failure_callback): New function.
91178         (fallback_failure_callback): New function.
91179         (print_unicode_char): Call unicode_to_mb.
91180
91181 2002-01-26  Jim Meyering  <meyering@lucent.com>
91182
91183         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
91184         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
91185
91186 2002-01-26  Jim Meyering  <meyering@lucent.com>
91187
91188         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
91189
91190 2002-01-22  Paul Eggert  <eggert@twinsun.com>
91191
91192         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
91193
91194 2002-01-22  Jim Meyering  <meyering@lucent.com>
91195
91196         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
91197         Otherwise, some versions of automake would omit the rule that makes
91198         Makefile from Makefile.in.
91199
91200 2002-01-21  Paul Eggert  <eggert@twinsun.com>
91201
91202         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
91203         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
91204         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
91205         (memcoll): Set errno to zero if there is no error.
91206
91207         * lib/quotearg.c (quotearg_buffer_restyled):
91208         Fix bug with quoting buffers containing NUL when backslashing escapes.
91209         This bug was exposed by the other changes in this patch.
91210         (quotearg_n_options): New arg ARGSIZE.
91211         All callers changed.
91212         (quoting_options_from_style): New function.
91213         (quotearg_n_style): Use it.
91214         (quotearg_n_style_mem): New function.
91215
91216         * lib/quotearg.h (quotearg_n_style_mem): New function.
91217
91218 2002-01-19  Jim Meyering  <meyering@lucent.com>
91219
91220         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
91221         Remove useless quotes: DF_PROG="df".
91222         * m4/strnlen.m4: New file.
91223
91224 2002-01-16  Paul Eggert  <eggert@twinsun.com>
91225
91226         * lib/backupfile.c (ISDIGIT): Comment fix.
91227         * lib/getdate.y (ISDIGIT): Likewise.
91228         * lib/posixtm.c (ISDIGIT, year): Likewise.
91229         * lib/strverscmp.c (ISDIGIT): Likewise.
91230         * lib/userspec.c (ISDIGIT): Likewise.
91231
91232 2002-01-16  Jim Meyering  <meyering@lucent.com>
91233
91234         * lib/getdate.y: Add three semicolons, each just before a closing
91235         brace. Bison (as of version 1.31) no longer papers over that mistake.
91236
91237 2002-01-05  Jim Meyering  <meyering@lucent.com>
91238
91239         * lib/version-etc.c (version_etc_copyright): Update copyright year.
91240
91241 2001-12-19  Paul Eggert  <eggert@twinsun.com>
91242
91243         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
91244         not silently exit merely because the output buffer happens to
91245         have nothing pending.
91246
91247 2001-12-18  Paul Eggert  <eggert@twinsun.com>
91248
91249         See the big note in ../ChangeLog.
91250         * lib/human.c (suffixes): Prefer K to k for 1024.
91251         (generate_suffix_backwards): New function.
91252         (human_readable_inexact): Use it.
91253         * lib/xstrtol.c (__xstrtol): If there is no number but there
91254         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
91255         Accept 'K' as well as 'k'.
91256
91257 2001-12-15  Jim Meyering  <meyering@lucent.com>
91258
91259         * lib/regex.h (__restrict_arr): Update from libc.
91260
91261         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
91262         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
91263         (STREQ): Define.
91264
91265 2001-12-14  Jim Meyering  <meyering@lucent.com>
91266
91267         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
91268         Suggestion from Bruno Haible.
91269
91270 2001-12-10  Jim Meyering  <meyering@lucent.com>
91271
91272         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
91273         xrealloc, Instead, include "xalloc.h".
91274         (initbuffer): Don't cast xmalloc return value to char*.
91275         (readline): Reword comment.
91276         Don't cast xrealloc return value to char*
91277         Return NULL, not 0.
91278
91279 2001-12-09  Jim Meyering  <meyering@lucent.com>
91280
91281         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
91282         about `signed and unsigned type in conditional expression'.
91283         * lib/posixtm.c (posix_time_parse): Likewise.
91284
91285         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
91286
91287         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
91288         to avoid a pedantic warning.
91289
91290         * lib/getstr.c: Don't include assert.h.
91291         (getstr): Remove warning-evoking assertions.
91292         Return -1 if offset parameter is out of bounds.
91293         Change the type of a local from int to size_t.
91294
91295         * lib/strftime.c (my_strftime_localtime_r): Include this function
91296         definition in the `#if ! HAVE_TM_GMTOFF' block.
91297
91298         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
91299         Include xalloc.h instead.
91300
91301 2001-12-02  Jim Meyering  <meyering@lucent.com>
91302
91303         * lib/tempname.c: Don't declare getenv, thus reverting the change of
91304         2001-11-18.  It's no longer necessary, now that stdlib.h is always
91305         included.
91306
91307         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
91308         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
91309
91310 2001-11-30  Akim Demaille  <akim@epita.fr>
91311
91312         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
91313         before being defined.
91314
91315 2001-11-27  Paul Eggert  <eggert@twinsun.com>
91316
91317         * lib/quotearg.h (quotearg_n, quotearg_n_style):
91318         First arg is int, not unsigned.
91319         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
91320         (SIZE_MAX, UINT_MAX): New macros.
91321         (quotearg_n_options): Abort if N is negative.
91322         Avoid overflow check on hosts where size_t is 64 bits and int
91323         is 32 bits, as overflow is impossible there.
91324         Fix off-by-one typo that caused unnecessary reallocation.
91325
91326 2001-11-27  Jim Meyering  <meyering@lucent.com>
91327
91328         * lib/tempname.c: Merge with version from libc.
91329         * lib/regex.c: Likewise.
91330
91331         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
91332         systems for which STDC_HEADERS is 0, it was not included, resulting in
91333         a warning about an integer-to-pointer conversion problem with getenv.
91334         Reported by Volker Borchert.
91335
91336 2001-11-26  Jim Meyering  <meyering@lucent.com>
91337
91338         * lib/gtod.h: Remove file.
91339         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
91340         * lib/gettimeofday.c: Don't include gtod.h.
91341         (GTOD_init): Remove function.
91342         (rpl_gettimeofday): Do its job here instead, rather than aborting.
91343         Suggestion from Volker Borchert.
91344
91345 2001-11-23  Jim Meyering  <meyering@lucent.com>
91346
91347         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
91348         it.
91349         * lib/hash.c (struct hash_table): Define it here instead.
91350
91351 2001-11-22  Jim Meyering  <meyering@lucent.com>
91352
91353         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
91354
91355 2001-11-20  Jim Meyering  <meyering@lucent.com>
91356
91357         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
91358         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
91359
91360 2001-11-19  Jim Meyering  <meyering@lucent.com>
91361
91362         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
91363         directory.  Use "conftestXXXXXX" as the template.
91364         Suggestion from Paul Eggert.
91365
91366         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
91367         immediately, so the test doesn't mistakenly hit the max-open-files
91368         limit.
91369
91370 2001-11-18  Paul Eggert  <eggert@twinsun.com>
91371
91372         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
91373         (TEMPORARIES): New macro.
91374         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
91375         removes an artificial limitation (e.g. HP-UX 10.20, where
91376         TMP_MAX is 17576).
91377
91378 2001-11-18  Jim Meyering  <meyering@lucent.com>
91379
91380         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
91381
91382 2001-11-18  Jim Meyering  <meyering@lucent.com>
91383
91384         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
91385         on SunOS 4.
91386
91387         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
91388         files will be created before anything else.
91389
91390 2001-11-17  Paul Eggert  <eggert@twinsun.com>
91391
91392         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
91393         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
91394
91395 2001-11-17  Jim Meyering  <meyering@lucent.com>
91396
91397         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
91398         Prompted by a report from Bob Proulx.
91399
91400         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
91401         Instead, require UTILS_FUNC_MKSTEMP.
91402
91403 2001-11-17  Jim Meyering  <meyering@lucent.com>
91404
91405         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
91406         Now, that's done as part of AC_FUNC_STRTOD.
91407
91408 2001-11-17  Jim Meyering  <meyering@lucent.com>
91409
91410         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
91411         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
91412         rather than group writable.  Patch by Juan F. Codagnone.
91413
91414         * lib/readtokens.c: Remove explicit declarations of xmalloc and
91415         xrealloc, Instead, include "xalloc.h".
91416
91417         * lib/mountlist.c: Include unlocked-io.h after all system headers.
91418         Remove explicit declarations of xmalloc, xrealloc,
91419         and xstrdup.  Instead, include "xalloc.h".
91420
91421         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
91422         unlocked-io.h.
91423         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
91424         Likewise.
91425         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
91426
91427         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
91428         Reported by Padraig Brady.
91429
91430         * lib/mkstemp.c: #undef mkstemp.
91431         Include config.h.
91432         (rpl_mkstemp): Rename from mkstemp.
91433         Protoize.
91434
91435 2001-11-16  Jim Meyering  <meyering@lucent.com>
91436
91437         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
91438         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
91439         determine the amount of total physical memory, use pstat_getstatic.
91440         HPUX-11 doesn't define _SC_PHYS_PAGES.
91441         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
91442         If sysconf couldn't be used to determine the amount of available
91443         physical memory, use both pstat_getstatic and pstat_getdynamic.
91444         Based on a patch from Bob Proulx.
91445
91446 2001-11-10  Jim Meyering  <meyering@lucent.com>
91447
91448         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
91449         (jm_PREREQ): Use it.
91450
91451 2001-11-09  Jim Meyering  <meyering@lucent.com>
91452
91453         * m4/jm-macros.m4: Require autoconf-2.52f.
91454         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
91455         Use these AC_-prefixed names, not the AM_-prefixed ones.
91456
91457         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
91458
91459 2001-11-05  Jim Meyering  <meyering@lucent.com>
91460
91461         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
91462
91463 2001-11-04  Jim Meyering  <meyering@lucent.com>
91464
91465         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
91466         $DEFS.
91467
91468 2001-11-03  Jim Meyering  <meyering@lucent.com>
91469
91470         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
91471         of AC_DEFUN.
91472
91473         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
91474         know the name of the variable in the macro definition.
91475
91476 2001-11-03  Jim Meyering  <meyering@lucent.com>
91477
91478         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
91479         in argmatch_to_argument call.
91480
91481         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
91482         argument.
91483
91484         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
91485         e.g., a fault due to an attempt to free a NULL pointer.
91486
91487 2001-11-01  Jim Meyering  <meyering@lucent.com>
91488
91489         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
91490         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
91491
91492 2001-11-01  Jim Meyering  <meyering@lucent.com>
91493
91494         * lib/dirfd.c, lib/dirfd.h: New files.
91495         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
91496
91497         * lib/hash.c (hash_print) [TESTING]: Clean up.
91498
91499 2001-10-22  Paul Eggert  <eggert@twinsun.com>
91500
91501         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
91502         to avoid a warning if -Wall.
91503
91504 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
91505
91506         * README: New file
91507         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
91508         (per RMS's instructions, this is now the canonical source)
91509         * lgpl/, gpl/: New directories.
91510
91511 2001-10-21  Paul Eggert  <eggert@twinsun.com>
91512
91513         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
91514
91515 2001-10-21  Jim Meyering  <meyering@lucent.com>
91516
91517         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
91518         this code would end up calling gettext even in packages built
91519         with --disable-nls.
91520         * lib/getopt.c (_): Likewise.
91521         * lib/regex.c (_): Likewise.
91522
91523 2001-10-20  Paul Eggert  <eggert@twinsun.com>
91524
91525         * m4/error.m4 (jm_PREREQ_ERROR):
91526         Do not invoke AC_CHECK_FUNCS with strerror_r, as
91527         AC_FUNC_STRERROR_R does that.
91528         Check for strerror declaration.
91529
91530         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
91531         are supposed to have them these days.
91532         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
91533         Merge changes from latest Autoconf CVS.
91534         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
91535         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
91536         POSIX decided to standardize on the int flavor of strerror_r.
91537
91538 2001-10-20  Paul Eggert  <eggert@twinsun.com>
91539
91540         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
91541         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
91542         Use strerror_r that is only a macro, even if it is not a function.
91543         (strerror): Check for HAVE_DECL_STRERROR before declaring.
91544         (private_strerror): Use prototypes, not old-style function definition.
91545         (print_errno_message): New function.
91546         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
91547         char*-flavored one.
91548         (error_tail, error, error_at_line): Use it.
91549
91550 2001-10-11  Jim Meyering  <meyering@lucent.com>
91551
91552         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
91553         and quote_n (1, ... to avoid clobbering a buffer.
91554
91555 2001-10-05  Jim Meyering  <meyering@lucent.com>
91556
91557         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
91558         hash-pjw.h.
91559         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
91560         * lib/hash-pjw.h: New file.
91561
91562 2001-09-30  Jim Meyering  <meyering@lucent.com>
91563
91564         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
91565         `struct fsstat' has the `f_fstypename' member.
91566         Use that to define FS_TYPE, which is now used to make
91567         the getfsstat link test tighter.
91568
91569 2001-09-30  Jim Meyering  <meyering@lucent.com>
91570
91571         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
91572         Include <sys/ucred.h>, for Apple Darwin.
91573         Include sys/mount.h and sys/fs_types.h only if available.
91574         (FS_TYPE): Define.
91575         (read_filesystem_list): Use FS_TYPE.
91576
91577 2001-09-29  Paul Eggert  <eggert@twinsun.com>
91578
91579         * lib/exclude.c (excluded_filename): 0 -> false, since it's
91580         a boolean context.
91581
91582 2001-09-29  Jim Meyering  <meyering@lucent.com>
91583
91584         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
91585         [one-argument getmntent function]): Include stdio.h before mntent.h.
91586         SunOS 4.1.x needs it for the declaration of `FILE'.
91587         Patch by Volker Borchert.
91588
91589         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
91590         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
91591         sys/fs_types.h, and make the link-test for getfsstat guard #include
91592         directives with appropriate #if HAVE_*_H tests so that we can
91593         detect getfsstat on Apple Darwin1.3.7 systems.
91594         Reported by Nelson Beebe.
91595         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
91596
91597 2001-09-28  Paul Eggert  <eggert@twinsun.com>
91598
91599         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
91600         #defines strtoimax.  Also treat the other strto* functions
91601         like strtoimax.
91602
91603         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
91604         Check for strtoul and strtoumax,
91605         as those declarations are made even in the signed case.
91606         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
91607         Likewise, for strtol and strtoimax.
91608
91609 2001-09-28  Paul Eggert  <eggert@twinsun.com>
91610
91611         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
91612         #defines strtoimax.  Also treat the other strto* functions
91613         like strtoimax.
91614
91615         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
91616         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
91617         (strtoimax, strtoumax): Do not declare if already defined as a macro.
91618
91619 2001-09-26  Jim Meyering  <meyering@lucent.com>
91620
91621         Most macros in unlocked-io.h had the wrong number of arguments.
91622         * lib/gen-uio: New script.
91623         (USE_UNLOCKED_IO): Define to 1 if not already defined.
91624         * lib/unlocked-io.hin: Remove file.
91625         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
91626         rather than trying to embed it here.
91627         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
91628         Reported by Padraig Brady.
91629
91630 2001-09-25  Volker Borchert  <bt@teknon.de>
91631
91632         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
91633         `result'.
91634
91635 2001-09-24  Jim Meyering  <meyering@lucent.com>
91636
91637         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
91638
91639 2001-09-23  Jim Meyering  <meyering@lucent.com>
91640
91641         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
91642         instead of the mere test for existence of mntent.h.  The latter
91643         would get a false-positive on AIX 3.4 systems.
91644         In the outer getmntent if-block, don't die if neither of the getmntent
91645         tests succeeds.  Instead, just fall through and continue with the
91646         remaining tests.
91647
91648 2001-09-23  Jim Meyering  <meyering@lucent.com>
91649
91650         * lib/mountlist.c: Remove useless parentheses in #if directives.
91651         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
91652         the deprecated MOUNTED symbol is no longer defined in mntent.h.
91653
91654 2001-09-22  Jim Meyering  <meyering@lucent.com>
91655
91656         * m4/gettext.m4: New file.  From gettext.
91657         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
91658         * m4/progtest.m4: Likewise
91659         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
91660         * m4/glibc21.m4: Likewise.
91661
91662         * m4/libintl.m4: Remove.  No longer used.
91663
91664 2001-09-22  Jim Meyering  <meyering@lucent.com>
91665
91666         * lib/localcharset.c: Update from latest gettext.
91667         * lib/config.charset: Likewise.
91668
91669 2001-09-20  Jim Meyering  <meyering@lucent.com>
91670
91671         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
91672         strtoimax.
91673         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
91674         strtoumax.
91675
91676 2001-09-20  Jim Meyering  <meyering@lucent.com>
91677
91678         * lib/xstrtol.c (strtoimax): Guard declaration with
91679         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
91680         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
91681         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
91682         (strtoumax): Likewise, for completeness (it wasn't necessary).
91683
91684 2001-09-17  Paul Eggert  <eggert@twinsun.com>
91685
91686         * lib/strtoimax.c (HAVE_LONG_LONG):
91687         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
91688         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
91689         to work around bug in IBM C compiler.
91690
91691 2001-09-17  Jim Meyering  <meyering@lucent.com>
91692
91693         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
91694         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
91695         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
91696         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
91697         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
91698         whenever the right hand side need not be expanded by the shell.
91699
91700 2001-09-16  Paul Eggert  <eggert@twinsun.com>
91701
91702         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
91703         library.  It's not correct, as some older glibcs are buggy.
91704         fnmatch wasn't fixed until glibc 2.2.
91705
91706         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
91707         special shell magic here.
91708
91709 2001-09-16  Jim Meyering  <meyering@lucent.com>
91710
91711         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
91712         * m4/jm-macros.m4: Require it.
91713
91714 2001-09-16  Jim Meyering  <meyering@lucent.com>
91715
91716         * lib/mkdir.c: New file.
91717
91718 2001-09-15  Jim Meyering  <meyering@lucent.com>
91719
91720         * m4/jm-macros.m4: Check for help2man.
91721
91722 2001-09-11  Jim Meyering  <meyering@lucent.com>
91723
91724         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
91725         The body, by Paul Eggert, was moved here from configure.in.
91726         * m4/jm-macros.m4: Require UTILS_HOST_OS.
91727
91728 2001-09-04  Paul Eggert  <eggert@twinsun.com>
91729
91730         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
91731         (jm_PREREQ): Use it.
91732
91733 2001-09-04  Paul Eggert  <eggert@twinsun.com>
91734
91735         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
91736         Use ssize_t, not int, to store result of readlink.
91737         Check for ssize_t overflow as well as size_t overflow,
91738         as POSIX says the result of readlink is implementation-defined
91739         when ssize_t overflows.
91740         Remove unnecessary cast to char*.
91741         Use free+malloc instead of realloc, as the storage doesn't need
91742         to be preserved and it's clearer and can be more efficient that way.
91743         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
91744         * lib/xreadlink.h (xreadlink): Update prototype.
91745
91746 2001-09-04  Paul Eggert  <eggert@twinsun.com>
91747
91748         * lib/xgetcwd.c: Revert some of the previous change; intead,
91749         fix the HAVE_GETCWD_NULL code to behave more like the
91750         !HAVE_GETCWD_NULL code used to.
91751
91752         Include "xalloc.h".
91753         (xgetcwd): Do not return NULL when memory is exhausted; instead,
91754         invoke xalloc_die.
91755
91756 2001-09-03  Paul Eggert  <eggert@twinsun.com>
91757
91758         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
91759         sys/param.h, as pathmax.h includes them.
91760
91761 2001-09-03  Paul Eggert  <eggert@twinsun.com>
91762
91763         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
91764         (jm_PREREQ_XGETCWD): New macro.
91765
91766         * m4/getcwd.m4: New file.
91767
91768 2001-09-03  Paul Eggert  <eggert@twinsun.com>
91769
91770         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
91771         like the HAVE_GETCWD_NULL code.
91772         Include pathmax.h if not HAVE_GETCWD.
91773         Do not include xalloc.h.
91774         (INITIAL_BUFFER_SIZE): New symbol.
91775         Do not use xmalloc / xrealloc, since the caller is responsible for
91776         handling errors.  Preserve errno around `free' during failure.
91777         Do not overrun buffer when using getwd.
91778
91779 2001-09-03  Paul Eggert  <eggert@twinsun.com>
91780
91781         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
91782         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
91783         getcwd (NULL, 0).
91784
91785 2001-09-03  Paul Eggert  <eggert@twinsun.com>
91786
91787         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
91788         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
91789         spotted by Jim Meyering.
91790
91791 2001-09-03  Jim Meyering  <meyering@lucent.com>
91792
91793         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
91794         failure.
91795
91796 2001-09-02  Jim Meyering  <meyering@lucent.com>
91797
91798         * lib/error.c: Update from GNU libc.
91799
91800 2001-09-01  Jim Meyering  <meyering@lucent.com>
91801
91802         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
91803         Used by df.
91804
91805 2001-09-01  Jim Meyering  <meyering@lucent.com>
91806
91807         * lib/xreadlink.c: New file.
91808         * lib/xreadlink.h: New file.
91809         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
91810         xreadlink.h.
91811
91812         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
91813         doesn't conflict with sparc Solaris 7's definition in
91814         /usr/include/sys/int_types.h.
91815
91816         * lib/exclude.c: Use `""', not `<>' to #include non-system header
91817         files.
91818         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
91819         and strncasecmp as r-values.  Unixware didn't have declarations.
91820
91821 2001-08-31  Paul Eggert  <eggert@twinsun.com>
91822
91823         * lib/xstrtol.h: Add copyright notice.
91824         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
91825         LONGINT_INVALID_SUFFIX_CHAR.
91826
91827 2001-08-31  Paul Eggert  <eggert@twinsun.com>
91828
91829         * lib/xstrtol.c (strtoimax): New decl.
91830
91831 2001-08-31  Paul Eggert  <eggert@twinsun.com>
91832
91833         * lib/xgetcwd.c: Don't include pathmax.h.
91834         Include stdlib.h and unistd.h if available.
91835         Include xalloc.h.
91836         (xmalloc, xstrdup, free): Remove decls.
91837         (xgetcwd): Don't assume sizes fit in unsigned.
91838         Check for overflow when computing sizes.
91839         Simplify reallocation code.
91840
91841 2001-08-31  Paul Eggert  <eggert@twinsun.com>
91842
91843         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
91844         a directory's st_size can have an arbitrary value, so the old
91845         usage could waste an arbitrary amount of memory.  All uses
91846         changed.
91847         * lib/savedir.h: Update prototype.
91848
91849 2001-08-31  Paul Eggert  <eggert@twinsun.com>
91850
91851         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
91852
91853         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
91854         old strtoimax.c.
91855
91856         Also, make the following further changes to make this file's
91857         configuration more similar to that of strtol.c:
91858         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
91859         (strtoumax, uintmax_t, strtoull, strtol): Remove.
91860         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
91861         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
91862         changed to signed values.
91863
91864         And make the following changes as well:
91865         Fix copyright notice, as 1999 was missing.
91866         (verify): New macro.
91867         (strtoimax): Check sizes at compile-time, not run-time.
91868         Prefer strtol to strtoll if both work.
91869         (main): Remove; it was not that useful and was a pain to maintain.
91870
91871         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
91872
91873 2001-08-31  Jim Meyering  <meyering@lucent.com>
91874
91875         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
91876         Use an initial, malloc'd, buffer of length 128 rather than
91877         a statically allocated one of length 1024.
91878
91879 2001-08-30  Paul Eggert  <eggert@twinsun.com>
91880
91881         Simplify code, partly by assuming autoconf 2.52 semantics.
91882
91883         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
91884
91885         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
91886         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
91887         All uses removed.
91888         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
91889         Move AC_REQUIRE to next-to-top level, to avoid confusion.
91890         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
91891         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
91892         jm_AC_HEADER_INTTYPES_H.
91893         * m4/jm-macros.m4 (jm_MACROS): Likewise.
91894
91895         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
91896
91897         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
91898         Quote first arg of AC_DEFUN.
91899         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
91900         since they are needed to parse the include file even if we need
91901         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
91902         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
91903         but with opposite signedness.
91904
91905 2001-08-30  Paul Eggert  <eggert@twinsun.com>
91906
91907         Merge 'exclude' changes from tar 1.13.22.
91908         This fixes one or two unlikely storage allocation overflow bugs,
91909         but doesn't change user-visible behavior otherwise.
91910
91911 2001-08-30  Paul Eggert  <eggert@twinsun.com>
91912
91913         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
91914         (jm_PREREQ_EXCLUDE): New macro.
91915
91916 2001-08-30  Paul Eggert  <eggert@twinsun.com>
91917
91918         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
91919         tm to be declared.
91920
91921 2001-08-30  Paul Eggert  <eggert@twinsun.com>
91922
91923         * lib/hash.c: Remove '2001' from copyright notice.
91924
91925 2001-08-30  Paul Eggert  <eggert@twinsun.com>
91926
91927         * lib/full-write.h: New file.
91928         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
91929         * lib/full-write.c: Correct credits, as cccp.c no longer
91930         exists and anyway it was so heavily changed from the old cccp
91931         code as to be unrecognizable.  Include full-write.h.
91932         (full_write): Return size_t, with short writes meaning failure.
91933         All callers changed.  This fixes a bug with large buffers
91934         on 64-bit hosts.
91935         * lib/utime.c: Include full-write.h.
91936
91937 2001-08-30  Paul Eggert  <eggert@twinsun.com>
91938
91939         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
91940         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
91941         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
91942         Include if available.
91943         (<xalloc.h>): Include
91944         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
91945         (verify): New macro.  Use it to verify that EXCLUDE macros do not
91946         collide with FNM macros.
91947         (struct patopts): New struct.
91948         (struct exclude): Use it, as exclude patterns now come with options.
91949         (new_exclude): Support above changes.
91950         (new_exclude, add_exclude_file):
91951         Initial size must now be a power of two to simplify overflow checking.
91952         (free_exclude, fnmatch_no_wildcards): New function.
91953         (excluded_filename): No longer requires options arg, as the options
91954         are determined by add_exclude.  Now returns bool, not int.
91955         (excluded_filename, add_exclude):
91956         Add support for the fancy new exclusion options.
91957         (add_exclude, add_exclude_file): Now takes int options arg.
91958         Check for arithmetic overflow when computing sizes.
91959         (add_exclude_file): xrealloc might modify errno, so don't
91960         realloc until after errno might be used.
91961
91962         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
91963         New macros.
91964         (free_exclude): New decl.
91965         (add_exclude, add_exclude_file): Now takes int options arg.
91966         (excluded_filename): No longer requires options arg, as the options
91967         are determined by add_exclude.  Now returns bool, not int.
91968
91969 2001-08-30  Paul Eggert  <eggert@twinsun.com>
91970
91971         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
91972
91973 2001-08-27  Jim Meyering  <meyering@lucent.com>
91974
91975         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
91976
91977         * lib/version-etc.c (N_): Remove definition.
91978         Revert most of last change.
91979         Instead, simply don't mark the `Copyright...' string for translation.
91980         Based on advice from Paul Eggert.
91981
91982         * lib/strtoxmax.c: Tweak comment.
91983
91984 2001-08-26  Jim Meyering  <meyering@lucent.com>
91985
91986         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
91987
91988         * m4/xstrtoimax.m4: New file.
91989         * m4/xstrtoumax.m4: Add comments explaining why we
91990         AC_REPLACE_FUNCS(strtol).
91991
91992 2001-08-26  Jim Meyering  <meyering@lucent.com>
91993
91994         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
91995         of copyright with `%s' so translators don't get an untranslated
91996         message in 2002.
91997         (COPYRIGHT_YEAR): Define.
91998         (version_etc): Use fprintf rather than fputs.
91999         Suggestion from Ulrich Drepper.
92000
92001         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
92002
92003         * lib/strtoll.c: New file, from GNU libc.
92004         * lib/xstrtoimax.c: New file.
92005
92006         * lib/xstrtol.h: Add xstrtoimax.
92007         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
92008         * lib/strtoimax.c: New file.  Likewise, but first define
92009         STRTOUXMAX_SIGNED.
92010
92011         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
92012         ...
92013         * lib/strtoxmax.c: ... then renamed to this.
92014
92015 2001-08-18  Paul Eggert  <eggert@twinsun.com>
92016
92017         * m4/inttypes.m4: Add AC_PREREQ(2.13).
92018         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
92019         (jm_AC_TYPE_INTMAX_T): New macro.
92020         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
92021
92022         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
92023
92024         * m4/longlong.m4: Renamed from ulonglong.m4.
92025         * m4/inttypes.m4: Renamed from inttypes_h.m4.
92026         * m4/uintmax_t.m4: Removed.
92027
92028 2001-08-13  Paul Eggert  <eggert@twinsun.com>
92029
92030         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
92031         Port to Solaris 8, where 'sed' requires a space after the 'r'
92032         command, and where sh dislikes "$/".  Clean up the spacing a bit.
92033         Redirect output to $tmp just once.
92034
92035 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
92036
92037         * lib/addext.c (<errno.h>): Include.
92038         (errno): Declare if not defined.
92039         (addext): Work correctly when pathconf returns -1 and leaves
92040         errno alone because there is no limit.  Also, work even if
92041         pathconf returns a value greater than SIZE_MAX.
92042
92043 2001-08-12  Jim Meyering  <meyering@lucent.com>
92044
92045         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
92046         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
92047         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
92048         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
92049         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
92050         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
92051         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
92052         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
92053         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
92054         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
92055         utime.m4, utimes.m4, xstrtoumax.m4:
92056         Quote the first argument in each use of AC_DEFUN.
92057
92058 2001-08-12  Jim Meyering  <meyering@lucent.com>
92059
92060         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
92061         Simply `return getcwd (NULL, 0);'.
92062         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
92063         Use 1300 as initial value for length, not PATH_MAX.
92064
92065         * lib/pathmax.h: Clean up cpp syntax.
92066
92067 2001-08-12  Jim Meyering  <meyering@lucent.com>
92068
92069         * lib/gettimeofday.c: New file.
92070         * lib/gtod.h: New file.
92071         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
92072
92073 2001-08-05  Jim Meyering  <meyering@lucent.com>
92074
92075         * m4/jm-macros.m4: Require autoconf-2.52.
92076
92077 2001-08-04  Jim Meyering  <meyering@lucent.com>
92078
92079         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
92080         stmt, to get in sync with glibc.
92081
92082 2001-08-03  Paul Eggert  <eggert@twinsun.com>
92083
92084         The following changes are from gettext 0.10.39 as maintained by
92085         Bruno Haible.
92086
92087         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
92088         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
92089         with inverted sense.  All uses changed.
92090
92091         * lib/mbswidth.c: Don't include <limits.h>.
92092         Include <stdlib.h> and <string.h> unconditionally.
92093         (iswcntrl, mbsinit, ISCNTRL): New macros.
92094         (mbsnwidth): Use K&R style function declarations.
92095         Don't bother checking for MB_LEN_MAX == 1, since the compiler
92096         can optimize it when MB_CUR_MAX == 1.
92097         The width of control characters is zero, not 1.
92098
92099 2001-08-03  Paul Eggert  <eggert@twinsun.com>
92100
92101         The following changes are from gettext 0.10.39 as maintained by
92102         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
92103
92104         * m4/codeset.m4: Upgrade to serial AM1.
92105         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
92106         all uses changed.  Quote first arg of AC_DEFUN.
92107         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
92108
92109         * m4/iconv.m4: Upgrade to serial AM2.
92110         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
92111         Add --with-libconv-prefix.
92112         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
92113         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
92114         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
92115         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
92116         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
92117
92118         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
92119         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
92120         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
92121         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
92122         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
92123         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
92124         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
92125         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
92126         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
92127
92128         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
92129         string.h any more.
92130
92131         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
92132         not the default value.
92133
92134         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
92135         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
92136         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
92137         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
92138         Also check for iswcntrl, used for wcwidth fallback.
92139         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
92140         to Autoconf 2.13.
92141
92142 2001-08-03  Jim Meyering  <meyering@lucent.com>
92143
92144         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
92145         as it was in the original.  Reported by Paul Eggert.
92146
92147 2001-07-16  Jim Meyering  <meyering@lucent.com>
92148
92149         * m4/gettimeofday.m4: New file.
92150         Prompted by a report from Bernhard Baehr.
92151
92152 2001-07-15  Jim Meyering  <meyering@lucent.com>
92153
92154         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
92155         stuff. Now it's in ../Makefile.cfg.
92156
92157 2001-07-15  Jim Meyering  <meyering@lucent.com>
92158
92159         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
92160         (BUILT_SOURCES): Add unlocked-io.h.
92161         (io_functions): Define.
92162         (unlocked-io.h): New rule.
92163         (DISTCLEANFILES): Add unlocked-io.h.
92164         (all-local): Depend on unlocked-io.h, to ensure it is created.
92165
92166         * lib/unlocked-io.hin: New file
92167
92168         * lib/regex.c: Update from glibc.
92169
92170 2001-07-05  Jim Meyering  <meyering@lucent.com>
92171
92172         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
92173         recommendation.
92174         (libfetish_a_SOURCES): Put all .h files here instead.
92175         Remove a thus-exposed (better checks in automake) duplicate and
92176         two unnecessary .h files.
92177
92178 2001-07-04  Jim Meyering  <meyering@lucent.com>
92179
92180         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
92181         that generates jm-glibc-io.m4 so that it doesn't trigger any make
92182         distcheck failure.
92183
92184 2001-07-02  Jim Meyering  <meyering@lucent.com>
92185
92186         The following changes were prompted by suggestions from Bruno Haible.
92187
92188         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
92189         is now generated.
92190         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
92191         definition of EXTRA_DIST.
92192         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
92193         ensure that the generated file is created/updated whenever the list
92194         of $(unlocked_functions) is changed.
92195         (jm-glibc-io.m4): New rule.
92196         (unlocked-io.h): New rule -- currently unused.
92197
92198 2001-06-24  Jim Meyering  <meyering@lucent.com>
92199
92200         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
92201         unmatched right bracket, rather than kludging it with an extra,
92202         falsely-matching quote in a comment.  Patch by Akim Demaille.
92203
92204 2001-06-11  Jim Meyering  <meyering@lucent.com>
92205
92206         * lib/regex.c: Update from GNU libc.
92207
92208 2001-05-27  Jim Meyering  <meyering@lucent.com>
92209
92210         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
92211         Check for ut_type in struct utmp.
92212
92213 2001-05-27  Jim Meyering  <meyering@lucent.com>
92214
92215         * lib/readutmp.h (UT_TYPE): Define.
92216
92217 2001-05-24  Jim Meyering  <meyering@lucent.com>
92218
92219         * lib/argmatch.c: Include "quote.h".
92220         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
92221         quote function.  Reported by Göran Uddeborg.
92222
92223 2001-05-22  Jim Meyering  <meyering@lucent.com>
92224
92225         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
92226         now that we use the package-supplied version unconditionally.
92227         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
92228
92229 2001-05-21  Jim Meyering  <meyering@lucent.com>
92230
92231         * m4/regex.m4: Change a couple backticks to single quotes to avoid
92232         shell syntax errors.
92233
92234 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
92235
92236         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
92237
92238 2001-05-20  Paul Eggert  <eggert@twinsun.com>
92239
92240         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
92241         Don't bother to check library strftime, since
92242         we'll be using our own my_strftime function anyway.
92243         Define my_strftime instead of strftime.
92244
92245 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
92246
92247         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
92248         which is not yet declared.
92249
92250 2001-05-15  Jim Meyering  <meyering@lucent.com>
92251
92252         * m4/regex.m4: Use proper quoting so brackets appear in the test
92253         program.
92254         Reported by, and with help from, Bruno Haible.
92255
92256 2001-05-13  Jim Meyering  <meyering@lucent.com>
92257
92258         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
92259         undefined.
92260
92261 2001-05-11  Paul Eggert  <eggert@twinsun.com>
92262
92263         dirname code cleanup.  base_name now behaves more compatibly
92264         with POSIX basename when given file names that have trailing
92265         slashes, and similarly for dir_name.  Add new primitives
92266         base_len and dir_len.  Put the directory-name-related decls
92267         into dirname.h.
92268
92269         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
92270         * lib/backupfile.c (base_name): Likewise.
92271         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
92272         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
92273         * lib/makepath.c (strip_trailing_slashes): Likewise.
92274         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
92275         ISSLASH): Likewise.
92276         * lib/rename.c (strip_trailing_slashes): Likewise.
92277         * lib/same.c (base_name): Likewise.
92278         * lib/stripslash.c (ISSLASH): Likewise.
92279
92280         * lib/addext.c: Include <dirname.h> after size_t is defined.
92281         * lib/backupfile.c: Likewise.
92282
92283         * lib/addext.c (addext): Use base_len to trim redundant
92284         trailing slashes instead of doing it ourselves.
92285         But do not trim the last slash if it is not redundant.
92286
92287         * lib/backupfile.c (find_backup_file_name,
92288         max_backup_version): Use base_len instead of rolling it ourselves.
92289         Handle the case of "" and (on DOS) "C:" correctly.
92290
92291         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
92292         needed. Include <string.h>, <dirname.h>.
92293         (base_name): Allow file names ending in slashes, other than names
92294         that are all slashes.  In this case, return the basename followed
92295         by the slashes.  This is more general, and can be used in places
92296         where the original base_name purposely had an assertion failure.
92297         (base_len): New function.
92298
92299         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
92300         Do not include <assert.h>; no longer needed.
92301         Include xalloc.h.
92302         (memrchr): Remove decl.
92303         (dir_name_r): Remove.
92304         (dir_len): Renamed from dirlen.  All callers changed.
92305         Rewrite in terms of base_name, for simplicity and consistency.
92306         (dir_name): Never return NULL.  All callers changed.
92307         Do not include <stdlib.h> in test program; no longer needed.
92308         return 0; is fine for test program.
92309
92310         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
92311         New macros.
92312         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
92313
92314         * lib/path-concat.c (path_concat): Use base_len to compute
92315         base length, not strlen; this means we cannot rely on memcpy
92316         to null-terminate.
92317
92318         * lib/same.c (STREQ): Remove.
92319         (same_name): Handle the case where the basename ends in trailing '/'.
92320
92321         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
92322         a slash was stripped.  Do not strip the last slash after a
92323         file system prefix.
92324
92325 2001-05-11  Paul Eggert  <eggert@twinsun.com>
92326
92327         * lib/Makefile.am (libfetish_a_SOURCES):
92328         Add strftime.c, since we now compile it on all hosts.
92329
92330         * lib/strftime.c (my_strftime):
92331         Define to nstrftime if emacs, but only if my_strftime is not defined.
92332         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
92333         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
92334         Add one more extra argument: a nanoseconds value.
92335         All uses changed.
92336         (ns): New macro.
92337         (my_strftime function): Add %N format.
92338         (emacs_strftimeu): Renamed from emacs_strftime,
92339         with extra ut argument.
92340
92341 2001-05-09  Paul Eggert  <eggert@twinsun.com>
92342
92343         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
92344
92345 2001-04-21  Jim Meyering  <meyering@lucent.com>
92346
92347         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
92348         doesn't interfere.
92349
92350 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
92351
92352         * m4/ftruncate.m4: Check for chsize.
92353         Link with ftruncate.o unconditionally if ftruncate is missing.
92354         This was required when cross-compiling to i586-mingw32msvc.
92355
92356 2001-04-08  Jim Meyering  <meyering@lucent.com>
92357
92358         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
92359         recomputed; that's necessary when the offset spans a DST transition.
92360         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
92361
92362 2001-04-02  Jim Meyering  <meyering@lucent.com>
92363
92364         * lib/regex.h, regex.c: Update from GNU libc.
92365
92366 2001-03-24  Jim Meyering  <meyering@lucent.com>
92367
92368         * m4/jm-macros.m4: Require autoconf-2.49d.
92369
92370 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
92371
92372         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
92373
92374 2001-03-19  Paul Eggert  <eggert@twinsun.com>
92375
92376         * lib/version-etc.c (version_etc_copyright): Update to 2001.
92377
92378 2001-03-17  Jim Meyering  <meyering@lucent.com>
92379
92380         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
92381         now that the version in autoconf is equivalent.
92382         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
92383
92384         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
92385         Suggestion from Akim Demaille.
92386
92387         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
92388         (jm_PREREQ_TEMPNAME): New function.
92389
92390 2001-03-16  Paul Eggert  <eggert@twinsun.com>
92391
92392         * lib/tempname.c (uint64_t): Define to uintmax_t if
92393         not defined, and if UINT64_MAX is not defined.
92394         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
92395         Reported by John David Anglin.
92396
92397 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
92398
92399         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
92400         resolve alias if codeset is empty.
92401         * lib/config.charset (BeOS): Use wildcard syntax.
92402
92403 2001-03-13  Jim Meyering  <meyering@lucent.com>
92404
92405         * lib/path-concat.c (path_concat)
92406         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
92407         concatenating e.g., `C:' and `foo'.
92408         From Bruno Haible.
92409
92410 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
92411
92412         * lib/localcharset.c (locale_charset): Don't use
92413         setlocale(LC_CTYPE,NULL). Don't return NULL.
92414         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
92415
92416 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
92417
92418         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
92419         support for DOS/DJGPP.
92420
92421 2001-03-01  Paul Eggert  <eggert@twinsun.com>
92422
92423         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
92424         lacks mkstemp.  Compile our own tempname.c if we compile our own
92425         mkstemp.c, as mkstemp relies on tempname.
92426
92427 2001-03-01  Jim Meyering  <meyering@lucent.com>
92428
92429         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
92430         AH_VERBATIM really does output its argument verbatim.
92431
92432 2001-02-28  Paul Eggert  <eggert@twinsun.com>
92433
92434         * lib/Makefile.am (libfetish_a_SOURCES):
92435         Add dup-safer.c, fopen-safer.c.
92436         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
92437
92438         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
92439         * lib/unistd-safer.h: New files.
92440
92441 2001-02-25  Paul Eggert  <eggert@twinsun.com>
92442
92443         The mkstemp replacement is taken from glibc 2.2.2, with some
92444         portability fixes for use outside glibc, as follows:
92445
92446         * lib/tempname.c (struct_stat64): New macro.
92447         (direxists, __gen_tempname): Use it.
92448         This avoids a portability problem with Solaris 8.
92449
92450         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
92451         (<stddef.h>, <stdint.h>, <string.h>):
92452         Include only if STDC_HEADERS || _LIBC.
92453         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
92454         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
92455         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
92456         (__set_errno): Define this macro if <errno.h> doesn't.
92457         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
92458         Define these macros if <stdio.h> doesn't.
92459         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
92460         Define these macros if <sys/stat.h>
92461         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
92462         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
92463         __xstat64): Define if not _LIBC.
92464         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
92465         (__gen_tempname): Invoke gettimeofday only if
92466         HAVE_GETTIMEOFDAY || _LIBC;
92467         otherwise, fall back on plain "time".
92468         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
92469
92470         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
92471
92472         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
92473
92474 2001-02-18  Paul Eggert  <eggert@twinsun.com>
92475
92476         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
92477
92478 2001-02-17  Paul Eggert  <eggert@twinsun.com>
92479
92480         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
92481         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
92482         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
92483         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
92484
92485 2001-02-17  Paul Eggert  <eggert@twinsun.com>
92486
92487         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
92488         Remove workaround macros for hosts that have mbrtowc but not
92489         mbstate_t, as we now insist on proper declarations for both
92490         before using mbrtowc.
92491
92492 2001-02-17  Jim Meyering  <meyering@lucent.com>
92493
92494         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
92495         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
92496         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
92497         UnixWare 7.1.1.
92498
92499         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
92500         rather than AC_CACHE_VAL.
92501
92502 2001-02-17  Jim Meyering  <meyering@lucent.com>
92503
92504         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
92505         around included file name.
92506
92507         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
92508
92509         * lib/strftime.c: Update from GNU libc (the only changes were to
92510         comments).
92511
92512 2001-02-17  Jim Meyering  <meyering@lucent.com>
92513
92514         * lib/regex.c: Update from libc.
92515
92516 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
92517
92518         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
92519         clash.
92520
92521 2001-02-16  Paul Eggert  <eggert@twinsun.com>
92522
92523         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
92524         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
92525         Reported by Mark Hounschell via Paul Eggert.
92526
92527 2001-02-07  Jim Meyering  <meyering@lucent.com>
92528
92529         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
92530
92531 2001-02-05  Jim Meyering  <meyering@lucent.com>
92532
92533         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
92534         it includes the patch required for `large file' support with at least
92535         HP-UX's 10.20 /bin/cc.
92536
92537 2001-02-03  Jim Meyering  <meyering@lucent.com>
92538
92539         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
92540         AS_IF, now that it works once again (mysteriously).
92541         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
92542
92543 2001-01-30  Jim Meyering  <meyering@lucent.com>
92544
92545         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
92546         * m4/chown.m4: Rename conftestchown to conftest.chown.
92547         * m4/rename.m4: s/conftestdir/conftest.d1/ and
92548         s/conftestdir2/conftest.d2/.
92549         * m4/utimes.m4: s/conftestdata/conftest.data/
92550         Inspired by Pavel Roskin's change in autoconf.
92551
92552 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
92553
92554         * lib/config.charset: Update for FreeBSD 4.2.
92555
92556 2001-01-27  Jim Meyering  <meyering@lucent.com>
92557
92558         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
92559         a use of AS_IF.
92560         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
92561
92562 2001-01-26  Jim Meyering  <meyering@lucent.com>
92563
92564         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
92565         quotearg.c includes it.
92566
92567 2001-01-26  Jim Meyering  <meyering@lucent.com>
92568
92569         * lib/quotearg.c: Include stddef.h.
92570         * lib/quote.c: Include stddef.h.
92571         Reported by Axel Kittenberger.
92572
92573         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
92574         line in double quotes so that it evokes a better diagnostic.
92575         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
92576         Reported by Axel Kittenberger.
92577
92578 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
92579
92580         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
92581         as if it was a `charset'.
92582
92583 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
92584
92585         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
92586         has const.
92587
92588 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
92589
92590         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
92591         to avoid a warning.  Add back 'const' to inptr.
92592
92593 2001-01-20  Jim Meyering  <meyering@lucent.com>
92594
92595         Be sure that headers are checked before used in code compiled
92596         for the type checks.
92597         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
92598         In place of that, invoke jm_CHECK_ALL_TYPES.
92599         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
92600         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
92601         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
92602         The check for ssize_t was mistakenly run before the test for unistd.h.
92603
92604         The configure-time check for stdbool.h was missing.
92605         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
92606         (jm_PREREQ_HASH): New function.
92607
92608 2001-01-17  Jim Meyering  <meyering@lucent.com>
92609
92610         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
92611         for autoconf-2.49c.
92612         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
92613
92614 2001-01-16  Jim Meyering  <meyering@lucent.com>
92615
92616         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
92617         From Bruno Haible.
92618
92619 2001-01-14  Jim Meyering  <meyering@lucent.com>
92620
92621         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
92622         foo and bar.  Create conftestdir/ in the script, not in the C code.
92623         Remove directories in the script, not in the C code.
92624         Remove conftestdir{,2} before trying to create the directory.
92625         Make the entire configure script fail if the mkdir fails.
92626
92627 2001-01-14  Jim Meyering  <meyering@lucent.com>
92628
92629         * lib/rename.c: New file.  From Volker Borchert.
92630         Include stdlib.h, string.h or strings.h, and xalloc.h.
92631         Use strip_trailing_slashes rather than open-coding it.
92632
92633 2001-01-03  Paul Eggert  <eggert@twinsun.com>
92634
92635         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
92636
92637 2001-01-03  Jim Meyering  <meyering@lucent.com>
92638
92639         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
92640         of local `inptr' to avoid warning with some system declarations of
92641         iconv.
92642
92643 2001-01-02  Volker Borchert  <bt@teknon.de>
92644
92645         * m4/rename.m4: New file.
92646         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
92647
92648 2001-01-01  Jim Meyering  <meyering@lucent.com>
92649
92650         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
92651         even on systems with utmpx.h.  It's necessary for the declaration of
92652         utmp's ut_user member.  Reported by Andreas Jaeger.
92653
92654         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
92655         available. They are required for the declarations of getgrgid and
92656         getpwuid resp.
92657         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
92658         Reported by Andreas Jaeger.
92659
92660 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
92661
92662         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
92663         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
92664         so `make install' also works in VPATH builds.
92665
92666 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
92667
92668         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
92669         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
92670         can be used in subdirectories.
92671
92672 2000-12-29  Paul Eggert  <eggert@twinsun.com>
92673
92674         * lib/modechange.c: Do not assume that mode_t uses the
92675         traditional octal encoding.  E.g. "chmod 1 FOO" should set
92676         the other-execute bit of FOO even if S_IXOTH != 1.
92677
92678         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
92679         WOTH, XOTH, ALLM): New macros.
92680         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
92681          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
92682         Use them.
92683         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
92684         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
92685         (mode_compile):
92686         No need to use uintmax_t; unsigned long is long enough.
92687         Don't bother to get suffix since we don't use it.
92688
92689 2000-12-26  Jim Meyering  <meyering@lucent.com>
92690
92691         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
92692         better with autoheader.
92693
92694 2000-12-24  Jim Meyering  <meyering@lucent.com>
92695
92696         * lib/hash.c (is_prime): Return explicit boolean values.
92697         (hash_get_first): Return NULL to appease Irix5.6's 89.
92698         Reported by Nelson Beebe.
92699
92700 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
92701
92702         * lib/localcharset.c (locale_charset): Add support for Win32.
92703
92704 2000-12-18  Paul Eggert  <eggert@twinsun.com>
92705
92706         * lib/physmem.h, lib/physmem.c: New files.
92707
92708         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
92709         (noinst_HEADERS): Add physmem.h.
92710
92711         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
92712         't' for compatibility with Solaris 8 sort.
92713
92714 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
92715
92716         * lib/config.charset: Add support for BeOS.
92717
92718 2000-12-17  Jim Meyering  <meyering@lucent.com>
92719
92720         * m4/dos.m4 (jm_AC_DOS): New file and macro.
92721         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
92722
92723 2000-12-16  Jim Meyering  <meyering@lucent.com>
92724
92725         This bug had a serious impact on chown: `chown N:M FILE' (for integer
92726         N and M) would have treated it like `chown N:N FILE'.
92727
92728         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
92729
92730 2000-12-16  Jim Meyering  <meyering@lucent.com>
92731
92732         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
92733         SHELLS_FILE to a file name that's useful on djgpp systems.
92734         Include stdlib.h.
92735         (ADDITIONAL_DEFAULT_SHELLS): Define.
92736         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
92737         Based mostly on a patch from Prashant TR.
92738
92739 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
92740
92741         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
92742         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
92743         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
92744
92745 2000-12-08  Andreas Schwab  <schwab@suse.de>
92746
92747         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
92748         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
92749
92750 2000-12-07  Jim Meyering  <meyering@lucent.com>
92751
92752         * lib/stripslash.c (ISSLASH): Define.
92753         (strip_trailing_slashes): Use ISSLASH rather than comparing against
92754         `/'.
92755         From Prashant TR.
92756
92757         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
92758         (dir_name_r): Declare this function as static.
92759         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
92760         manifest itself on a name containing a mix of slashes and
92761         backslashes.
92762         Make this function work with names starting with a DOS-style
92763         drive letter and colon prefix.
92764         (dir_name): Append `.' if necessary.
92765         Based mostly on patches from Prashant TR and Eli Zaretskii.
92766
92767         * lib/dirname.h (dir_name_r): Remove prototype.
92768
92769 2000-12-06  Paul Eggert  <eggert@twinsun.com>
92770
92771         * m4/off_t-format.m4: Remove this file.
92772         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
92773
92774 2000-12-06  Jim Meyering  <meyering@lucent.com>
92775
92776         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
92777         replacement strtoull, we may well need the replacement strtoul, too.
92778         Check for declarations of strtoul and strtoull.
92779         Check for strtol.  Mainly as a cue to cause automake to include
92780         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
92781         Check for limits.h -- strtol.c needs it.
92782
92783 2000-12-05  Jim Meyering  <meyering@lucent.com>
92784
92785         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
92786
92787 2000-12-04  Jim Meyering  <meyering@lucent.com>
92788
92789         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
92790         Also include memory.h, stdlib.h, unistd.h if appropriate.
92791         Reported by Andreas Jaeger (conflicting declaration of malloc).
92792
92793 2000-12-02  Jim Meyering  <meyering@lucent.com>
92794
92795         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
92796         * m4/jm-macros.m4 (jm_MACROS): require it.
92797
92798 2000-12-02  Jim Meyering  <meyering@lucent.com>
92799
92800         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
92801
92802 2000-12-01  Paul Eggert  <eggert@twinsun.com>
92803
92804         * lib/memrchr.c: Include <config.h> before any system include file.
92805
92806 2000-11-30  Jim Meyering  <meyering@lucent.com>
92807
92808         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
92809
92810 2000-11-30  Jim Meyering  <meyering@lucent.com>
92811
92812         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
92813
92814 2000-11-29  Paul Eggert  <eggert@twinsun.com>
92815
92816         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
92817
92818 2000-11-26  Jim Meyering  <meyering@lucent.com>
92819
92820         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
92821
92822 2000-11-22  Paul Eggert  <eggert@twinsun.com>
92823
92824         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
92825         size of (size_t) -1; it's not portable.
92826
92827 2000-11-17  Jim Meyering  <meyering@lucent.com>
92828
92829         * lib/strstr.c: Update from GNU libc.
92830
92831 2000-11-17  Akim Demaille  <akim@epita.fr>
92832
92833         * lib/obstack.h: Formatting changes.
92834         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
92835         prevent type checking.
92836         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
92837         cast the value to (void *): assigning a `foo *' to a `void *'
92838         variable is valid.
92839         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
92840
92841 2000-11-16  Jim Meyering  <meyering@lucent.com>
92842
92843         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
92844
92845 2000-11-11  Jim Meyering  <meyering@lucent.com>
92846
92847         * lib/error.c: Add a couple #includes, merging from GNU libc version.
92848
92849 2000-11-10  Jim Meyering  <meyering@lucent.com>
92850
92851         * lib/obstack.h: Update from GNU libc.
92852         * lib/obstack.c: Likewise.
92853
92854 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
92855
92856         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
92857
92858 2000-11-06  Paul Eggert  <eggert@twinsun.com>
92859
92860         * lib/getusershell.c (setusershell): Use rewind rather than
92861         fseek/fseeko, to avoid configuration hassles with fseeko.
92862         Don't bother opening SHELLS_FILE if shellstream is NULL;
92863         it's not necessary.
92864
92865 2000-11-05  Jim Meyering  <meyering@lucent.com>
92866
92867         * lib/makepath.h (make_dir): Declare.
92868         * lib/makepath.c (make_dir): Remove `static' attribute.
92869         Tweak a comment.
92870
92871 2000-11-04  Jim Meyering  <meyering@lucent.com>
92872
92873         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
92874
92875 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
92876
92877         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
92878         last one in a bucket, advance to the next bucket.
92879
92880 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
92881
92882         * lib/fnmatch.c: Do not comment out all the code if we are using
92883         the GNU C library, because in some cases we are replacing buggy
92884         code in the GNU C library itself.
92885
92886 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
92887
92888         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
92889         (regex_compile): Catch bogus \(\1\).
92890
92891 2000-10-30  Paul Eggert  <eggert@twinsun.com>
92892
92893         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
92894         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
92895         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
92896
92897 2000-10-30  Paul Eggert  <eggert@twinsun.com>
92898
92899         * lib/error.h, getline.h, modechange.h:
92900         Remove "2000" from Copyright line, as the file hasn't been
92901         changed this year other than in the copyright notice.
92902
92903         * lib/xalloc.h: Add "2000" to Copyright line, as this file
92904         was changed this year.
92905
92906 2000-10-29  Jim Meyering  <meyering@lucent.com>
92907
92908         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
92909         renaming.
92910         * m4/ls-mntd-fs.m4: Likewise
92911
92912 2000-10-29  Jim Meyering  <meyering@lucent.com>
92913
92914         * lib/xstat.in: Fix grammar in comment.
92915
92916 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
92917
92918         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
92919         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
92920         doesn't define __restrict_arr.
92921
92922 2000-10-28  Jim Meyering  <meyering@lucent.com>
92923
92924         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
92925         (jm_PREREQ_MEMCHR): New function.
92926
92927 2000-10-28  Jim Meyering  <meyering@lucent.com>
92928
92929         * lib/memchr.c: Update from libc.
92930         Adjust for portability:
92931         [HAVE_STDLIB_H]: Include stdlib.h.
92932         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
92933         Undef __memchr, too.
92934         [!weak_alias]: Define __memchr to memchr.
92935
92936         * lib/regex.c: Update from libc.
92937         * lib/regex.h: Likewise.
92938         * lib/getopt1.c: Likewise.
92939         * lib/memcmp.c: Likewise.
92940
92941         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
92942         Avoid using fseek, when possible -- it's broken by design.
92943         Patch by Ulrich Drepper.
92944
92945 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
92946
92947         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
92948         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
92949         Giving in to popular pressure to shut up the compiler with casts.
92950
92951 2000-10-26  Jim Meyering  <meyering@lucent.com>
92952
92953         * lib/strftime.c: Update from libc.
92954
92955 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
92956
92957         * regex.c: More `unsigned char' -> `re_char' changes.
92958         Also change several `int' into `re_wchar_t'.
92959         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
92960         (PUSH_FAILURE_POINTER): Don't cast any more.
92961         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
92962         We want GCC to complain, since this piece of code makes
92963         re_match non-reentrant, which *should* be fixed.
92964         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
92965         (EXTEND_BUFFER): Use RETALLOC.
92966         (SET_LIST_BIT): Don't cast.
92967         (re_wchar_t): New type.
92968         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
92969         that those two functions will always properly return.
92970         (IMMEDIATE_QUIT_CHECK): Cast to void.
92971         (analyse_first): Use recursion rather than an explicit stack.
92972         (re_compile_fastmap): Can't fail anymore.
92973         (re_search_2): Don't check re_compile_fastmap for failure.
92974         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
92975         Now also sets the new value (passed in a new argument).
92976         (re_match_2_internal): Use it.
92977         Also, use a new var `reg' of type size_t when looping through regs
92978         rather than reuse the inappropriate `mcnt'.
92979
92980 2000-10-25  Jim Meyering  <meyering@lucent.com>
92981
92982         * lib/obstack.c: Update from libc.
92983
92984 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
92985
92986         * regex.c (regex_compile): Change the way of handling a range from
92987         a char less than 256 to a char not less than 256.
92988
92989 2000-10-24  Andrew Innes  <andrewi@gnu.org>
92990
92991         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
92992         NT-Emacs only.
92993         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
92994         so that re_search functions only quit when callers expect them to.
92995
92996 2000-10-23  Jim Meyering  <meyering@lucent.com>
92997
92998         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
92999         wrong.  That set_locale call must not have any side effects.
93000         From Paul Eggert.
93001
93002 2000-10-22  Jim Meyering  <meyering@lucent.com>
93003
93004         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
93005         [CYCLIC]: Remove now-unused definition.
93006
93007         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
93008         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
93009         Suggestion from Ulrich Drepper.
93010
93011 2000-10-21  Jim Meyering  <meyering@lucent.com>
93012
93013         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
93014         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
93015         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
93016
93017 2000-10-21  Jim Meyering  <meyering@lucent.com>
93018
93019         * lib/dirname.c (memrchr): Declare if necessary.
93020         (dir_name): Remove the restriction that there be no
93021         trailing slashes.  Now, this code skips past them, effectively
93022         ignoring them.
93023         [TEST_DIRNAME] (main): New unit tests.
93024
93025         * lib/memrchr.c: New file from GNU libc.
93026         Undef __memrchr, too.
93027         [!weak_alias]: Define __memrchr to memrchr.
93028         Guard weak_alias use with `#ifdef weak_alias'.
93029
93030 2000-10-21  Jim Meyering  <meyering@lucent.com>
93031
93032         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
93033         (dir_name): Use dir_name_r.
93034         * lib/dirname.h (dir_name_r): Declare it.
93035
93036 2000-10-17  Jim Meyering  <meyering@lucent.com>
93037
93038         * lib/quote.h (PARAMS): Define and use.
93039         Reported by Akim Demaille.
93040
93041         * lib/getopt.c: Update from libc.
93042
93043 2000-10-16  Jim Meyering  <meyering@lucent.com>
93044
93045         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
93046         setlocale.
93047         From Jan Fedak.
93048
93049 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
93050
93051         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
93052
93053 2000-09-25  Jim Meyering  <meyering@lucent.com>
93054
93055         * lib/md5.h (rol): Define (from GnuPG).
93056
93057         * lib/sha.c: Give credit (GnuPG) where due.
93058         (M): Use rol rather than open-coding it.
93059         Add a FIXME comment.
93060
93061 2000-09-21  Jim Meyering  <meyering@lucent.com>
93062
93063         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
93064         Reported by Michael Stone.
93065
93066 2000-09-20  Jim Meyering  <meyering@lucent.com>
93067
93068         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
93069         (noinst_HEADERS): Add sha.h.
93070         Based on code from Scott G. Miller and from GnuPG.
93071
93072 2000-09-18  Jim Meyering  <meyering@lucent.com>
93073
93074         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
93075         LIBS. Otherwise, everyone ends up linking with -lelf for some
93076         configurations.
93077         Reported by Mike Stone.
93078
93079 2000-09-15  Jim Meyering  <meyering@lucent.com>
93080
93081         * lib/regex.c: Update from libc.
93082
93083 2000-09-10  Jim Meyering  <meyering@lucent.com>
93084
93085         * lib/getopt.c (_getopt_internal): Update from glibc.
93086
93087 2000-09-09  Jim Meyering  <meyering@lucent.com>
93088
93089         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
93090         think it should be used as a general replacement for isascii.
93091         * lib/fnmatch.c: Likewise.
93092         * lib/mbswidth.c: Likewise
93093         * lib/regex.c: Likewise.
93094
93095         Don't use atoi.
93096         * lib/userspec.c: Include sys/param.h and limits.h.
93097         Include xstrtol.h.
93098         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
93099         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
93100         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
93101         UID, GID.  Check range.
93102
93103 2000-09-06  Jim Meyering  <meyering@lucent.com>
93104
93105         * lib/getopt.c (_getopt_internal): Update from glibc.
93106
93107 2000-08-30  Jim Meyering  <meyering@lucent.com>
93108
93109         * lib/strftime.c: Merge in changes from GNU libc.
93110
93111 2000-08-26  Jim Meyering  <meyering@lucent.com>
93112
93113         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
93114         * m4/fpending.m4: New file.
93115
93116 2000-08-26  Jim Meyering  <meyering@lucent.com>
93117
93118         * lib/closeout.c: Include "__fpending.h".
93119         (close_stdout_status): Return right away if there's nothing to flush.
93120
93121         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
93122         * lib/__fpending.c: New file.
93123         * lib/__fpending.h: New file.
93124
93125 2000-08-20  Jim Meyering  <meyering@lucent.com>
93126
93127         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
93128         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
93129         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
93130
93131 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
93132
93133         Improve fileutils installation on systems where running
93134         programs (like install) can't be unlinked.
93135         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
93136         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
93137
93138 2000-08-07  Paul Eggert  <eggert@twinsun.com>
93139
93140         Standardize on "memory exhausted" instead of "Memory exhausted"
93141         or "virtual memory exhausted".
93142         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
93143         "virtual memory exhausted".
93144         * lib/same.c (same_name): Invoke xalloc_die instead of printing
93145         our own message.
93146         * lib/userspec.c (parse_user_spec): Likewise.
93147         * lib/bumpalloc.h: comment fix
93148         * lib/same.c, userspec.c: Include xalloc.h.
93149
93150         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
93151         not char *const and pointing to a constant array.
93152         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
93153         (xrealloc): Comment fix.
93154
93155         * lib/userspec.c (parse_user_spec):
93156         Don't translate a message until just before returning,
93157         to avoid unnecessary translation.
93158
93159 2000-08-07  Jim Meyering  <meyering@lucent.com>
93160
93161         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
93162         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
93163         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
93164         getgroups.c, gethostname.c, getopt.h, group-member.c,
93165         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
93166         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
93167         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
93168         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
93169         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
93170         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
93171         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
93172         yesno.c: Back out Copyright date changes for each file with no change
93173         this year.  This eases coordination with other programs using the same
93174         source code modules.  From Paul Eggert.
93175
93176 2000-08-06  Paul Eggert  <eggert@twinsun.com>
93177
93178         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
93179         not char, for compatibility with glibc 2.1.3 strftime.c.
93180
93181 2000-08-03  Greg McGary  <greg@mcgary.org>
93182
93183         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
93184         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
93185         (EXTEND_BUFFER): Use them.
93186
93187 2000-08-01  Jim Meyering  <meyering@lucent.com>
93188
93189         * lib/dirname.c (ISSLASH): Define.
93190         (BACKSLASH_IS_PATH_SEPARATOR): Define.
93191         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
93192         both `\' and `/' may be use as path separators.
93193         Based on a patch from Prashant TR.
93194
93195 2000-07-31  Paul Eggert  <eggert@twinsun.com>
93196
93197         * lib/quotearg.c (quotearg_n_options): Don't make the initial
93198         slot vector a constant, since it might get modified.
93199
93200 2000-07-31  Jim Meyering  <meyering@lucent.com>
93201
93202         * lib/xmalloc.c: Use `virtual memory exhausted', not
93203         `Memory exhausted'.
93204         * lib/obstack.c (print_and_abort): Likewise.
93205
93206 2000-07-30  Paul Eggert  <eggert@twinsun.com>
93207
93208         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
93209         buffer, so that the caller can always quote one small
93210         component of a "memory exhausted" message in slot 0.
93211         From a suggestion by Jim Meyering.
93212
93213 2000-07-30  Jim Meyering  <meyering@lucent.com>
93214
93215         * lib/makepath.c (make_path): Quote the other instance, too.
93216
93217         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
93218         (STATIC_BUF_SIZE): Define.
93219         (quotearg_n_options): Use only statically allocated storage when
93220         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
93221         than STATIC_BUF_SIZE.
93222
93223 2000-07-29  Jim Meyering  <meyering@lucent.com>
93224
93225         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
93226         * lib/dirname.c (dir_name): Likewise.
93227
93228         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
93229         `/'.
93230
93231         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
93232         (dir_name): Assert that there are no trailing slashes.
93233
93234 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
93235
93236         * lib/mbswidth.h (mbswidth): Add a flags argument.
93237         (mbswidth): New declaration.
93238         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
93239         * lib/mbswidth.c (mbswidth): Add a flags argument.
93240         (mbsnwidth): New function.
93241
93242 2000-07-24  Jim Meyering  <meyering@lucent.com>
93243
93244         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
93245
93246 2000-07-23  Paul Eggert  <eggert@twinsun.com>
93247
93248         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
93249
93250 2000-07-23  Paul Eggert  <eggert@twinsun.com>
93251
93252         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
93253         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
93254         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
93255         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
93256         invoke multibyte primitives.
93257
93258 2000-07-23  Paul Eggert  <eggert@twinsun.com>
93259
93260         * lib/quotearg.c:
93261         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
93262         so that mbstate_t is always defined.
93263
93264         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
93265         be 1 in at least one GCC installation, and this configuration
93266         error is likely to be common.  Ignoring MB_LEN_MAX hurts
93267         performance on hosts that have mbrtowc but have only unibyte
93268         locales, but I assume these hosts are rare.
93269
93270 2000-07-23  Paul Eggert  <eggert@twinsun.com>
93271
93272         * lib/mbswidth.c (_XOPEN_SOURCE):
93273         Don't define; this causes problems on Solaris 7.
93274         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
93275
93276 2000-07-23  Jim Meyering  <meyering@lucent.com>
93277
93278         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
93279         too: getgrgid, getpwuid, getuid.
93280
93281 2000-07-23  Jim Meyering  <meyering@lucent.com>
93282
93283         * lib/basename.c (base_name): Add an assertion.
93284
93285 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
93286
93287         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
93288         shadow its mbsinit function.
93289
93290 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
93291
93292         * lib/mbswidth.h: New file.
93293         * lib/mbswidth.c: New file.
93294         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
93295         (noinst_HEADERS): Add mbswidth.h.
93296
93297 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
93298
93299         * lib/config.charset: Add support for FreeBSD. Improve support for
93300         HP-UX and IRIX 6.
93301
93302 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
93303
93304         * m4/mbswidth.m4: New file.
93305         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
93306
93307 2000-07-15  Jim Meyering  <meyering@lucent.com>
93308
93309         * lib/makepath.c: Include quote.h.
93310         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
93311         corresponding argument in a `quote (...)' call.
93312         Give better diagnostics.
93313
93314         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
93315         (noinst_HEADERS): Add quote.h.
93316
93317         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
93318         from tar's src/misc.c.
93319         * lib/quote.h: New file.  Prototypes for same.
93320
93321 2000-07-14  Paul Eggert  <eggert@twinsun.com>
93322
93323         From a suggestion by Bruno Haible.
93324         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
93325         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
93326         to decide whether to define the BeOS workaround macro;
93327         this adjusts to the change to AC_MBSTATE_T.
93328
93329 2000-07-14  Jim Meyering  <meyering@lucent.com>
93330
93331         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
93332         jm_AC_TYPE_UINTMAX_T.
93333
93334 2000-07-13  Paul Eggert  <eggert@twinsun.com>
93335
93336         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
93337
93338         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
93339         quotearg_buffer_restyled): Add support for
93340         clocale_quoting_style.  Undo previous change to
93341         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
93342         and "{RIGHT QUOTATION MARK}" msgids.
93343
93344 2000-07-10  Paul Eggert  <eggert@twinsun.com>
93345
93346         From a suggestion by Bruno Haible.
93347         * m4/mbstate_t.m4 (AC_MBSTATE_T):
93348         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
93349         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
93350         and mbstate_t, to a single-part test that simply defines mbstate_t.
93351         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
93352         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
93353
93354 2000-07-10  Jim Meyering  <meyering@lucent.com>
93355
93356         * m4/strerror_r.m4: Mirror the correction made in autoconf.
93357
93358         * m4/gnu-source.m4: Output to confdefs.h directly.
93359         Suggestion from Akim Demaille.
93360
93361 2000-07-09  Paul Eggert  <eggert@twinsun.com>
93362
93363         The old behavior of quoting `like this' doesn't look good with
93364         newer, ISO-style fonts.  See:
93365         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
93366
93367         Instead, quote "like this" by default.  Let the translator
93368         tailor the locale-specific quoting behavior by providing
93369         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
93370
93371         * lib/quotearg.c (N_): New macro.
93372         (gettext_default): New function.
93373         (quotearg_buffer_restyled): Use
93374         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
93375         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
93376
93377 2000-07-09  Jim Meyering  <meyering@lucent.com>
93378
93379         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
93380         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
93381
93382         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
93383         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
93384
93385 2000-07-09  Jim Meyering  <meyering@lucent.com>
93386
93387         * lib/Most files: Update copyright dates to include 2000.
93388
93389 2000-07-08  Jim Meyering  <meyering@lucent.com>
93390
93391         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
93392         if not defined.
93393         (xgethostname): Remove now-unnecessary #ifdef.
93394         Move declaration of `err' into loop where it's used.
93395
93396 2000-07-05  Paul Eggert  <eggert@twinsun.com>
93397         and Bruno Haible  <haible@clisp.cons.org>
93398
93399         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
93400         only if the test for an object-type mbstate_t fails.  This
93401         prevents us from mistakenly reporting that mbstate_t is a
93402         system object type after we "#define mbstate_t int" to work
93403         around its lack.
93404
93405 2000-07-05  Paul Eggert  <eggert@twinsun.com>
93406         and Bruno Haible  <haible@clisp.cons.org>
93407
93408         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
93409
93410 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
93411
93412         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
93413         to strerror_r.
93414         Include <ctype.h> for use of isalpha.
93415
93416 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
93417
93418         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
93419         by allocating a larger buffer. Test the gethostname return value for
93420         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
93421         returns an error and ENAMETOOLONG isn't defined.
93422
93423 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
93424
93425         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
93426         dimension.
93427
93428 2000-07-04  Jim Meyering  <meyering@lucent.com>
93429
93430         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
93431         of the deprecated AC_CHECKING.
93432
93433 2000-07-04  Jim Meyering  <meyering@lucent.com>
93434
93435         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
93436         Reported by Bruno Haible.
93437
93438 2000-07-04  Jim Meyering  <meyering@lucent.com>
93439
93440         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
93441         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
93442         lacks mbrtowc.
93443
93444 2000-07-03  Paul Eggert  <eggert@twinsun.com>
93445
93446         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
93447         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
93448
93449 2000-07-03  Paul Eggert  <eggert@twinsun.com>
93450         and Bruno Haible  <haible@clisp.cons.org>
93451
93452         * lib/quotearg.c (mbrtowc):
93453         Assign to *pwc, and return 1 only if result is nonzero.
93454         (iswprint): Use ISPRINT when substituting our own mbrtowc.
93455
93456 2000-07-03  Jim Meyering  <meyering@lucent.com>
93457
93458         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
93459
93460 2000-07-03  Jim Meyering  <meyering@lucent.com>
93461
93462         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
93463         This is necessary to get a definition of e.g., UTMP_FILE on
93464         HP-UX 10.20.
93465         From Bob Proulx.
93466
93467 2000-07-02  Jim Meyering  <meyering@lucent.com>
93468
93469         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
93470
93471         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
93472         AC_LIBOBJ(function_name).
93473         * m4/chown.m4: Likewise.
93474         * m4/fnmatch.m4: Likewise.
93475         * m4/ftruncate.m4: Likewise.
93476         * m4/getgroups.m4: Likewise.
93477         * m4/getline.m4: Likewise.
93478         * m4/group-member.m4: Likewise.
93479         * m4/jm-macros.m4: Likewise.
93480         * m4/lstat.m4: Likewise.
93481         * m4/malloc.m4: Likewise.
93482         * m4/memcmp.m4: Likewise.
93483         * m4/nanosleep.m4: Likewise.
93484         * m4/putenv.m4: Likewise.
93485         * m4/realloc.m4: Likewise.
93486         * m4/regex.m4: Likewise.
93487         * m4/stat.m4: Likewise.
93488         * m4/strftime.m4: Likewise.
93489
93490 2000-07-02  Jim Meyering  <meyering@lucent.com>
93491
93492         * lib/quotearg.c (mbstate_t): Don't define here.
93493
93494 2000-07-02  Jim Meyering  <meyering@lucent.com>
93495
93496         * lib/nanosleep.c (SIGCONT): Define if not already defined.
93497
93498 2000-07-01  Jim Meyering  <meyering@lucent.com>
93499
93500         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
93501
93502 2000-07-01  Jim Meyering  <meyering@lucent.com>
93503
93504         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
93505         problem.
93506
93507 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
93508
93509         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
93510         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
93511
93512 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
93513
93514         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
93515         per change in ../m4/ls-mntd-fs.m4.
93516         (read_filesystem_list): Ignore symbolic links.
93517
93518 2000-06-29  Jim Meyering  <meyering@lucent.com>
93519
93520         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
93521         for declaration of strcmp.
93522
93523         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
93524
93525         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
93526         Avoid warning by casting result to `char *' to remove `const'.
93527
93528 2000-06-28  Jim Meyering  <meyering@lucent.com>
93529
93530         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
93531         included by quotearg.c, for which we perform this test.  From
93532         Bruno Haible.
93533
93534 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
93535
93536         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
93537         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
93538         <utmpx.h> exists, put readutmp.o into LIBOBJS.
93539
93540 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
93541
93542         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
93543
93544 2000-06-26  Paul Eggert  <eggert@twinsun.com>
93545
93546         savedir now sets errno on failure and invokes xmalloc to get memory.
93547         Fix a couple of other minor bugs while we're at it.
93548
93549         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
93550         (NAMLEN): Remove macro.
93551         (malloc, realloc): Remove decls.
93552         (stpcpy): Likewise.
93553         ("xalloc.h"): Include.
93554         (NAME_SIZE_DEFAULT): New macro.
93555         (savedir): Use xmalloc / xrealloc to allocate memory.
93556         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
93557         Skip "" directory entries.
93558         Use strlen to calculate directory entry length, since the old method
93559         is rarely used these days and isn't worth supporting.
93560         Don't use a pointer after freeing it.
93561         Check for integer overflow when calculating allocation size.
93562         Use memcpy to copy entries, instead of stpcpy.
93563         Set errno properly when returning NULL.
93564         Check for readdir error.
93565
93566 2000-06-26  Jim Meyering  <meyering@lucent.com>
93567
93568         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
93569
93570 2000-06-25  Jim Meyering  <meyering@lucent.com>
93571
93572         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
93573         Linux header bug when _XOPEN_SOURCE is defined to 500.
93574
93575 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
93576
93577         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
93578         deficiency.
93579
93580 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
93581
93582         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
93583         Include xalloc.h.
93584         Don't include <stdlib.h>.  Don't declare malloc, realloc.
93585
93586 2000-06-24  Jim Meyering  <meyering@lucent.com>
93587
93588         * m4/strerror_r.m4: Revive this file -- to try out an experimental
93589         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
93590         for which strerror does return char*, but which lacks a conveniently
93591         accessible declaration of the function.  If the compile-test says
93592         strerror_r doesn't work, then resort to a `run'-test that works on
93593         BeOS and segfaults on DEC Unix.
93594
93595 2000-06-24  Jim Meyering  <meyering@lucent.com>
93596
93597         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
93598
93599 2000-06-23  Paul Eggert  <eggert@twinsun.com>
93600
93601         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
93602         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
93603
93604 2000-06-23  Paul Eggert  <eggert@twinsun.com>
93605
93606         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
93607         (mbrtowc, mbstate_t): Define substitutes if
93608         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
93609         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
93610         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
93611
93612 2000-06-23  Jim Meyering  <meyering@lucent.com>
93613
93614         * m4/afs.m4: Add missing AC_MSG_RESULT.
93615         Reported by Bruno Haible.
93616
93617         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
93618         Suggestion from Bruno Haible.
93619
93620 2000-06-23  Jim Meyering  <meyering@lucent.com>
93621
93622         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
93623
93624 2000-06-21  Jim Meyering  <meyering@lucent.com>
93625
93626         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
93627
93628 2000-06-21  Jim Meyering  <meyering@lucent.com>
93629
93630         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
93631         (noinst_HEADERS): Add getstr.h.
93632
93633         * lib/getline.c (getstr): Move into a separate file.
93634         * lib/getstr.c (getstr): New file, extracted from getline.c, with
93635         the following changes: new parameter, delim2; both delim[12]
93636         parameters have type `int', not `char'.  The latter would lose
93637         with 8-bit delimiters.
93638         * lib/getstr.h: New file.
93639
93640 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
93641
93642         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
93643         than 1024, return a memory chunk of least possible size, instead
93644         of size PATH_MAX + 2. In the loop, increment the size proportionally.
93645         Use free/xmalloc instead of xrealloc to avoid copying for very long
93646         paths.
93647
93648 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
93649
93650         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
93651         the empty string.
93652
93653 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
93654
93655         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
93656         address, not strdup.  Include <stdlib.h> and don't declare free().
93657
93658 2000-06-19  Jim Meyering  <meyering@lucent.com>
93659
93660         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
93661
93662 2000-06-18  Jim Meyering  <meyering@lucent.com>
93663
93664         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
93665
93666         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
93667         `checking whether...' message to be consistent with that of the
93668         lstat test.
93669
93670 2000-06-18  Jim Meyering  <meyering@lucent.com>
93671
93672         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
93673         Besides, these days every porting target provides a mkdir function.
93674
93675         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
93676         needed. (this snippet comes from src/system.h).
93677
93678 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
93679
93680         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
93681
93682 2000-06-15  Paul Eggert  <eggert@twinsun.com>
93683
93684         * lib/human.c (adjust_value): New function.
93685         (human_readable_inexact): Apply rounding style even when
93686         printing approximate values.
93687
93688 2000-06-14  Paul Eggert  <eggert@twinsun.com>
93689
93690         * lib/human.c (human_readable_inexact): Allow an input block
93691         size that is not a multiple of the output block size, and vice versa.
93692         Reported by Piergiorgio Sartor.
93693
93694 2000-06-14  Paul Eggert  <eggert@twinsun.com>
93695
93696         * lib/getdate.y (get_date): Apply relative times after time
93697         zone indicator, not before.  Reported by Todd A. Jacobs.
93698
93699 2000-06-13  Jim Meyering  <meyering@lucent.com>
93700
93701         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
93702
93703         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
93704
93705 2000-06-12  Paul Eggert  <eggert@twinsun.com>
93706
93707         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
93708
93709 2000-06-12  Jim Meyering  <meyering@lucent.com>
93710
93711         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
93712         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
93713         optional argument.
93714         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
93715         the optional argument, `lib'.
93716
93717 2000-06-08  Jim Meyering  <meyering@lucent.com>
93718
93719         * m4/largefile.m4: Remove file (now that it's part of autoconf).
93720
93721 2000-06-04  Paul Eggert  <eggert@twinsun.com>
93722
93723         Rewrite largefile configuration so that we don't need to run
93724         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
93725         AC_CANONICAL_HOST in configure.in -- jmm]
93726
93727         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
93728         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
93729         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
93730         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
93731         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
93732         All uses changed.
93733         Instead of inspecting the output of getconf, try to compile the
93734         test program without and with the macro definition.
93735         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
93736         for getconf.  Instead, check for the needed flags by compiling
93737         test programs.
93738
93739 2000-06-04  Paul Eggert  <eggert@twinsun.com>
93740
93741         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
93742
93743 2000-06-04  Jim Meyering  <meyering@lucent.com>
93744
93745         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
93746         SunOS 4.1.4 for which gid_t is an unsigned type.
93747
93748 2000-06-03  Jim Meyering  <meyering@lucent.com>
93749
93750         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
93751         now that autoconf requires that.
93752
93753         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
93754         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
93755         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
93756
93757 2000-06-03  Jim Meyering  <meyering@lucent.com>
93758
93759         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
93760
93761 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
93762
93763         * m4/glibc21.m4: New file.
93764         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
93765
93766 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
93767
93768         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
93769         newer, don't install charset.alias.
93770         * lib/config.charset: Change the Linux/glibc rules so they become empty
93771         on glibc-2.1 or newer.
93772
93773 2000-06-02  Jim Meyering  <meyering@lucent.com>
93774
93775         * lib/mountlist.c: Back out last change.  Instead, do this...
93776         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
93777         me_dummy member using the same `ignore'-testing code.
93778         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
93779         fs_type strings.
93780         From Mark D. Roth.
93781
93782 2000-05-29  Jim Meyering  <meyering@lucent.com>
93783
93784         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
93785         mounts with the `ignore' attribute.  Based on a patch from
93786         Mark D. Roth.
93787
93788 2000-05-28  Jim Meyering  <meyering@lucent.com>
93789
93790         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
93791         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
93792         * m4/stat.m4: Likewise.
93793         * m4/lstat.m4: Likewise.
93794         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
93795
93796         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
93797         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
93798
93799 2000-05-26  Jim Meyering  <meyering@lucent.com>
93800
93801         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
93802
93803 2000-05-24  Jim Meyering  <meyering@lucent.com>
93804
93805         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
93806         autoconf requires that.
93807         * m4/lib-check.m4: Likewise.
93808         * m4/jm-macros.m4: Likewise.
93809         * m4/strftime.m4: Likewise.
93810
93811         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
93812         AC_CHECK_DECLS, now that autoconf requires that.
93813
93814 2000-05-22  Jim Meyering  <meyering@lucent.com>
93815
93816         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
93817         * m4/lstat.m4: Likewise.
93818
93819 2000-05-22  Jim Meyering  <meyering@lucent.com>
93820
93821         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
93822
93823 2000-05-20  Jim Meyering  <meyering@lucent.com>
93824
93825         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
93826         (jm_PREREQ): Use it.
93827
93828 2000-05-18  Jim Meyering  <meyering@lucent.com>
93829
93830         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
93831         back, too, since it may have been modified by allocate_entry.
93832         (hash_delete): Rewrite to use neither the assignment operator
93833         nor the comma operator in an if-expression.
93834
93835 2000-05-15  Paul Eggert  <eggert@twinsun.com>
93836
93837         * lib/closeout.c:
93838         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
93839         Remove; no longer needed.
93840         "quotearg.h": Add include.
93841         (file_name): Do not bother to explicitly initialize to NULL; it's less
93842         efficient on some hosts.
93843         (close_stdout_status): Remove test as to whether stdout was already
93844         closed; it breaks for the case "echo x | sort >&-".
93845         Quote file name colons.
93846         Do not assume that _("write error") lacks format strings.
93847
93848 2000-05-15  Jim Meyering  <meyering@lucent.com>
93849
93850         * lib/version-etc.c (version_etc_copyright): Update the copyright
93851         string used in all --version output.
93852
93853 2000-05-14  Jim Meyering  <meyering@lucent.com>
93854
93855         * lib/closeout.c (close_stdout_set_file_name): New function.
93856         (close_stdout_status): Use new file-scoped global.
93857         Return right away if fstat says the stdout file descriptor is invalid.
93858         * lib/closeout.h (close_stdout_set_file_name): Declare.
93859
93860 2000-05-10  Jim Meyering  <meyering@lucent.com>
93861
93862         * lib/closeout.c [default_exit_status]: New file-scoped variable.
93863         (close_stdout_set_status): New function.
93864         * lib/closeout.h (close_stdout_set_status): Declare.
93865
93866 2000-05-09  Jim Meyering  <meyering@lucent.com>
93867
93868         * m4/gettext.m4: Rename this...
93869         * m4/libintl.m4: ...to this.
93870
93871 2000-05-08  Jim Meyering  <meyering@lucent.com>
93872
93873         * lib/long-options.c: Don't include closeout.h.
93874         (parse_long_options): Don't call close_stdout for --version.
93875
93876 2000-05-06  Paul Eggert  <eggert@twinsun.com>
93877
93878         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
93879         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
93880         2.1.3 bug.  This avoids a clash when files like regex.c define
93881         _GNU_SOURCE.
93882
93883 2000-05-06  Jim Meyering  <meyering@lucent.com>
93884
93885         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
93886         (AC_REPLACE_FUNCS): Add strnlen.
93887
93888         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
93889         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
93890
93891         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
93892         AC_SEARCH_LIBS call for nanosleep.
93893         (LIB_NANOSLEEP): Set and AC_SUBST.
93894
93895 2000-05-06  Jim Meyering  <meyering@lucent.com>
93896
93897         * lib/strnlen.c: Undefine __strnlen and strnlen.
93898         [!weak_alias]: Define __strnlen to strnlen.
93899
93900         * lib/atexit.c: New file, from libiberty.
93901
93902 2000-05-06  Jim Meyering  <meyering@lucent.com>
93903
93904         * lib/closeout.c (close_stdout_status): Also check for errors on the
93905         stderr stream.
93906
93907 2000-05-05  Jim Meyering  <meyering@lucent.com>
93908
93909         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
93910         AC_SEARCH_LIBS call for clock_gettime.
93911         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
93912
93913         * m4/search-libs.m4: Update from autoconf.
93914
93915         su doesn't work on Solaris 2.6.
93916         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
93917         <shadow.h>.  Reported by Dragos Harabor.
93918
93919 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
93920
93921         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
93922         memcpy instead of xmalloc, xrealloc, path_concat.
93923         (locale_charset): Treat empty environment variables as absent.
93924         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
93925
93926 2000-05-04  Jim Meyering  <meyering@lucent.com>
93927
93928         * lib/getopt.c: Update from glibc.
93929         * lib/obstack.c: Likewise.
93930         * lib/obstack.h: Likewise.
93931         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
93932         file
93933
93934         * lib/regex.h: Likewise.
93935         * lib/strndup.c: Likewise.
93936         * lib/strnlen.c: New file, from glibc.
93937
93938 2000-05-03  Jim Meyering  <meyering@lucent.com>
93939
93940         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
93941
93942 2000-05-02  Paul Eggert  <eggert@twinsun.com>
93943
93944         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
93945         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
93946         compile-time test, rather than inspecting host and OS, to
93947         decide whether to define _LARGEFILE_SOURCE.
93948
93949 2000-05-01  Jim Meyering  <meyering@lucent.com>
93950
93951         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
93952
93953         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
93954         Based on a patch from Bruno Haible.
93955
93956 2000-05-01  Jim Meyering  <meyering@lucent.com>
93957
93958         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
93959
93960 2000-04-29  Jim Meyering  <meyering@lucent.com>
93961
93962         * lib/path-concat.c: Declare strdup only if it's not defined.
93963         * lib/canon-host.c: Likewise.
93964
93965 2000-04-28  Jim Meyering  <meyering@lucent.com>
93966
93967         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
93968         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
93969         is included first, then limits.h is included by locale.h by libintl.h.
93970         From John David Anglin.
93971
93972 2000-04-25  Jim Meyering  <meyering@lucent.com>
93973
93974         * lib/makepath.c (S_IRWXUGO): Define.
93975         (make_path): Always perform explicit chmod if MODE specifies any
93976         of the `special' permission bits.  Prompted by a bug report against
93977         install from Mate Wierdl and Joost van Baal.
93978
93979 2000-04-18  Jim Meyering  <meyering@lucent.com>
93980
93981         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
93982         (jm_PREREQ): Use it.
93983
93984 2000-04-18  Jim Meyering  <meyering@lucent.com>
93985
93986         * lib/README: New file.
93987
93988         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
93989         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
93990
93991 2000-04-17  Jim Meyering  <meyering@lucent.com>
93992
93993         Get it right :-)
93994         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
93995         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
93996         Suggestion from Akim Demaille.
93997
93998 2000-04-17  Jim Meyering  <meyering@lucent.com>
93999
94000         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
94001         the definition of it to rpl_strftime also defined-away the system's
94002         declaration.
94003
94004 2000-04-15  Jim Meyering  <meyering@lucent.com>
94005
94006         Use `C' to denote so-called `contiguous' files, the same way
94007         that tar does.
94008         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
94009         (ftypelet): Use S_ISCTG.
94010         From Michael Deutschmann.
94011
94012 2000-04-14  Jim Meyering  <meyering@lucent.com>
94013
94014         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
94015         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
94016         clobbered.
94017
94018 2000-04-14  Jim Meyering  <meyering@lucent.com>
94019
94020         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
94021
94022 2000-04-13  Jim Meyering  <meyering@lucent.com>
94023
94024         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
94025         AH_VERBATIM to insert required #ifndef into config.h.in.
94026         Suggestion from Akim Demaille.
94027
94028 2000-04-12  Jim Meyering  <meyering@lucent.com>
94029
94030         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
94031         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
94032         Christian Krackowizer.
94033
94034         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
94035         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
94036         (AC_SYS_LARGEFILE): Require.
94037         (AM_C_PROTOTYPES): Require.
94038
94039 2000-04-08  Jim Meyering  <meyering@lucent.com>
94040
94041         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
94042         names don't conflict.  Reported by Eli Zaretskii.
94043
94044 2000-04-07  Jim Meyering  <meyering@lucent.com>
94045
94046         * lib/putenv.c: Move inclusion of errno.h so it follows that of
94047         sys/types.h, to work around system header problems on AIX 3.2.5.
94048         From Bruno Haible.
94049
94050 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
94051
94052         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
94053         bug.  Deal with the different error behavior of Irix iconv.
94054
94055 2000-04-05  Paul Eggert  <eggert@twinsun.com>
94056
94057         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
94058         IRIX if the installer said otherwise.
94059
94060 2000-04-05  Jim Meyering  <meyering@lucent.com>
94061
94062         Portability tweaks required for ultrix4.3.
94063         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
94064         (jm_CHECK_DECLS): Add getutent to the list of functions.
94065         (_jm_DECL_HEADERS): Add utmpx.h.
94066         From John David Anglin.
94067
94068         * m4/strftime.m4: Back out the 2000-04-02 change.
94069         Instead of that change, simply undefine putenv in the test program.
94070
94071 2000-04-05  Jim Meyering  <meyering@lucent.com>
94072
94073         Portability tweaks required for ultrix4.3.
94074         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
94075         getutent.
94076         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
94077         * lib/canon-host.c: Declare strdup.
94078         * lib/path-concat.c: Likewise.
94079         From John David Anglin.
94080
94081 2000-04-04  Jim Meyering  <meyering@lucent.com>
94082
94083         Be more DOS 8.3-friendly.
94084         * lib/ref-add.sin: Renamed from ref-add.sed.in.
94085         * lib/ref-del.sin: Renamed from ref-del.sed.in.
94086         * lib/Makefile.am: Reflect renaming.
94087         Reported by Eli Zaretskii.
94088
94089         Use a temporary file name that won't clash with `charset.alias'
94090         in the DOS 8.3 name space.
94091         * lib/Makefile.am (charset_tmp): Define.
94092         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
94093         (uninstall-local): Likewise.
94094         Reported by Eli Zaretskii.
94095
94096 2000-04-03  Jim Meyering  <meyering@lucent.com>
94097
94098         * m4/gettext.m4: Fix typo in comment.
94099
94100         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
94101         textutils/configure.in).  Suggestion from Paul Eggert.
94102         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
94103
94104 2000-04-02  Paul Eggert  <eggert@twinsun.com>
94105
94106         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
94107         variable in the shell rather than using putenv, which isn't
94108         portable.  This avoids the configure-time inter-test dependency
94109         on the potentially-renamed putenv function.
94110
94111 2000-03-30  Paul Eggert  <eggert@twinsun.com>
94112
94113         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
94114         before checking struct stat.st_blksize, so that
94115         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
94116
94117 2000-03-29  Paul Eggert  <eggert@twinsun.com>
94118
94119         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
94120         since strftime.c uses HAVE_STRFTIME to decide whether to use
94121         the underlying strftime.
94122
94123 2000-03-29  Paul Eggert  <eggert@twinsun.com>
94124
94125         * lib/time/strftime.c (my_strftime): Make sure we call the system
94126         strftime, not ourselves, when invoking the underlying strftime.
94127
94128 2000-03-24  Jim Meyering  <meyering@lucent.com>
94129
94130         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
94131         (charset_alias): Define.
94132         (install-exec-local): Factor out common code.
94133         (uninstall-local): Split lines longer than 80.
94134         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
94135         (SUFFIXES): Define.
94136         (.sed.in.sed): New rule.  Don't redirect directly to $@.
94137         (CLEANFILES): Add ref-add.sed and ref-del.sed.
94138
94139 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
94140
94141         * lib/config.charset: Output a line containing "Packages using this
94142         file".
94143         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
94144         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
94145         ref-del.sed): New rules.
94146
94147 2000-03-17  Jim Meyering  <meyering@lucent.com>
94148
94149         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
94150         Otherwise, include <strings.h>
94151
94152 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
94153
94154         * lib/unicodeio.c (utf8_wctomb): New function.
94155         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
94156         format instead of in UCS-4 with platform dependent endianness.
94157
94158 2000-03-10  Jim Meyering  <meyering@lucent.com>
94159
94160         * m4/lib-check.m4: Look for getspnam in -lgen, too.
94161         From Marco Franzen.
94162
94163 2000-03-07  Paul Eggert  <eggert@twinsun.com>
94164
94165         * lib/savedir.c (savedir): Work even if directory size is
94166         negative; this can happen with some screwy NFS configurations.
94167
94168 2000-03-06  Jim Meyering  <meyering@lucent.com>
94169
94170         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
94171         if it's NULL (because we ran out of memory).  From Bruno Haible.
94172
94173 2000-03-05  Jim Meyering  <meyering@lucent.com>
94174
94175         * lib/localcharset.c ("path-concat.h"): Include.
94176         (get_charset_aliases): Use path_concat instead of ANSI string
94177         concatenation.
94178
94179         * lib/unicodeio.h (PARAMS): Define.
94180         Use it to guard prototype.
94181
94182 2000-03-04  Jim Meyering  <meyering@lucent.com>
94183
94184         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
94185         for lib/localcharset.c.
94186
94187 2000-03-04  Jim Meyering  <meyering@lucent.com>
94188
94189         * lib/Makefile.am (install-exec-local): Create $(libdir) before
94190         installing into it.
94191         (uninstall-local): Uncomment this rule so `make distcheck' works
94192         once again.
94193
94194         * lib/unicodeio.c (<errno.h>): Include it.
94195         (errno): Declare if not defined.
94196
94197         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
94198
94199         * lib/config.charset: New version, incorporating remarks from a linux
94200         i18n mailing list.  From Bruno Haible.
94201
94202 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
94203
94204         * m4/codeset.m4: New file.
94205         * m4/iconv.m4: New file.
94206         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
94207
94208 2000-03-03  Jim Meyering  <meyering@lucent.com>
94209
94210         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
94211
94212 2000-03-02  Jim Meyering  <meyering@lucent.com>
94213
94214         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
94215         the messages come out on separate lines.
94216
94217         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
94218         rather than jm_CHECK_DECLARATIONS.
94219         * m4/decl.m4: Remove now-unused file.
94220
94221         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
94222         geteuid.
94223
94224 2000-03-02  Jim Meyering  <meyering@lucent.com>
94225
94226         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
94227
94228 2000-03-01  Jim Meyering  <meyering@lucent.com>
94229
94230         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
94231         * lib/unicodeio.c: Likewise.
94232
94233 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
94234
94235         * lib/config.charset: New file.
94236         * lib/localcharset.c: New file.
94237         * lib/unicodeio.h, lib/unicodeio.c: New files.
94238         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
94239         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
94240         (noinst_HEADERS): Add unicodeio.h.
94241         (all-local, install-exec-local, charset.alias): New targets.
94242
94243 2000-02-28  Paul Eggert  <eggert@twinsun.com>
94244
94245         * lib/quotearg.c (ALERT_CHAR): New macro.
94246         (quotearg_buffer_restyled): Use it.
94247
94248 2000-02-27  Jim Meyering  <meyering@lucent.com>
94249
94250         * m4/check-decl.m4: Add getenv to the list.
94251
94252 2000-02-27  Jim Meyering  <meyering@lucent.com>
94253
94254         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
94255         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
94256
94257         * lib/backupfile.c: Guard inclusion of stdlib.h with
94258         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
94259         Declare malloc if needed.
94260
94261         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
94262         `#ifndef HAVE_DECL..'
94263         now that autoconf always defines the HAVE_DECL_ symbols.
94264         * lib/human.c: Likewise.
94265         * lib/same.c: Likewise.
94266         * lib/strtoumax.c: Likewise.
94267
94268         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
94269         declaration check was not run.
94270         * lib/hash.c: Likewise.
94271         * lib/human.c: Likewise.
94272         * lib/same.c: Likewise.
94273         * lib/strtoumax.c: Likewise.
94274
94275         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
94276         `.', then first look up the entire `.'-containing string as a login
94277         name.
94278
94279 2000-02-23  Jim Meyering  <meyering@lucent.com>
94280
94281         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
94282         in place of my hack.
94283
94284 2000-02-18  Paul Eggert  <eggert@twinsun.com>
94285
94286         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
94287         (textint): New typedef.
94288         (parser_control): Member year changed from int to textint.
94289         All uses changed.
94290         (YYSTYPE): Removed; replaced by %union with int and textint members.
94291         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
94292         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
94293         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
94294         (tSNUMBER, tUNUMBER): Now of type <textintval>.
94295         (date, number, to_year): Use width of number in digits, not its value,
94296         to determine whether it's a 2-digit year, or a 2-digit time.
94297         (yylex): Store number of digits of numeric tokens.
94298         Reported by John Kendall.
94299
94300         (parser_control): Changed from struct parser_control to typedef (for
94301         consistency).  All uses changed.
94302
94303         (tID): Removed; not used.
94304         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
94305
94306 2000-02-14  Paul Eggert  <eggert@twinsun.com>
94307
94308         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
94309         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
94310
94311 2000-02-12  Jim Meyering  <meyering@lucent.com>
94312
94313         * lib/userspec.c (ISDIGIT): Define it.
94314         (isdigit): Remove definition.
94315         (is_number): Use ISDIGIT, not isdigit.
94316         <libintl.h>: Include.
94317         (_ and N_): Define.
94318         (parse_user_spec): Mark translatable strings.
94319
94320 2000-02-10  Jim Meyering  <meyering@lucent.com>
94321
94322         With these changes, nanosleep.[ch] are finally enough like the other
94323         lib/* replacement files to compile on a few more losing systems.
94324
94325         * lib/nanosleep.h: Don't include config.h.
94326         Remove prototype from declaration of nanosleep.
94327         (PARAMS): Remove now-unneeded definition.
94328         * lib/nanosleep.c: #undef nanosleep.
94329         (rpl_nanosleep): Rename from nanosleep.
94330
94331 2000-02-10  Jim Meyering  <meyering@lucent.com>
94332
94333         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
94334         gnu_nanosleep to rpl_nanosleep.
94335
94336 2000-02-09  Jim Meyering  <meyering@lucent.com>
94337
94338         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
94339         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
94340
94341 2000-02-08  Akim Demaille  <akim@epita.fr>
94342
94343         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
94344         `[' and `]' and remove uses of `changequote'.
94345         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
94346         (AC_SYS_LARGEFILE): Likewise.
94347         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
94348         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
94349         of changequote.
94350         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
94351         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
94352         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
94353         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
94354
94355 2000-02-05  Jim Meyering  <meyering@lucent.com>
94356
94357         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
94358         Remove explicit use of AC_HEADER_TIME.  It is required by
94359         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
94360         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
94361         in autoconf whereby the expansion of the latter ended up preceding
94362         the expansion of its prerequisite, AC_HEADER_TIME.
94363         Reported by Volker Borchert.
94364
94365 2000-02-03  Jim Meyering  <meyering@lucent.com>
94366
94367         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
94368
94369 2000-02-03  Jim Meyering  <meyering@lucent.com>
94370
94371         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
94372         rather than with `#if HAVE_UTMPNAME'.
94373
94374 2000-02-02  Jim Meyering  <meyering@lucent.com>
94375
94376         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
94377         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
94378         Reported by Eli Zaretskii.
94379
94380 2000-02-01  Jim Meyering  <meyering@lucent.com>
94381
94382         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
94383
94384 2000-01-31  Jim Meyering  <meyering@lucent.com>
94385
94386         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
94387         functions.  Add the time.h and sys/time.h headers along with the
94388         AC_REQUIRE'ment of AC_HEADER_TIME.
94389
94390 2000-01-31  Jim Meyering  <meyering@lucent.com>
94391
94392         * lib/nanosleep.h (nanosleep): Guard declaration with
94393         `#if ! HAVE_DECL_NANOSLEEP'.
94394         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
94395         the declaration in that vendor's sys/timers.h.
94396         Reported by Christian Krackowizer.
94397
94398         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
94399         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
94400         (ISPRINT): Likewise.
94401         Reported by Tom Tromey.
94402
94403 2000-01-30  Jim Meyering  <meyering@lucent.com>
94404
94405         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
94406
94407         * m4/prereq.m4 (utmp_includes): Define.
94408         Check for ut_user and ut_name members in both struct utmpx
94409         and struct utmp.
94410
94411 2000-01-30  Jim Meyering  <meyering@lucent.com>
94412
94413         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
94414         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
94415         header files where only utmpx.ut_user is declared.
94416
94417         * lib/readutmp.h (UT_USER): Define.
94418
94419 2000-01-29  Jim Meyering  <meyering@lucent.com>
94420
94421         * m4/lib-check.m4: New file containing library-related checks from
94422         fileutils and sh-utils (textutils had none).
94423
94424 2000-01-28  Jim Meyering  <meyering@lucent.com>
94425
94426         * m4/perl.m4: Change format of warning message to look more like that
94427         from the missing script.  Suggestion from François Pinard.
94428
94429 2000-01-25  Jim Meyering  <meyering@lucent.com>
94430
94431         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
94432         well as time.h in the compile check.
94433         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
94434         Fix typo in cross-compiling case: s/yes/no/.
94435
94436 2000-01-23  Jim Meyering  <meyering@lucent.com>
94437
94438         * m4/jm-macros.m4: Move df-related tests here from
94439         fileutils/configure.in
94440
94441         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
94442         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
94443
94444         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
94445         s/space/ac_fsusage_space/.
94446         (jm_FILE_SYSTEM_USAGE): Take two parameters.
94447
94448         * m4/ftruncate.m4: New file (derived from part of
94449         fileutils/configure.in).
94450         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
94451         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
94452
94453         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
94454         AC_SUBST these here, rather than just in sh-util/configure.in, so
94455         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
94456         all the same.
94457         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
94458         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
94459         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
94460         (AC_SUBST(POW_LIBM)): Likewise.
94461         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
94462
94463 2000-01-23  Jim Meyering  <meyering@lucent.com>
94464
94465         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
94466         obstack.c.
94467
94468 2000-01-22  Jim Meyering  <meyering@lucent.com>
94469
94470         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
94471
94472         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
94473
94474         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
94475         configure.in
94476         (AC_CHECK_HEADERS): Likewise for sh-utils.
94477         (AC_CHECK_HEADERS): Likewise for textutils.
94478         Merge the three lists of headers.
94479
94480         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
94481         from fileutils' configure.in.
94482
94483         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
94484         code. Moved tests into their own function (_jm_DECL_HEADERS) in
94485         check-decl.m4.
94486
94487         * m4/check-decl.m4: Use #if rather than #ifdef.
94488         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
94489         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
94490         (_jm_DECL_HEADERS): Define new function.
94491         (jm_CHECK_DECLARATIONS): Require it.
94492
94493 2000-01-22  Jim Meyering  <meyering@lucent.com>
94494
94495         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
94496         [! HAVE_DECL_STRTOULL]: Declare strtoull.
94497         Required for some AIX systems.  Reported by Christian Krackowizer.
94498         [TESTING] (main): New function.
94499
94500         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
94501         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
94502         letters.
94503
94504         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
94505         iswprint.
94506
94507         * lib/strverscmp.c (ISDIGIT): Define.
94508         (strverscmp): Use ISDIGIT, not isdigit.
94509
94510 2000-01-19  Jim Meyering  <meyering@lucent.com>
94511
94512         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
94513         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
94514         defines `struct timespec' in <sys/time.h>
94515
94516         * m4/c-bs-a.m4: Remove uses of changequote altogether.
94517         Thanks to Akim for explaining.
94518
94519 2000-01-17  Paul Eggert  <eggert@twinsun.com>
94520
94521         * lib/nanosleep.c (nanosleep):
94522         Don't use SA_INTERRUPT to decide whether to call sigaction, as
94523         POSIX.1 doesn't require SA_INTERRUPT and some systems
94524         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
94525         it's been part of POSIX.1 since day 1 (in 1988).
94526
94527 2000-01-17  Jim Meyering  <meyering@lucent.com>
94528
94529         * lib/interlock: Remove unused file.  Reported by François Pinard.
94530
94531 2000-01-16  Paul Eggert  <eggert@twinsun.com>
94532
94533         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
94534         alert, backslash, formfeed, and vertical tab unnecessarily in
94535         shell quoting style.
94536
94537 2000-01-16  Jim Meyering  <meyering@lucent.com>
94538
94539         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
94540         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
94541         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
94542         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
94543
94544 2000-01-16  Jim Meyering  <meyering@lucent.com>
94545
94546         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
94547         because the latter didn't work.
94548
94549 2000-01-15  Jim Meyering  <meyering@lucent.com>
94550
94551         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
94552         (AC_REPLACE_FUNCS): Add memcpy and memset.
94553         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
94554         Add strpbrk.
94555         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
94556
94557 2000-01-12  Jim Meyering  <meyering@lucent.com>
94558
94559         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
94560         (jm_PREREQ): Use it.
94561         (jm_PREREQ_READUTMP): New macro.
94562         (jm_PREREQ): Use it.
94563
94564 2000-01-11  Paul Eggert  <eggert@twinsun.com>
94565
94566         Quote multibyte characters correctly.
94567         * m4/c-bs-a.m4: New file.
94568         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
94569         (jm_PREREQ): Use it.
94570
94571 2000-01-11  Paul Eggert  <eggert@twinsun.com>
94572
94573         * m4/uintmax_t.m4: Port to autoconf 2.13.
94574
94575 2000-01-08  Jim Meyering  <meyering@ascend.com>
94576
94577         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
94578         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
94579
94580 2000-01-04  Jim Meyering  <meyering@ascend.com>
94581
94582         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
94583         jm_STRUCT_DIRENT_D_TYPE.
94584         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
94585         jm_STRUCT_DIRENT_D_INO.
94586         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
94587         jm_STRUCT_UTIMBUF.
94588         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
94589         renamings.
94590         * m4/utime.m4: Likewise.
94591
94592         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
94593         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
94594
94595 2000-01-03  Paul Eggert  <eggert@twinsun.com>
94596
94597         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
94598         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
94599
94600 2000-01-02  Jim Meyering  <meyering@ascend.com>
94601
94602         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
94603         remember if this is necessary.
94604
94605 1999-12-26  Jim Meyering  <meyering@ascend.com>
94606
94607         * m4/jm-macros.m4: Use it here.
94608         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
94609
94610 1999-12-23  Jim Meyering  <meyering@ascend.com>
94611
94612         * m4/jm-macros.m4: Check for clock_gettime (moved from
94613         fileutils/configure.in)
94614         Check for gettimeofday.
94615
94616 1999-12-20  Jim Meyering  <meyering@ascend.com>
94617
94618         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
94619         autoconf-2.14a-1999-12-20.
94620
94621 1999-12-19  Jim Meyering  <meyering@ascend.com>
94622
94623         * m4/lstat-slash.m4: New file.
94624         * m4/jm-macros.m4: Use the new macro:
94625         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
94626
94627 1999-12-07  Jim Meyering  <meyering@ascend.com>
94628
94629         * m4/perl.m4: Require that File::Compare be available, too.
94630         Too many systems seem to lack it.
94631
94632         * m4/strftime.m4: Add checks for most of the cpp macros tested in
94633         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
94634
94635 1999-11-18  Paul Eggert  <eggert@twinsun.com>
94636
94637         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
94638         problem with the QNX 4.25 shell, which doesn't propagate exit
94639         status of failed commands inside shell assignments.
94640
94641 1999-11-17  Jim Meyering  <meyering@ascend.com>
94642
94643         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
94644
94645 1999-11-07  Jim Meyering  <meyering@ascend.com>
94646
94647         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
94648
94649 1999-11-06  Jim Meyering  <meyering@ascend.com>
94650
94651         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
94652         * m4/jm-macros.m4 (jm_MACROS): Use it here.
94653
94654 1999-11-05  Jim Meyering  <meyering@ascend.com>
94655
94656         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
94657         configure.in of textutils, fileutils, and sh-utils into this one
94658         (shared between those packages) file.
94659         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
94660         AC_STRUCT_ST_BLKSIZE.
94661
94662 1999-11-03  Jim Meyering  <meyering@ascend.com>
94663
94664         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
94665         of AC_CHECK_TYPE checks includes unistd.h.
94666         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
94667         Suggestion from Akim Demaille.
94668
94669 1999-10-30  Jim Meyering  <meyering@ascend.com>
94670
94671         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
94672         m4-quoted string.
94673         * m4/ls-mntd-fs.m4: Likewise.
94674         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
94675         * m4/jm-winsz1.m4: Likewise.
94676
94677         * m4/const.m4: Remove file, since the fix made it into the experimental
94678         version of autoconf.
94679         * m4/mktime.m4: Likewise.
94680
94681         * m4/check-type.m4: Remove file, now that the latest version of
94682         AC_CHECK_TYPE takes a third arg to specify additional #includes.
94683
94684         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
94685         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
94686         AC_CHECK_TYPE.
94687
94688 1999-10-04  Jim Meyering  <meyering@ascend.com>
94689
94690         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
94691
94692 1999-09-22  Paul Eggert  <eggert@twinsun.com>
94693
94694         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
94695         2.95.1 bug with HP-UX 10.20.
94696
94697 1999-09-17  Jim Meyering  <meyering@ascend.com>
94698
94699         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
94700         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
94701         due to missing strdup (against sh-utils-2.0).
94702
94703 1999-08-29  Jim Meyering  <meyering@ascend.com>
94704
94705         * m4/jm-macros.m4: Require jm_BISON.
94706         * m4/bison.m4: New file.
94707
94708 1999-08-17  Paul Eggert  <eggert@twinsun.com>
94709
94710         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
94711         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
94712
94713 1999-08-05  Jim Meyering  <meyering@ascend.com>
94714
94715         * m4/getline.m4: Rename test file from conftestdata to conftest.data
94716         to avoid conflicts with `conftest' on 8+3 filesystems.
94717         Suggestion from Eli Zaretskii.
94718
94719 1999-08-04  Jim Meyering  <meyering@ascend.com>
94720
94721         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
94722         fileutils and sh-utils (textutils's getline test was inadequate).
94723         (AM_FUNC_GETLINE): Run this test.
94724         (AC_CHECK_FUNCS): Check for getdelim.
94725         Reported by Bob Proulx.
94726
94727 1999-08-02  Jim Meyering  <meyering@ascend.com>
94728
94729         * m4/jm-macros.m4: Add a comment.
94730
94731 1999-08-01  Paul Eggert  <eggert@twinsun.com>
94732
94733         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
94734         <inttypes.h> defines strtoumax as a macro (and not as a
94735         function).
94736
94737 1999-08-01  Paul Eggert  <eggert@twinsun.com>
94738
94739         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
94740         that we can shift, multiply and divide unsigned long long
94741         values; Ultrix cc can't do it.
94742
94743 1999-08-01  Paul Eggert  <eggert@twinsun.com>
94744
94745         * m4/mktime.m4: New file, which is a preview of what should appear
94746         in the next public autoconf release.
94747
94748 1999-08-01  Paul Eggert  <eggert@twinsun.com>
94749
94750         * m4/lfs.m4: Remove this file.
94751         * m4/largefile.m4: New file.  It contains the old contents of
94752         lfs.m4, except that all names with prefix AC_LFS have been
94753         changed to use the prefix AC_SYS_LARGEFILE instead, to be
94754         compatible with future autoconf versions.  Also, some minor m4
94755         quoting problems have been fixed.
94756
94757 1999-08-01  Paul Eggert  <eggert@twinsun.com>
94758
94759         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
94760         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
94761         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
94762         and simplify the shell code.
94763
94764 1999-08-01  Jim Meyering  <meyering@ascend.com>
94765
94766         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
94767         m4.
94768
94769 1999-07-20  Jim Meyering  <meyering@ascend.com>
94770
94771         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
94772
94773 1999-07-15  Jim Meyering  <meyering@ascend.com>
94774
94775         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
94776
94777 1999-05-22  Jim Meyering  <meyering@ascend.com>
94778
94779         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
94780
94781 1999-05-20  Jim Meyering  <meyering@ascend.com>
94782
94783         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
94784         Add a colon after each `then' in case $4 is empty.
94785
94786 1999-05-16  Jim Meyering  <meyering@ascend.com>
94787
94788         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
94789
94790 1999-05-10  Jim Meyering  <meyering@ascend.com>
94791
94792         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
94793
94794         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
94795         AC_FUNC_MKTIME.
94796
94797 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
94798
94799         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
94800
94801 1999-05-04  Paul Eggert  <eggert@twinsun.com>
94802
94803         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
94804         not CPPFLAGS, so that linking works correctly in IRIX.
94805
94806 1999-04-30  Paul Eggert  <eggert@twinsun.com>
94807
94808         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
94809
94810 1999-04-20  Paul Eggert  <eggert@twinsun.com>
94811
94812         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
94813         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
94814         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
94815         jm_AC_TYPE_UNSIGNED_LONG_LONG.
94816         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
94817
94818         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
94819
94820 1999-04-20  Jim Meyering  <meyering@ascend.com>
94821
94822         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
94823         AC_REPLACE xstroull if necessary.  From Paul Eggert.
94824         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
94825
94826 1999-04-18  Jim Meyering  <meyering@ascend.com>
94827
94828         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
94829         * m4/jm-macros.m4: Use it.
94830
94831 1999-04-06  Jim Meyering  <meyering@ascend.com>
94832
94833         * m4/strftime.m4: Remove test for %f.
94834
94835 1999-03-29  Jim Meyering  <meyering@ascend.com>
94836
94837         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
94838         superset of the AC_TYPE_* checks in the textutils, fileutils,
94839         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
94840         AC_TYPE_PID_T.
94841
94842 1999-03-28  Jim Meyering  <meyering@ascend.com>
94843
94844         * m4/jm-macros.m4: Define GNU_PACKAGE here.
94845         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
94846         replaced e.g., in the *.sh files of the sh-utils.
94847
94848 1999-03-20  Jim Meyering  <meyering@ascend.com>
94849
94850         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
94851         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
94852         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
94853
94854 1999-03-19  Jim Meyering  <meyering@ascend.com>
94855
94856         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
94857
94858 1999-03-12  Jim Meyering  <meyering@ascend.com>
94859
94860         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
94861
94862 1999-03-07  Jim Meyering  <meyering@ascend.com>
94863
94864         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
94865         declared.
94866
94867 1999-02-17  Jim Meyering  <meyering@ascend.com>
94868
94869         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
94870         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
94871
94872 1999-02-07  Jim Meyering  <meyering@ascend.com>
94873
94874         * m4/group-member.m4: New file -- extracted from sh-utils'
94875         configure.in.
94876
94877         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
94878         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
94879
94880 1999-02-06  Jim Meyering  <meyering@ascend.com>
94881
94882         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
94883         * m4/fnmatch.m4: Likewise.
94884         * m4/getgroups.m4: Likewise.
94885         * m4/lstat.m4: Likewise.
94886         * m4/malloc.m4: Likewise.
94887         * m4/putenv.m4: Likewise.
94888         * m4/realloc.m4: Likewise.
94889         * m4/regex.m4: Likewise.
94890         * m4/stat.m4: Likewise.
94891         * m4/strftime.m4: Likewise.
94892         Suggestion from Alain Magloire.
94893
94894         * m4/chown.m4: Use `.$ac_objext', not `.o'.
94895         * m4/fnmatch.m4: Likewise.
94896         * m4/getgroups.m4: Likewise.
94897         * m4/getline.m4: Likewise.
94898         * m4/lstat.m4: Likewise.
94899         * m4/malloc.m4: Likewise.
94900         * m4/memcmp.m4: Likewise.
94901         * m4/putenv.m4: Likewise.
94902         * m4/realloc.m4: Likewise.
94903         * m4/regex.m4: Likewise.
94904         * m4/stat.m4: Likewise.
94905         * m4/strftime.m4: Likewise.
94906         Suggestion from Alain Magloire.
94907
94908         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
94909         an argument.
94910
94911         * m4/regex.m4: Add a run-time Test for proper operation of
94912         re_compile_pattern.
94913
94914 1999-01-31  Jim Meyering  <meyering@ascend.com>
94915
94916         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
94917
94918 1999-01-30  Jim Meyering  <meyering@ascend.com>
94919
94920         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
94921
94922         * m4/jm-mktime.m4: Make this a wrapper around the official
94923         AM_FUNC_MKTIME rather than my private copy, now that the official one
94924         is up to date.
94925         * m4/mktime.m4: Remove file.
94926
94927         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
94928         * m4/uptime.m4: Likewise.
94929         * m4/uintmax_t.m4: Likewise.
94930
94931 1999-01-28  Jim Meyering  <meyering@ascend.com>
94932
94933         * m4/jm-macros.m4: Use jm_AFS.
94934         * m4/afs.m4: New file (from fileutils' configure.in).
94935
94936         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
94937         * m4/chown.m4: Likewise.
94938         * m4/d-ino.m4: Likewise.
94939         * m4/d-type.m4: Likewise.
94940         * m4/fnmatch.m4: Likewise.
94941         * m4/getgroups.m4: Likewise.
94942         * m4/gettext.m4: Likewise.
94943         * m4/jm-mktime.m4: Likewise.
94944         * m4/jm-winsz2.m4: Likewise.
94945         * m4/lcmessage.m4: Likewise.
94946         * m4/ls-mntd-fs.m4: Likewise.
94947         * m4/malloc.m4: Likewise.
94948         * m4/memcmp.m4: Likewise.
94949         * m4/putenv.m4: Likewise.
94950         * m4/realloc.m4: Likewise.
94951         * m4/st_mtim.m4: Likewise.
94952         * m4/strftime.m4: Likewise.
94953
94954 1999-01-16  Jim Meyering  <meyering@ascend.com>
94955
94956         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
94957         (ARGMATCH_DIE_DECL): Define.
94958
94959 1999-01-12  Jim Meyering  <meyering@ascend.com>
94960
94961         * m4/Makefile.am.in: Rewrite to avoid using fmt.
94962         Reported by Lars Hecking.
94963
94964 1999-01-10  Jim Meyering  <meyering@ascend.com>
94965
94966         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
94967         gross kludge.
94968         * m4/inttypes_h.m4: Likewise.
94969         * m4/lstat.m4: Likewise.
94970         * m4/malloc.m4: Likewise.
94971         * m4/readdir.m4: Likewise.
94972         * m4/realloc.m4: Likewise.
94973         * m4/st_dm_mode.m4: Likewise.
94974         * m4/stat.m4: Likewise.
94975         * m4/utimbuf.m4: Likewise.
94976         * m4/utimes.m4: Likewise.
94977
94978         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
94979         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
94980         comments in config.h.in are meaningful.
94981
94982         * m4/jm-macros.m4: Require autoconf-2.13 here.
94983
94984         * m4/regex.m4: By default, don't use the included regex.c on systems
94985         with glibc 2.  Suggestion from Uli Drepper.
94986
94987 1999-01-02  Jim Meyering  <meyering@ascend.com>
94988
94989         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
94990
94991 1998-12-18  Jim Meyering  <meyering@ascend.com>
94992
94993         * m4/Makefile.am.in (Makefile.am): Simplify rule.
94994         Based on a suggestion from Lars Hecking.
94995
94996 1998-11-16  Paul Eggert  <eggert@twinsun.com>
94997
94998         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
94999
95000 1998-11-16  Jim Meyering  <meyering@ascend.com>
95001
95002         * m4/lfs.m4: Double-quote the `uname...` expression.
95003
95004 1998-11-14  Jim Meyering  <meyering@ascend.com>
95005
95006         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
95007         * m4/stat.m4: Likewise.
95008
95009 1998-11-03  Jim Meyering  <meyering@ascend.com>
95010
95011         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
95012         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
95013
95014 1998-10-18  Jim Meyering  <meyering@ascend.com>
95015
95016         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
95017
95018 1998-10-17  Jim Meyering  <meyering@ascend.com>
95019
95020         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
95021         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
95022         calls for those previously hard-coded headers.  Instead, take a new
95023         parameter.
95024         (jm_CHECK_DECLARATIONS): Reflect interface change.
95025         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
95026         (jm_CHECK_DECL_LOCALTIME_R): New macro.
95027
95028         * m4/mktime.m4: Test for spring-forward gap before long-running test.
95029
95030 1998-10-14  Jim Meyering  <meyering@ascend.com>
95031
95032         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
95033         instead of "TZ=America/Vancouver".  From Paul Eggert.
95034
95035 1998-10-11  Jim Meyering  <meyering@ascend.com>
95036
95037         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
95038         This adds a test for a recently added compatibility fix for mktime.c.
95039         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
95040
95041 1998-09-27  Jim Meyering  <meyering@ascend.com>
95042
95043         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
95044
95045         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
95046         ../configure.in, including a change from Gordon Matzigkeit to allow
95047         cross-compiling for the Hurd.
95048
95049         * m4/glibc.m4: New file/macro to test for the GNU C Library
95050         versions 1 and 2.  From Gordon Matzigkeit.
95051         Indent.
95052
95053 1998-09-21  Jim Meyering  <meyering@ascend.com>
95054
95055         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
95056
95057 1998-08-18  Paul Eggert  <eggert@twinsun.com>
95058
95059         Port nanosecond-resolution times to UnixWare 2.1.2 and
95060         pedantic Solaris 2.6.
95061
95062         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
95063         AC_STRUCT_ST_MTIM.
95064         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
95065         Generate name of ns member, instead of just 1 or undef.
95066         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
95067
95068 1998-08-15  Jim Meyering  <meyering@ascend.com>
95069
95070         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
95071         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
95072         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
95073         instead of jm_TYPE_SSIZE_T.
95074
95075 1998-08-12  Jim Meyering  <meyering@ascend.com>
95076
95077         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
95078
95079 1998-08-02  Jim Meyering  <meyering@ascend.com>
95080
95081         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
95082         in acconfig.h manually.
95083
95084 1998-07-31  Paul Eggert  <eggert@twinsun.com>
95085
95086         * m4/st_mtim.m4: New file.
95087
95088 1998-07-28  Jim Meyering  <meyering@ascend.com>
95089
95090         * m4/utimes.m4: Undef stat.
95091
95092 1998-07-25  Jim Meyering  <meyering@ascend.com>
95093
95094         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
95095         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
95096
95097 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
95098
95099         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
95100         uid and gid actually remain unchanged.
95101
95102 1998-07-07  Jim Meyering  <meyering@ascend.com>
95103
95104         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
95105
95106 1998-07-04  Jim Meyering  <meyering@ascend.com>
95107
95108         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
95109         to prove that this macro can be used in packages without regex.c.
95110
95111 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
95112
95113         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
95114         is to be used.
95115
95116 1998-07-03  Jim Meyering  <meyering@ascend.com>
95117
95118         * m4/gettext.m4: Add -lintl if it's found to be necessary.
95119
95120         * m4/gettext.m4: New file -- from gettext-0.10.35.
95121         * m4/lcmessage.m4: Likewise.
95122         * m4/progtest.m4: Likewise.
95123
95124         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
95125         * m4/jm-macros.m4: Require the new macro.
95126
95127 1998-06-29  Jim Meyering  <meyering@ascend.com>
95128
95129         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
95130         for the definition of NGROUPS (used in a system header included
95131         by sys/mount.h).
95132
95133 1998-06-28  Jim Meyering  <meyering@ascend.com>
95134
95135         * m4/ls-mntd-fs.m4: New file.
95136         * m4/fstypename.m4: New file.
95137
95138         * m4/jm-macros.m4: Require the new macro.
95139         * m4/jm-glibc-io.m4: New file.
95140
95141 1998-05-19  Jim Meyering  <meyering@ascend.com>
95142
95143         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
95144         * m4/lchown.m4: New file.
95145
95146         * m4/Makefile.am.in: New file.
95147         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
95148
95149 1998-05-14  Jim Meyering  <meyering@ascend.com>
95150
95151         * m4/Makefile.am (EXTRA_DIST): Add them.
95152         * m4/jm-macros.m4: New file.
95153         * m4/utimbuf.m4: New file.
95154
95155 1998-05-12  Jim Meyering  <meyering@ascend.com>
95156
95157         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
95158
95159 1998-05-11  Jim Meyering  <meyering@ascend.com>
95160
95161         * m4/isc-posix.m4: New file.
95162
95163 1998-05-10  Jim Meyering  <meyering@ascend.com>
95164
95165         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
95166
95167 1998-05-09  Jim Meyering  <meyering@ascend.com>
95168
95169         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
95170         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
95171         with automake.
95172
95173         * m4/ssize_t.m4: New file.
95174         * m4/mktime.m4: Remove file -- the new automake has this now.
95175
95176 1998-04-26  Jim Meyering  <meyering@ascend.com>
95177
95178         * m4/assert.m4: New file.
95179         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
95180
95181 1998-04-05  Jim Meyering  <meyering@ascend.com>
95182
95183         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
95184         (jm_PREREQ): Use it here.
95185
95186 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
95187
95188         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
95189         in acconfig.h.
95190
95191 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
95192
95193         * m4/prereq.m4: New file.
95194         * m4/error.m4: New file.
95195         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
95196
95197 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
95198
95199         * m4/getline.m4: Don't set am_cv_func_working_getline before the
95200         cache-check for the same variable -- that defeated the purpose of
95201         the test; the test program was never run.  This was a problem only
95202         on systems with losing getline functions -- HP-UX 10.20 is one.
95203         Reported by Bjorn Helgaas.
95204
95205 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
95206
95207         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
95208
95209 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
95210
95211         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
95212
95213         * m4/const.m4: New file.  Use an initializer in this declaration
95214         typedef int charset[2]; const charset x;
95215         Reported by Bob Glickstein.
95216
95217 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
95218
95219         * m4/chown.m4: Fix reversed types on -1 args to chown.
95220         From Kaveh Ghazi.
95221
95222 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
95223
95224         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
95225         Add lseek and memchr.
95226
95227         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
95228         T.E.Dickey <dickey@clark.net> said that some older preprocessors
95229         have a 20-character limit on names.
95230
95231 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
95232
95233         * m4/inttypes_h.m4: New file.
95234         * m4/uintmax_t.m4: New file.
95235         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
95236
95237
95238         -----
95239
95240         Local Variables:
95241         coding: utf-8
95242         End:
95243
95244         Copyright (C) 1997-2012 Free Software Foundation, Inc.
95245
95246         Copying and distribution of this file, with or without
95247         modification, are permitted provided the copyright notice
95248         and this notice are preserved.